mirror of
https://github.com/roytam1/basilisk55.git
synced 2026-05-26 05:02:25 +00:00
revert most of "Switch working copy to Goanna 4" (https://github.com/MoonchildProductions/moebius/commit/c4895374053ab93b4f365d3e690e99a30ffa1a2f) in order to keep upstream patch applicable
This commit is contained in:
+2
-2
@@ -93,8 +93,8 @@ testing/web-platform/sync/
|
||||
mobile/android/gradle/.gradle
|
||||
|
||||
# XCode project cruft
|
||||
embedding/ios/GoannaEmbed/GoannaEmbed.xcodeproj/project.xcworkspace/xcuserdata
|
||||
embedding/ios/GoannaEmbed/GoannaEmbed.xcodeproj/xcuserdata
|
||||
embedding/ios/GeckoEmbed/GeckoEmbed.xcodeproj/project.xcworkspace/xcuserdata
|
||||
embedding/ios/GeckoEmbed/GeckoEmbed.xcodeproj/xcuserdata
|
||||
|
||||
# Ignore mozharness execution files
|
||||
testing/mozharness/.tox/
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
# and in the accompanying Python scripts, see python/lldbutils/README.txt.
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
# Import the module that defines complex Goanna debugging commands. This assumes
|
||||
# Import the module that defines complex Gecko debugging commands. This assumes
|
||||
# you are either running lldb from the top level source directory, the objdir,
|
||||
# or the dist/bin directory. (.lldbinit files in the objdir and dist/bin set
|
||||
# topsrcdir appropriately.)
|
||||
|
||||
+12
-12
@@ -1,8 +1,8 @@
|
||||
---
|
||||
version: 0
|
||||
metadata:
|
||||
name: 'Taskcluster tasks for Goanna'
|
||||
description: "The taskcluster task graph for Goanna trees"
|
||||
name: 'Taskcluster tasks for Gecko'
|
||||
description: "The taskcluster task graph for Gecko trees"
|
||||
owner: mozilla-taskcluster-maintenance@mozilla.com
|
||||
source: {{{source}}}
|
||||
|
||||
@@ -51,29 +51,29 @@ tasks:
|
||||
metadata:
|
||||
owner: mozilla-taskcluster-maintenance@mozilla.com
|
||||
source: {{{source}}}
|
||||
name: "Goanna Decision Task"
|
||||
name: "Gecko Decision Task"
|
||||
description: |
|
||||
The task that creates all of the other tasks in the task graph
|
||||
|
||||
workerType: "goanna-decision"
|
||||
workerType: "gecko-decision"
|
||||
provisionerId: "aws-provisioner-v1"
|
||||
|
||||
tags:
|
||||
createdForUser: {{owner}}
|
||||
|
||||
routes:
|
||||
- "index.goanna.v2.{{project}}.latest.firefox.decision"
|
||||
- "index.gecko.v2.{{project}}.latest.firefox.decision"
|
||||
- "tc-treeherder.v2.{{project}}.{{revision}}.{{pushlog_id}}"
|
||||
- "tc-treeherder-stage.v2.{{project}}.{{revision}}.{{pushlog_id}}"
|
||||
|
||||
payload:
|
||||
env:
|
||||
# checkout-goanna uses these to check out the source; the inputs
|
||||
# checkout-gecko uses these to check out the source; the inputs
|
||||
# to `mach taskgraph decision` are all on the command line.
|
||||
GOANNA_BASE_REPOSITORY: 'https://hg.mozilla.org/mozilla-unified'
|
||||
GOANNA_HEAD_REPOSITORY: '{{{url}}}'
|
||||
GOANNA_HEAD_REF: '{{revision}}'
|
||||
GOANNA_HEAD_REV: '{{revision}}'
|
||||
GECKO_BASE_REPOSITORY: 'https://hg.mozilla.org/mozilla-unified'
|
||||
GECKO_HEAD_REPOSITORY: '{{{url}}}'
|
||||
GECKO_HEAD_REF: '{{revision}}'
|
||||
GECKO_HEAD_REV: '{{revision}}'
|
||||
HG_STORE_PATH: /home/worker/checkouts/hg-store
|
||||
|
||||
cache:
|
||||
@@ -93,12 +93,12 @@ tasks:
|
||||
# tar.gz archives are created or tc-vcs isn't being used.
|
||||
command:
|
||||
- /home/worker/bin/run-task
|
||||
- '--vcs-checkout=/home/worker/checkouts/goanna'
|
||||
- '--vcs-checkout=/home/worker/checkouts/gecko'
|
||||
- '--'
|
||||
- bash
|
||||
- -cx
|
||||
- >
|
||||
cd /home/worker/checkouts/goanna &&
|
||||
cd /home/worker/checkouts/gecko &&
|
||||
ln -s /home/worker/artifacts artifacts &&
|
||||
./mach --log-no-times taskgraph decision
|
||||
--pushlog-id='{{pushlog_id}}'
|
||||
|
||||
@@ -677,9 +677,9 @@ getRoleCB(AtkObject *aAtkObj)
|
||||
}
|
||||
#endif
|
||||
|
||||
#define ROLE(goannaRole, stringRole, atkRole, macRole, \
|
||||
#define ROLE(geckoRole, stringRole, atkRole, macRole, \
|
||||
msaaRole, ia2Role, nameRule) \
|
||||
case roles::goannaRole: \
|
||||
case roles::geckoRole: \
|
||||
aAtkObj->role = atkRole; \
|
||||
break;
|
||||
|
||||
@@ -1007,7 +1007,7 @@ refRelationSetCB(AtkObject *aAtkObj)
|
||||
ATK_OBJECT_CLASS(parent_class)->ref_relation_set(aAtkObj);
|
||||
|
||||
const AtkRelationType typeMap[] = {
|
||||
#define RELATIONTYPE(goanna, s, atk, m, i) atk,
|
||||
#define RELATIONTYPE(gecko, s, atk, m, i) atk,
|
||||
#include "RelationTypeMap.h"
|
||||
#undef RELATIONTYPE
|
||||
};
|
||||
@@ -1044,8 +1044,8 @@ refRelationSetCB(AtkObject *aAtkObj)
|
||||
if (!accWrap)
|
||||
return relation_set;
|
||||
|
||||
#define RELATIONTYPE(goannaType, goannaTypeName, atkType, msaaType, ia2Type) \
|
||||
UpdateAtkRelation(RelationType::goannaType, accWrap, atkType, relation_set);
|
||||
#define RELATIONTYPE(geckoType, geckoTypeName, atkType, msaaType, ia2Type) \
|
||||
UpdateAtkRelation(RelationType::geckoType, accWrap, atkType, relation_set);
|
||||
|
||||
#include "RelationTypeMap.h"
|
||||
|
||||
|
||||
@@ -35,10 +35,10 @@ toplevel_event_watcher(GSignalInvocationHint* ihint,
|
||||
const GValue* param_values,
|
||||
gpointer data)
|
||||
{
|
||||
static GQuark sQuark_goanna_acc_obj = 0;
|
||||
static GQuark sQuark_gecko_acc_obj = 0;
|
||||
|
||||
if (!sQuark_goanna_acc_obj)
|
||||
sQuark_goanna_acc_obj = g_quark_from_static_string("GoannaAccObj");
|
||||
if (!sQuark_gecko_acc_obj)
|
||||
sQuark_gecko_acc_obj = g_quark_from_static_string("GeckoAccObj");
|
||||
|
||||
if (nsAccessibilityService::IsShutdown())
|
||||
return TRUE;
|
||||
@@ -57,7 +57,7 @@ toplevel_event_watcher(GSignalInvocationHint* ihint,
|
||||
|
||||
// Attach the dialog accessible to app accessible tree
|
||||
Accessible* windowAcc = GetAccService()->AddNativeRootAccessible(child);
|
||||
g_object_set_qdata(G_OBJECT(child), sQuark_goanna_acc_obj,
|
||||
g_object_set_qdata(G_OBJECT(child), sQuark_gecko_acc_obj,
|
||||
reinterpret_cast<gpointer>(windowAcc));
|
||||
|
||||
} else {
|
||||
@@ -65,10 +65,10 @@ toplevel_event_watcher(GSignalInvocationHint* ihint,
|
||||
// Deattach the dialog accessible
|
||||
Accessible* windowAcc =
|
||||
reinterpret_cast<Accessible*>
|
||||
(g_object_get_qdata(G_OBJECT(child), sQuark_goanna_acc_obj));
|
||||
(g_object_get_qdata(G_OBJECT(child), sQuark_gecko_acc_obj));
|
||||
if (windowAcc) {
|
||||
GetAccService()->RemoveNativeRootAccessible(windowAcc);
|
||||
g_object_set_qdata(G_OBJECT(child), sQuark_goanna_acc_obj, nullptr);
|
||||
g_object_set_qdata(G_OBJECT(child), sQuark_gecko_acc_obj, nullptr);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ typedef AtkUtil MaiUtil;
|
||||
typedef AtkUtilClass MaiUtilClass;
|
||||
|
||||
#define MAI_VERSION MOZILLA_VERSION
|
||||
#define MAI_NAME "Goanna"
|
||||
#define MAI_NAME "Gecko"
|
||||
|
||||
extern "C" {
|
||||
static guint (*gail_add_global_event_listener)(GSignalEmissionHook listener,
|
||||
|
||||
@@ -25,16 +25,16 @@ getImagePositionCB(AtkImage* aImage, gint* aAccX, gint* aAccY,
|
||||
AtkCoordType aCoordType)
|
||||
{
|
||||
nsIntPoint pos;
|
||||
uint32_t goannaCoordType = (aCoordType == ATK_XY_WINDOW) ?
|
||||
uint32_t geckoCoordType = (aCoordType == ATK_XY_WINDOW) ?
|
||||
nsIAccessibleCoordinateType::COORDTYPE_WINDOW_RELATIVE :
|
||||
nsIAccessibleCoordinateType::COORDTYPE_SCREEN_RELATIVE;
|
||||
|
||||
AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aImage));
|
||||
if (accWrap && accWrap->IsImage()) {
|
||||
ImageAccessible* image = accWrap->AsImage();
|
||||
pos = image->Position(goannaCoordType);
|
||||
pos = image->Position(geckoCoordType);
|
||||
} else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aImage))) {
|
||||
pos = proxy->ImagePosition(goannaCoordType);
|
||||
pos = proxy->ImagePosition(geckoCoordType);
|
||||
}
|
||||
|
||||
*aAccX = pos.x;
|
||||
|
||||
@@ -31,13 +31,13 @@ ConvertTextAttributeToAtkAttribute(const nsACString& aName,
|
||||
const char* atkName = nullptr;
|
||||
nsAutoString atkValue;
|
||||
if (aName.EqualsLiteral("color")) {
|
||||
// The format of the atk attribute is r,g,b and the goanna one is
|
||||
// The format of the atk attribute is r,g,b and the gecko one is
|
||||
// rgb(r, g, b).
|
||||
atkValue = Substring(aValue, 4, aValue.Length() - 5);
|
||||
atkValue.StripWhitespace();
|
||||
atkName = sAtkTextAttrNames[ATK_TEXT_ATTR_FG_COLOR];
|
||||
} else if (aName.EqualsLiteral("background-color")) {
|
||||
// The format of the atk attribute is r,g,b and the goanna one is
|
||||
// The format of the atk attribute is r,g,b and the gecko one is
|
||||
// rgb(r, g, b).
|
||||
atkValue = Substring(aValue, 4, aValue.Length() - 5);
|
||||
atkValue.StripWhitespace();
|
||||
@@ -353,11 +353,11 @@ getCharacterExtentsCB(AtkText *aText, gint aOffset,
|
||||
}
|
||||
|
||||
nsIntRect rect;
|
||||
uint32_t goannaCoordType;
|
||||
uint32_t geckoCoordType;
|
||||
if (aCoords == ATK_XY_SCREEN) {
|
||||
goannaCoordType = nsIAccessibleCoordinateType::COORDTYPE_SCREEN_RELATIVE;
|
||||
geckoCoordType = nsIAccessibleCoordinateType::COORDTYPE_SCREEN_RELATIVE;
|
||||
} else {
|
||||
goannaCoordType = nsIAccessibleCoordinateType::COORDTYPE_WINDOW_RELATIVE;
|
||||
geckoCoordType = nsIAccessibleCoordinateType::COORDTYPE_WINDOW_RELATIVE;
|
||||
}
|
||||
|
||||
AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aText));
|
||||
@@ -367,9 +367,9 @@ getCharacterExtentsCB(AtkText *aText, gint aOffset,
|
||||
return;
|
||||
}
|
||||
|
||||
rect = text->CharBounds(aOffset, goannaCoordType);
|
||||
rect = text->CharBounds(aOffset, geckoCoordType);
|
||||
} else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
|
||||
rect = proxy->CharBounds(aOffset, goannaCoordType);
|
||||
rect = proxy->CharBounds(aOffset, geckoCoordType);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
@@ -389,11 +389,11 @@ getRangeExtentsCB(AtkText *aText, gint aStartOffset, gint aEndOffset,
|
||||
}
|
||||
|
||||
nsIntRect rect;
|
||||
uint32_t goannaCoordType;
|
||||
uint32_t geckoCoordType;
|
||||
if (aCoords == ATK_XY_SCREEN) {
|
||||
goannaCoordType = nsIAccessibleCoordinateType::COORDTYPE_SCREEN_RELATIVE;
|
||||
geckoCoordType = nsIAccessibleCoordinateType::COORDTYPE_SCREEN_RELATIVE;
|
||||
} else {
|
||||
goannaCoordType = nsIAccessibleCoordinateType::COORDTYPE_WINDOW_RELATIVE;
|
||||
geckoCoordType = nsIAccessibleCoordinateType::COORDTYPE_WINDOW_RELATIVE;
|
||||
}
|
||||
|
||||
AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aText));
|
||||
@@ -403,9 +403,9 @@ getRangeExtentsCB(AtkText *aText, gint aStartOffset, gint aEndOffset,
|
||||
return;
|
||||
}
|
||||
|
||||
rect = text->TextBounds(aStartOffset, aEndOffset, goannaCoordType);
|
||||
rect = text->TextBounds(aStartOffset, aEndOffset, geckoCoordType);
|
||||
} else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
|
||||
rect = proxy->TextBounds(aStartOffset, aEndOffset, goannaCoordType);
|
||||
rect = proxy->TextBounds(aStartOffset, aEndOffset, geckoCoordType);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -11,16 +11,16 @@
|
||||
|
||||
using namespace mozilla::a11y;
|
||||
|
||||
#define ROLE(goannaRole, stringRole, atkRole, macRole, msaaRole, ia2Role, nameRule) \
|
||||
static_assert(static_cast<uint32_t>(roles::goannaRole) \
|
||||
== static_cast<uint32_t>(nsIAccessibleRole::ROLE_ ## goannaRole), \
|
||||
#define ROLE(geckoRole, stringRole, atkRole, macRole, msaaRole, ia2Role, nameRule) \
|
||||
static_assert(static_cast<uint32_t>(roles::geckoRole) \
|
||||
== static_cast<uint32_t>(nsIAccessibleRole::ROLE_ ## geckoRole), \
|
||||
"internal and xpcom roles differ!");
|
||||
#include "RoleMap.h"
|
||||
#undef ROLE
|
||||
|
||||
#define RELATIONTYPE(goannaType, stringType, atkType, msaaType, ia2Type) \
|
||||
static_assert(static_cast<uint32_t>(RelationType::goannaType) \
|
||||
== static_cast<uint32_t>(nsIAccessibleRelation::RELATION_ ## goannaType), \
|
||||
#define RELATIONTYPE(geckoType, stringType, atkType, msaaType, ia2Type) \
|
||||
static_assert(static_cast<uint32_t>(RelationType::geckoType) \
|
||||
== static_cast<uint32_t>(nsIAccessibleRelation::RELATION_ ## geckoType), \
|
||||
"internal and xpcom relations differ!");
|
||||
#include "RelationTypeMap.h"
|
||||
#undef RELATIONTYPE
|
||||
|
||||
@@ -468,7 +468,7 @@ NotificationController::ProcessMutationEvents()
|
||||
// there is no reason to fire a hide event for a child of a show event
|
||||
// target. That can happen if something is inserted into the tree and
|
||||
// removed before the next refresh driver tick, but it should not be
|
||||
// observable outside goanna so it should be safe to coalesce away any such
|
||||
// observable outside gecko so it should be safe to coalesce away any such
|
||||
// events. This means that it should be fine to fire all of the hide events
|
||||
// first, and then deal with any shown subtrees.
|
||||
for (AccTreeMutationEvent* event = mFirstMutationEvent;
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
/**
|
||||
* Usage: declare the macro RELATIONTYPE()with the following arguments:
|
||||
* RELATIONTYPE(goannaType, goannaTypeName, atkType, msaaType, ia2Type)
|
||||
* RELATIONTYPE(geckoType, geckoTypeName, atkType, msaaType, ia2Type)
|
||||
*/
|
||||
|
||||
RELATIONTYPE(LABELLED_BY,
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
/**
|
||||
* Usage: declare the macro ROLE()with the following arguments:
|
||||
* ROLE(goannaRole, stringRole, atkRole, macRole, msaaRole, ia2Role, nameRule)
|
||||
* ROLE(geckoRole, stringRole, atkRole, macRole, msaaRole, ia2Role, nameRule)
|
||||
*/
|
||||
|
||||
ROLE(NOTHING,
|
||||
|
||||
@@ -726,9 +726,9 @@ nsAccessibilityService::RecreateAccessible(nsIPresShell* aPresShell,
|
||||
void
|
||||
nsAccessibilityService::GetStringRole(uint32_t aRole, nsAString& aString)
|
||||
{
|
||||
#define ROLE(goannaRole, stringRole, atkRole, \
|
||||
#define ROLE(geckoRole, stringRole, atkRole, \
|
||||
macRole, msaaRole, ia2Role, nameRule) \
|
||||
case roles::goannaRole: \
|
||||
case roles::geckoRole: \
|
||||
CopyUTF8toUTF16(stringRole, aString); \
|
||||
return;
|
||||
|
||||
@@ -928,9 +928,9 @@ nsAccessibilityService::GetStringRelationType(uint32_t aRelationType,
|
||||
{
|
||||
NS_ENSURE_TRUE_VOID(aRelationType <= static_cast<uint32_t>(RelationType::LAST));
|
||||
|
||||
#define RELATIONTYPE(goannaType, goannaTypeName, atkType, msaaType, ia2Type) \
|
||||
case RelationType::goannaType: \
|
||||
aString.AssignLiteral(goannaTypeName); \
|
||||
#define RELATIONTYPE(geckoType, geckoTypeName, atkType, msaaType, ia2Type) \
|
||||
case RelationType::geckoType: \
|
||||
aString.AssignLiteral(geckoTypeName); \
|
||||
return;
|
||||
|
||||
RelationType relationType = static_cast<RelationType>(aRelationType);
|
||||
|
||||
@@ -349,9 +349,9 @@ nsTextEquivUtils::AppendString(nsAString *aString,
|
||||
uint32_t
|
||||
nsTextEquivUtils::GetRoleRule(role aRole)
|
||||
{
|
||||
#define ROLE(goannaRole, stringRole, atkRole, \
|
||||
#define ROLE(geckoRole, stringRole, atkRole, \
|
||||
macRole, msaaRole, ia2Role, nameRule) \
|
||||
case roles::goannaRole: \
|
||||
case roles::geckoRole: \
|
||||
return nameRule;
|
||||
|
||||
switch (aRole) {
|
||||
|
||||
@@ -58,7 +58,7 @@ ApplicationAccessible::Name(nsString& aName)
|
||||
getter_Copies(appName));
|
||||
if (NS_FAILED(rv) || appName.IsEmpty()) {
|
||||
NS_WARNING("brandShortName not found, using default app name");
|
||||
appName.AssignLiteral("Goanna based application");
|
||||
appName.AssignLiteral("Gecko based application");
|
||||
}
|
||||
|
||||
aName.Assign(appName);
|
||||
|
||||
@@ -82,7 +82,7 @@ public:
|
||||
|
||||
void PlatformName(nsAString& aName) const
|
||||
{
|
||||
aName.AssignLiteral("Goanna");
|
||||
aName.AssignLiteral("Gecko");
|
||||
}
|
||||
|
||||
void PlatformVersion(nsAString& aVersion) const
|
||||
|
||||
@@ -1533,7 +1533,7 @@ HyperTextAccessible::GetCaretRect(nsIWidget** aWidget)
|
||||
|
||||
// Correct for character size, so that caret always matches the size of
|
||||
// the character. This is important for font size transitions, and is
|
||||
// necessary because the Goanna caret uses the previous character's size as
|
||||
// necessary because the Gecko caret uses the previous character's size as
|
||||
// the user moves forward in the text by character.
|
||||
nsIntRect charRect = CharBounds(CaretOffset(),
|
||||
nsIAccessibleCoordinateType::COORDTYPE_SCREEN_RELATIVE);
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
import "objidl.idl";
|
||||
import "oaidl.idl";
|
||||
|
||||
[object, uuid(7510360f-cdae-4de9-88c8-d167eda62afc)]
|
||||
interface IGeckoCustom : IUnknown
|
||||
{
|
||||
[propget] HRESULT ID([out, retval] unsigned __int64* aID);
|
||||
[propget] HRESULT anchorCount([out, retval] long* aCount);
|
||||
[propget] HRESULT DOMNodeID([out, retval] BSTR* aID);
|
||||
}
|
||||
|
||||
|
||||
[
|
||||
uuid(55769d85-f830-4d76-9e39-3670914a28f7),
|
||||
helpstring("private custom gecko interfaces")
|
||||
]
|
||||
library IGeckoCustom
|
||||
{
|
||||
interface IGeckoCustom;
|
||||
};
|
||||
@@ -0,0 +1,31 @@
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
GARBAGE += $(MIDL_GENERATED_FILES) done_gen dlldata.c
|
||||
|
||||
MIDL_GENERATED_FILES = \
|
||||
IGeckoCustom.h \
|
||||
IGeckoCustom_p.c \
|
||||
IGeckoCustom_i.c \
|
||||
$(NULL)
|
||||
|
||||
$(MIDL_GENERATED_FILES): done_gen
|
||||
|
||||
done_gen: IGeckoCustom.idl
|
||||
$(MIDL) $(MIDL_FLAGS) -I $(srcdir) -Oicf $(srcdir)/IGeckoCustom.idl
|
||||
touch $@
|
||||
|
||||
export:: done_gen
|
||||
|
||||
midl_exports := \
|
||||
IGeckoCustom.h \
|
||||
IGeckoCustom_i.c \
|
||||
$(NULL)
|
||||
|
||||
INSTALL_TARGETS += midl_exports
|
||||
midl_exports_FILES := $(midl_exports)
|
||||
midl_exports_DEST = $(DIST)/include
|
||||
midl_exports_TARGET := midl
|
||||
|
||||
export:: midl
|
||||
@@ -0,0 +1,25 @@
|
||||
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
||||
# vim: set filetype=python:
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
SOURCES += [
|
||||
'!dlldata.c',
|
||||
'!IGeckoCustom_i.c',
|
||||
'!IGeckoCustom_p.c',
|
||||
]
|
||||
|
||||
GENERATED_FILES += [
|
||||
'IGeckoCustom.tlb',
|
||||
]
|
||||
|
||||
FINAL_LIBRARY = 'xul'
|
||||
|
||||
# The Windows MIDL code generator creates things like:
|
||||
#
|
||||
# #endif !_MIDL_USE_GUIDDEF_
|
||||
#
|
||||
# which clang-cl complains about. MSVC doesn't, so turn this warning off.
|
||||
if CONFIG['CLANG_CL']:
|
||||
CFLAGS += ['-Wno-extra-tokens']
|
||||
@@ -1,26 +0,0 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
import "objidl.idl";
|
||||
import "oaidl.idl";
|
||||
|
||||
[object, uuid(7510360f-cdae-4de9-88c8-d167eda62afc)]
|
||||
interface IGoannaCustom : IUnknown
|
||||
{
|
||||
[propget] HRESULT ID([out, retval] unsigned __int64* aID);
|
||||
[propget] HRESULT anchorCount([out, retval] long* aCount);
|
||||
[propget] HRESULT DOMNodeID([out, retval] BSTR* aID);
|
||||
}
|
||||
|
||||
|
||||
[
|
||||
uuid(55769d85-f830-4d76-9e39-3670914a28f7),
|
||||
helpstring("private custom goanna interfaces")
|
||||
]
|
||||
library IGoannaCustom
|
||||
{
|
||||
interface IGoannaCustom;
|
||||
};
|
||||
@@ -1,31 +0,0 @@
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
GARBAGE += $(MIDL_GENERATED_FILES) done_gen dlldata.c
|
||||
|
||||
MIDL_GENERATED_FILES = \
|
||||
IGoannaCustom.h \
|
||||
IGoannaCustom_p.c \
|
||||
IGoannaCustom_i.c \
|
||||
$(NULL)
|
||||
|
||||
$(MIDL_GENERATED_FILES): done_gen
|
||||
|
||||
done_gen: IGoannaCustom.idl
|
||||
$(MIDL) $(MIDL_FLAGS) -I $(srcdir) -Oicf $(srcdir)/IGoannaCustom.idl
|
||||
touch $@
|
||||
|
||||
export:: done_gen
|
||||
|
||||
midl_exports := \
|
||||
IGoannaCustom.h \
|
||||
IGoannaCustom_i.c \
|
||||
$(NULL)
|
||||
|
||||
INSTALL_TARGETS += midl_exports
|
||||
midl_exports_FILES := $(midl_exports)
|
||||
midl_exports_DEST = $(DIST)/include
|
||||
midl_exports_TARGET := midl
|
||||
|
||||
export:: midl
|
||||
@@ -1,25 +0,0 @@
|
||||
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
||||
# vim: set filetype=python:
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
SOURCES += [
|
||||
'!dlldata.c',
|
||||
'!IGoannaCustom_i.c',
|
||||
'!IGoannaCustom_p.c',
|
||||
]
|
||||
|
||||
GENERATED_FILES += [
|
||||
'IGoannaCustom.tlb',
|
||||
]
|
||||
|
||||
FINAL_LIBRARY = 'xul'
|
||||
|
||||
# The Windows MIDL code generator creates things like:
|
||||
#
|
||||
# #endif !_MIDL_USE_GUIDDEF_
|
||||
#
|
||||
# which clang-cl complains about. MSVC doesn't, so turn this warning off.
|
||||
if CONFIG['CLANG_CL']:
|
||||
CFLAGS += ['-Wno-extra-tokens']
|
||||
@@ -4,7 +4,7 @@
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
GoannaSharedLibrary('IA2Marshal', linkage=None)
|
||||
GeckoSharedLibrary('IA2Marshal', linkage=None)
|
||||
|
||||
DEFINES['REGISTER_PROXY_DLL'] = True
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows' and CONFIG['COMPILE_ENVIRONMENT']:
|
||||
DIRS += ['goanna', 'msaa', 'ia2']
|
||||
DIRS += ['gecko', 'msaa', 'ia2']
|
||||
|
||||
XPIDL_SOURCES += [
|
||||
'nsIAccessibilityService.idl',
|
||||
|
||||
@@ -84,7 +84,7 @@ cpp_quote("//")
|
||||
cpp_quote("//")
|
||||
cpp_quote("// get_localInterface(/* [out] */ void **localInterface);")
|
||||
cpp_quote("// ---------------------------------------------------------------------------------------------------=")
|
||||
cpp_quote("// Only available in Goanna's process")
|
||||
cpp_quote("// Only available in Gecko's process")
|
||||
cpp_quote("//")
|
||||
cpp_quote("//")
|
||||
cpp_quote("// get_language(/* [out] */ BSTR *htmlText);")
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
GoannaSharedLibrary('AccessibleMarshal', linkage=None)
|
||||
GeckoSharedLibrary('AccessibleMarshal', linkage=None)
|
||||
|
||||
SOURCES += [
|
||||
'!dlldata.c',
|
||||
|
||||
@@ -12,7 +12,7 @@ interface mozIDOMWindowProxy;
|
||||
/**
|
||||
* An interface for in-process accessibility clients
|
||||
* that wish to retrieve information about a document.
|
||||
* When accessibility is turned on in Goanna,
|
||||
* When accessibility is turned on in Gecko,
|
||||
* there is an nsIAccessibleDocument for each document
|
||||
* whether it is XUL, HTML or whatever.
|
||||
* You can QueryInterface to nsIAccessibleDocument from the nsIAccessible for
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#include "nsISupports.idl"
|
||||
|
||||
/**
|
||||
* Defines cross platform (Goanna) roles.
|
||||
* Defines cross platform (Gecko) roles.
|
||||
*/
|
||||
[scriptable, builtinclass, uuid(05a9f33f-dcfd-4e7b-b825-138ba784c1f5)]
|
||||
interface nsIAccessibleRole : nsISupports
|
||||
|
||||
@@ -249,7 +249,7 @@ DocAccessibleChild::RecvRelations(const uint64_t& aID,
|
||||
if (!acc)
|
||||
return IPC_OK();
|
||||
|
||||
#define RELATIONTYPE(goanna, s, a, m, i) AddRelation(acc, RelationType::goanna, aRelations);
|
||||
#define RELATIONTYPE(gecko, s, a, m, i) AddRelation(acc, RelationType::gecko, aRelations);
|
||||
|
||||
#include "RelationTypeMap.h"
|
||||
#undef RELATIONTYPE
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "Accessible2.h"
|
||||
#include "ProxyAccessible.h"
|
||||
#include "ia2AccessibleValue.h"
|
||||
#include "IGoannaCustom.h"
|
||||
#include "IGeckoCustom.h"
|
||||
#include "mozilla/a11y/DocAccessibleParent.h"
|
||||
#include "DocAccessible.h"
|
||||
#include "mozilla/a11y/DocManager.h"
|
||||
@@ -75,9 +75,9 @@ struct InterfaceIID<IAccessibleHyperlink>
|
||||
};
|
||||
|
||||
template<>
|
||||
struct InterfaceIID<IGoannaCustom>
|
||||
struct InterfaceIID<IGeckoCustom>
|
||||
{
|
||||
static REFIID Value() { return IID_IGoannaCustom; }
|
||||
static REFIID Value() { return IID_IGeckoCustom; }
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -105,8 +105,8 @@ QueryInterface(const ProxyAccessible* aProxy)
|
||||
static ProxyAccessible*
|
||||
GetProxyFor(DocAccessibleParent* aDoc, IUnknown* aCOMProxy)
|
||||
{
|
||||
RefPtr<IGoannaCustom> custom;
|
||||
if (FAILED(aCOMProxy->QueryInterface(IID_IGoannaCustom,
|
||||
RefPtr<IGeckoCustom> custom;
|
||||
if (FAILED(aCOMProxy->QueryInterface(IID_IGeckoCustom,
|
||||
(void**) getter_AddRefs(custom)))) {
|
||||
return nullptr;
|
||||
}
|
||||
@@ -415,9 +415,9 @@ ProxyAccessible::MaxValue()
|
||||
}
|
||||
|
||||
static IA2TextBoundaryType
|
||||
GetIA2TextBoundary(AccessibleTextBoundary aGoannaBoundaryType)
|
||||
GetIA2TextBoundary(AccessibleTextBoundary aGeckoBoundaryType)
|
||||
{
|
||||
switch (aGoannaBoundaryType) {
|
||||
switch (aGeckoBoundaryType) {
|
||||
case nsIAccessibleText::BOUNDARY_CHAR:
|
||||
return IA2_TEXT_BOUNDARY_CHAR;
|
||||
case nsIAccessibleText::BOUNDARY_WORD_START:
|
||||
@@ -673,7 +673,7 @@ uint32_t
|
||||
ProxyAccessible::AnchorCount(bool* aOk)
|
||||
{
|
||||
*aOk = false;
|
||||
RefPtr<IGoannaCustom> custom = QueryInterface<IGoannaCustom>(this);
|
||||
RefPtr<IGeckoCustom> custom = QueryInterface<IGeckoCustom>(this);
|
||||
if (!custom) {
|
||||
return 0;
|
||||
}
|
||||
@@ -710,7 +710,7 @@ void
|
||||
ProxyAccessible::DOMNodeID(nsString& aID)
|
||||
{
|
||||
aID.Truncate();
|
||||
RefPtr<IGoannaCustom> custom = QueryInterface<IGoannaCustom>(this);
|
||||
RefPtr<IGeckoCustom> custom = QueryInterface<IGeckoCustom>(this);
|
||||
if (!custom) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ ProxyCreated(ProxyAccessible* aProxy, uint32_t)
|
||||
// will be a non-remote accessible.
|
||||
Accessible* outerDoc = aProxy->OuterDocOfRemoteBrowser();
|
||||
if (outerDoc) {
|
||||
nativeParent = GetNativeFromGoannaAccessible(outerDoc);
|
||||
nativeParent = GetNativeFromGeckoAccessible(outerDoc);
|
||||
}
|
||||
} else {
|
||||
// Non-top level proxies need proxy parents' children invalidated.
|
||||
@@ -84,7 +84,7 @@ ProxyDestroyed(ProxyAccessible* aProxy)
|
||||
// Invalidate native parent in parent process's children on proxy destruction
|
||||
Accessible* outerDoc = aProxy->OuterDocOfRemoteBrowser();
|
||||
if (outerDoc) {
|
||||
nativeParent = GetNativeFromGoannaAccessible(outerDoc);
|
||||
nativeParent = GetNativeFromGeckoAccessible(outerDoc);
|
||||
}
|
||||
} else {
|
||||
if (!aProxy->Document()->IsShutdown()) {
|
||||
@@ -157,11 +157,11 @@ ProxySelectionEvent(ProxyAccessible*, ProxyAccessible*, uint32_t)
|
||||
} // namespace a11y
|
||||
} // namespace mozilla
|
||||
|
||||
@interface GoannaNSApplication(a11y)
|
||||
@interface GeckoNSApplication(a11y)
|
||||
-(void)accessibilitySetValue:(id)value forAttribute:(NSString*)attribute;
|
||||
@end
|
||||
|
||||
@implementation GoannaNSApplication(a11y)
|
||||
@implementation GeckoNSApplication(a11y)
|
||||
|
||||
-(void)accessibilitySetValue:(id)value forAttribute:(NSString*)attribute
|
||||
{
|
||||
|
||||
@@ -29,7 +29,7 @@ GetObjectOrRepresentedView(id <mozAccessible> aObject)
|
||||
}
|
||||
|
||||
inline mozAccessible*
|
||||
GetNativeFromGoannaAccessible(Accessible* aAccessible)
|
||||
GetNativeFromGeckoAccessible(Accessible* aAccessible)
|
||||
{
|
||||
mozAccessible* native = nil;
|
||||
aAccessible->GetNativeInterface((void**)&native);
|
||||
@@ -53,7 +53,7 @@ static const uintptr_t IS_PROXY = 1;
|
||||
/**
|
||||
* Weak reference; it owns us.
|
||||
*/
|
||||
uintptr_t mGoannaAccessible;
|
||||
uintptr_t mGeckoAccessible;
|
||||
|
||||
/**
|
||||
* Strong ref to array of children
|
||||
@@ -66,19 +66,19 @@ static const uintptr_t IS_PROXY = 1;
|
||||
mozAccessible* mParent;
|
||||
|
||||
/**
|
||||
* The role of our goanna accessible.
|
||||
* The role of our gecko accessible.
|
||||
*/
|
||||
mozilla::a11y::role mRole;
|
||||
}
|
||||
|
||||
// return the Accessible for this mozAccessible if it exists.
|
||||
- (mozilla::a11y::AccessibleWrap*)getGoannaAccessible;
|
||||
- (mozilla::a11y::AccessibleWrap*)getGeckoAccessible;
|
||||
|
||||
// return the ProxyAccessible for this mozAccessible if it exists.
|
||||
- (mozilla::a11y::ProxyAccessible*)getProxyAccessible;
|
||||
|
||||
// inits with the goanna owner.
|
||||
- (id)initWithAccessible:(uintptr_t)aGoannaObj;
|
||||
// inits with the gecko owner.
|
||||
- (id)initWithAccessible:(uintptr_t)aGeckoObj;
|
||||
|
||||
// our accessible parent (AXParent)
|
||||
- (id <mozAccessible>)parent;
|
||||
|
||||
@@ -49,7 +49,7 @@ using namespace mozilla::a11y;
|
||||
// - NSAccessibilityMathPrescriptsAttribute @"AXMathPrescripts"
|
||||
// - NSAccessibilityMathPostscriptsAttribute @"AXMathPostscripts"
|
||||
|
||||
// convert an array of Goanna accessibles to an NSArray of native accessibles
|
||||
// convert an array of Gecko accessibles to an NSArray of native accessibles
|
||||
static inline NSMutableArray*
|
||||
ConvertToNSArray(nsTArray<Accessible*>& aArray)
|
||||
{
|
||||
@@ -59,7 +59,7 @@ ConvertToNSArray(nsTArray<Accessible*>& aArray)
|
||||
size_t totalCount = aArray.Length();
|
||||
for (size_t i = 0; i < totalCount; i++) {
|
||||
Accessible* curAccessible = aArray.ElementAt(i);
|
||||
mozAccessible* curNative = GetNativeFromGoannaAccessible(curAccessible);
|
||||
mozAccessible* curNative = GetNativeFromGeckoAccessible(curAccessible);
|
||||
if (curNative)
|
||||
[nativeArray addObject:GetObjectOrRepresentedView(curNative)];
|
||||
}
|
||||
@@ -67,7 +67,7 @@ ConvertToNSArray(nsTArray<Accessible*>& aArray)
|
||||
return nativeArray;
|
||||
}
|
||||
|
||||
// convert an array of Goanna proxy accessibles to an NSArray of native accessibles
|
||||
// convert an array of Gecko proxy accessibles to an NSArray of native accessibles
|
||||
static inline NSMutableArray*
|
||||
ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
|
||||
{
|
||||
@@ -89,16 +89,16 @@ ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
|
||||
|
||||
@implementation mozAccessible
|
||||
|
||||
- (id)initWithAccessible:(uintptr_t)aGoannaAccessible
|
||||
- (id)initWithAccessible:(uintptr_t)aGeckoAccessible
|
||||
{
|
||||
NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NIL;
|
||||
|
||||
if ((self = [super init])) {
|
||||
mGoannaAccessible = aGoannaAccessible;
|
||||
if (aGoannaAccessible & IS_PROXY)
|
||||
mGeckoAccessible = aGeckoAccessible;
|
||||
if (aGeckoAccessible & IS_PROXY)
|
||||
mRole = [self getProxyAccessible]->Role();
|
||||
else
|
||||
mRole = [self getGoannaAccessible]->Role();
|
||||
mRole = [self getGeckoAccessible]->Role();
|
||||
}
|
||||
|
||||
return self;
|
||||
@@ -116,22 +116,22 @@ ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
|
||||
NS_OBJC_END_TRY_ABORT_BLOCK;
|
||||
}
|
||||
|
||||
- (mozilla::a11y::AccessibleWrap*)getGoannaAccessible
|
||||
- (mozilla::a11y::AccessibleWrap*)getGeckoAccessible
|
||||
{
|
||||
// Check if mGoannaAccessible points at a proxy
|
||||
if (mGoannaAccessible & IS_PROXY)
|
||||
// Check if mGeckoAccessible points at a proxy
|
||||
if (mGeckoAccessible & IS_PROXY)
|
||||
return nil;
|
||||
|
||||
return reinterpret_cast<AccessibleWrap*>(mGoannaAccessible);
|
||||
return reinterpret_cast<AccessibleWrap*>(mGeckoAccessible);
|
||||
}
|
||||
|
||||
- (mozilla::a11y::ProxyAccessible*)getProxyAccessible
|
||||
{
|
||||
// Check if mGoannaAccessible points at a proxy
|
||||
if (!(mGoannaAccessible & IS_PROXY))
|
||||
// Check if mGeckoAccessible points at a proxy
|
||||
if (!(mGeckoAccessible & IS_PROXY))
|
||||
return nil;
|
||||
|
||||
return reinterpret_cast<ProxyAccessible*>(mGoannaAccessible & ~IS_PROXY);
|
||||
return reinterpret_cast<ProxyAccessible*>(mGeckoAccessible & ~IS_PROXY);
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
@@ -144,7 +144,7 @@ ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
|
||||
// as well as expired elements.
|
||||
|
||||
bool noRole = [[self role] isEqualToString:NSAccessibilityUnknownRole];
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible])
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible])
|
||||
return (noRole && !(accWrap->InteractiveState() & states::FOCUSABLE));
|
||||
|
||||
if (ProxyAccessible* proxy = [self getProxyAccessible])
|
||||
@@ -205,7 +205,7 @@ ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
|
||||
NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NIL;
|
||||
|
||||
// if we're expired, we don't support any attributes.
|
||||
AccessibleWrap* accWrap = [self getGoannaAccessible];
|
||||
AccessibleWrap* accWrap = [self getGeckoAccessible];
|
||||
ProxyAccessible* proxy = [self getProxyAccessible];
|
||||
if (!accWrap && !proxy)
|
||||
return [NSArray array];
|
||||
@@ -250,9 +250,9 @@ ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
|
||||
{
|
||||
NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NIL;
|
||||
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible]) {
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible]) {
|
||||
Accessible* child = accWrap->GetChildAt(i);
|
||||
return child ? GetNativeFromGoannaAccessible(child) : nil;
|
||||
return child ? GetNativeFromGeckoAccessible(child) : nil;
|
||||
} else if (ProxyAccessible* proxy = [self getProxyAccessible]) {
|
||||
ProxyAccessible* child = proxy->ChildAt(i);
|
||||
return child ? GetNativeFromProxy(child) : nil;
|
||||
@@ -267,7 +267,7 @@ ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
|
||||
{
|
||||
NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NIL;
|
||||
|
||||
AccessibleWrap* accWrap = [self getGoannaAccessible];
|
||||
AccessibleWrap* accWrap = [self getGeckoAccessible];
|
||||
ProxyAccessible* proxy = [self getProxyAccessible];
|
||||
if (!accWrap && !proxy)
|
||||
return nil;
|
||||
@@ -312,7 +312,7 @@ ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
|
||||
if (accWrap) {
|
||||
Relation rel = accWrap->RelationByType(RelationType::LABELLED_BY);
|
||||
Accessible* tempAcc = rel.Next();
|
||||
return tempAcc ? GetNativeFromGoannaAccessible(tempAcc) : nil;
|
||||
return tempAcc ? GetNativeFromGeckoAccessible(tempAcc) : nil;
|
||||
}
|
||||
nsTArray<ProxyAccessible*> rel = proxy->RelationByType(RelationType::LABELLED_BY);
|
||||
ProxyAccessible* tempProxy = rel.SafeElementAt(0);
|
||||
@@ -472,28 +472,28 @@ ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
|
||||
|
||||
- (id)accessibilityHitTest:(NSPoint)point
|
||||
{
|
||||
AccessibleWrap* accWrap = [self getGoannaAccessible];
|
||||
AccessibleWrap* accWrap = [self getGeckoAccessible];
|
||||
ProxyAccessible* proxy = [self getProxyAccessible];
|
||||
if (!accWrap && !proxy)
|
||||
return nil;
|
||||
|
||||
// Convert the given screen-global point in the cocoa coordinate system (with
|
||||
// origin in the bottom-left corner of the screen) into point in the Goanna
|
||||
// origin in the bottom-left corner of the screen) into point in the Gecko
|
||||
// coordinate system (with origin in a top-left screen point).
|
||||
NSScreen* mainView = [[NSScreen screens] objectAtIndex:0];
|
||||
NSPoint tmpPoint = NSMakePoint(point.x,
|
||||
[mainView frame].size.height - point.y);
|
||||
LayoutDeviceIntPoint goannaPoint = nsCocoaUtils::
|
||||
LayoutDeviceIntPoint geckoPoint = nsCocoaUtils::
|
||||
CocoaPointsToDevPixels(tmpPoint, nsCocoaUtils::GetBackingScaleFactor(mainView));
|
||||
|
||||
mozAccessible* nativeChild = nil;
|
||||
if (accWrap) {
|
||||
Accessible* child = accWrap->ChildAtPoint(goannaPoint.x, goannaPoint.y,
|
||||
Accessible* child = accWrap->ChildAtPoint(geckoPoint.x, geckoPoint.y,
|
||||
Accessible::eDeepestChild);
|
||||
if (child)
|
||||
nativeChild = GetNativeFromGoannaAccessible(child);
|
||||
nativeChild = GetNativeFromGeckoAccessible(child);
|
||||
} else if (proxy) {
|
||||
ProxyAccessible* child = proxy->ChildAtPoint(goannaPoint.x, goannaPoint.y,
|
||||
ProxyAccessible* child = proxy->ChildAtPoint(geckoPoint.x, geckoPoint.y,
|
||||
Accessible::eDeepestChild);
|
||||
if (child)
|
||||
nativeChild = GetNativeFromProxy(child);
|
||||
@@ -524,20 +524,20 @@ ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
|
||||
|
||||
- (id)accessibilityFocusedUIElement
|
||||
{
|
||||
AccessibleWrap* accWrap = [self getGoannaAccessible];
|
||||
AccessibleWrap* accWrap = [self getGeckoAccessible];
|
||||
ProxyAccessible* proxy = [self getProxyAccessible];
|
||||
if (!accWrap && !proxy)
|
||||
return nil;
|
||||
|
||||
mozAccessible* focusedChild = nil;
|
||||
if (accWrap) {
|
||||
Accessible* focusedGoannaChild = accWrap->FocusedChild();
|
||||
if (focusedGoannaChild)
|
||||
focusedChild = GetNativeFromGoannaAccessible(focusedGoannaChild);
|
||||
Accessible* focusedGeckoChild = accWrap->FocusedChild();
|
||||
if (focusedGeckoChild)
|
||||
focusedChild = GetNativeFromGeckoAccessible(focusedGeckoChild);
|
||||
} else if (proxy) {
|
||||
ProxyAccessible* focusedGoannaChild = proxy->FocusedChild();
|
||||
if (focusedGoannaChild)
|
||||
focusedChild = GetNativeFromProxy(focusedGoannaChild);
|
||||
ProxyAccessible* focusedGeckoChild = proxy->FocusedChild();
|
||||
if (focusedGeckoChild)
|
||||
focusedChild = GetNativeFromProxy(focusedGeckoChild);
|
||||
}
|
||||
|
||||
if (focusedChild)
|
||||
@@ -554,15 +554,15 @@ ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
|
||||
NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NIL;
|
||||
|
||||
id nativeParent = nil;
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible]) {
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible]) {
|
||||
Accessible* accessibleParent = accWrap->Parent();
|
||||
if (accessibleParent)
|
||||
nativeParent = GetNativeFromGoannaAccessible(accessibleParent);
|
||||
nativeParent = GetNativeFromGeckoAccessible(accessibleParent);
|
||||
if (nativeParent)
|
||||
return GetObjectOrRepresentedView(nativeParent);
|
||||
|
||||
// Return native of root accessible if we have no direct parent
|
||||
nativeParent = GetNativeFromGoannaAccessible(accWrap->RootAccessible());
|
||||
nativeParent = GetNativeFromGeckoAccessible(accWrap->RootAccessible());
|
||||
} else if (ProxyAccessible* proxy = [self getProxyAccessible]) {
|
||||
if (ProxyAccessible* proxyParent = proxy->Parent()) {
|
||||
nativeParent = GetNativeFromProxy(proxyParent);
|
||||
@@ -573,7 +573,7 @@ ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
|
||||
|
||||
Accessible* outerDoc = proxy->OuterDocOfRemoteBrowser();
|
||||
nativeParent = outerDoc ?
|
||||
GetNativeFromGoannaAccessible(outerDoc) : nil;
|
||||
GetNativeFromGeckoAccessible(outerDoc) : nil;
|
||||
} else {
|
||||
return nil;
|
||||
}
|
||||
@@ -612,11 +612,11 @@ ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
|
||||
// get the array of children.
|
||||
mChildren = [[NSMutableArray alloc] init];
|
||||
|
||||
AccessibleWrap* accWrap = [self getGoannaAccessible];
|
||||
AccessibleWrap* accWrap = [self getGeckoAccessible];
|
||||
if (accWrap) {
|
||||
uint32_t childCount = accWrap->ChildCount();
|
||||
for (uint32_t childIdx = 0; childIdx < childCount; childIdx++) {
|
||||
mozAccessible* nativeChild = GetNativeFromGoannaAccessible(accWrap->GetChildAt(childIdx));
|
||||
mozAccessible* nativeChild = GetNativeFromGeckoAccessible(accWrap->GetChildAt(childIdx));
|
||||
if (nativeChild)
|
||||
[mChildren addObject:nativeChild];
|
||||
}
|
||||
@@ -650,7 +650,7 @@ ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
|
||||
NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NIL;
|
||||
|
||||
nsIntRect rect;
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible])
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible])
|
||||
rect = accWrap->Bounds();
|
||||
else if (ProxyAccessible* proxy = [self getProxyAccessible])
|
||||
rect = proxy->Bounds();
|
||||
@@ -672,7 +672,7 @@ ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
|
||||
NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NIL;
|
||||
|
||||
nsIntRect rect;
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible])
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible])
|
||||
rect = accWrap->Bounds();
|
||||
else if (ProxyAccessible* proxy = [self getProxyAccessible])
|
||||
rect = proxy->Bounds();
|
||||
@@ -689,7 +689,7 @@ ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
|
||||
|
||||
- (NSString*)role
|
||||
{
|
||||
AccessibleWrap* accWrap = [self getGoannaAccessible];
|
||||
AccessibleWrap* accWrap = [self getGeckoAccessible];
|
||||
if (accWrap) {
|
||||
#ifdef DEBUG_A11Y
|
||||
NS_ASSERTION(nsAccUtils::IsTextInterfaceSupportCorrect(accWrap),
|
||||
@@ -699,8 +699,8 @@ ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
|
||||
return nil;
|
||||
}
|
||||
|
||||
#define ROLE(goannaRole, stringRole, atkRole, macRole, msaaRole, ia2Role, nameRule) \
|
||||
case roles::goannaRole: \
|
||||
#define ROLE(geckoRole, stringRole, atkRole, macRole, msaaRole, ia2Role, nameRule) \
|
||||
case roles::geckoRole: \
|
||||
return macRole;
|
||||
|
||||
switch (mRole) {
|
||||
@@ -715,7 +715,7 @@ ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
|
||||
|
||||
- (NSString*)subrole
|
||||
{
|
||||
AccessibleWrap* accWrap = [self getGoannaAccessible];
|
||||
AccessibleWrap* accWrap = [self getGeckoAccessible];
|
||||
ProxyAccessible* proxy = [self getProxyAccessible];
|
||||
|
||||
// Deal with landmarks first
|
||||
@@ -960,7 +960,7 @@ struct RoleDescrComparator
|
||||
NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NIL;
|
||||
|
||||
nsAutoString title;
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible])
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible])
|
||||
accWrap->Name(title);
|
||||
else if (ProxyAccessible* proxy = [self getProxyAccessible])
|
||||
proxy->Name(title);
|
||||
@@ -975,7 +975,7 @@ struct RoleDescrComparator
|
||||
NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NIL;
|
||||
|
||||
nsAutoString value;
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible])
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible])
|
||||
accWrap->Value(value);
|
||||
else if (ProxyAccessible* proxy = [self getProxyAccessible])
|
||||
proxy->Value(value);
|
||||
@@ -1018,7 +1018,7 @@ struct RoleDescrComparator
|
||||
// What needs to go here is actually the accDescription of an item.
|
||||
// The MSAA acc_help method has nothing to do with this one.
|
||||
nsAutoString helpText;
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible])
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible])
|
||||
accWrap->Description(helpText);
|
||||
else if (ProxyAccessible* proxy = [self getProxyAccessible])
|
||||
proxy->Description(helpText);
|
||||
@@ -1040,12 +1040,12 @@ struct RoleDescrComparator
|
||||
|
||||
- (BOOL)isFocused
|
||||
{
|
||||
return FocusMgr()->IsFocused([self getGoannaAccessible]);
|
||||
return FocusMgr()->IsFocused([self getGeckoAccessible]);
|
||||
}
|
||||
|
||||
- (BOOL)canBeFocused
|
||||
{
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible])
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible])
|
||||
return accWrap->InteractiveState() & states::FOCUSABLE;
|
||||
|
||||
if (ProxyAccessible* proxy = [self getProxyAccessible])
|
||||
@@ -1056,7 +1056,7 @@ struct RoleDescrComparator
|
||||
|
||||
- (BOOL)focus
|
||||
{
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible])
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible])
|
||||
accWrap->TakeFocus();
|
||||
else if (ProxyAccessible* proxy = [self getProxyAccessible])
|
||||
proxy->TakeFocus();
|
||||
@@ -1068,7 +1068,7 @@ struct RoleDescrComparator
|
||||
|
||||
- (BOOL)isEnabled
|
||||
{
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible])
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible])
|
||||
return ((accWrap->InteractiveState() & states::UNAVAILABLE) == 0);
|
||||
|
||||
if (ProxyAccessible* proxy = [self getProxyAccessible])
|
||||
@@ -1099,7 +1099,7 @@ struct RoleDescrComparator
|
||||
// Get a pointer to the native window (NSWindow) we reside in.
|
||||
NSWindow *nativeWindow = nil;
|
||||
DocAccessible* docAcc = nullptr;
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible]) {
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible]) {
|
||||
docAcc = accWrap->Document();
|
||||
} else if (ProxyAccessible* proxy = [self getProxyAccessible]) {
|
||||
Accessible* outerDoc = proxy->OuterDocOfRemoteBrowser();
|
||||
@@ -1133,7 +1133,7 @@ struct RoleDescrComparator
|
||||
if (!mChildren)
|
||||
return;
|
||||
|
||||
mozAccessible *curNative = GetNativeFromGoannaAccessible(aAccessible);
|
||||
mozAccessible *curNative = GetNativeFromGeckoAccessible(aAccessible);
|
||||
if (curNative)
|
||||
[mChildren addObject:curNative];
|
||||
}
|
||||
@@ -1144,14 +1144,14 @@ struct RoleDescrComparator
|
||||
|
||||
[self invalidateChildren];
|
||||
|
||||
mGoannaAccessible = 0;
|
||||
mGeckoAccessible = 0;
|
||||
|
||||
NS_OBJC_END_TRY_ABORT_BLOCK;
|
||||
}
|
||||
|
||||
- (BOOL)isExpired
|
||||
{
|
||||
return ![self getGoannaAccessible] && ![self getProxyAccessible];
|
||||
return ![self getGeckoAccessible] && ![self getProxyAccessible];
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
|
||||
@@ -78,7 +78,7 @@ enum CheckboxValue {
|
||||
|
||||
- (BOOL)accessibilityIsIgnored
|
||||
{
|
||||
return ![self getGoannaAccessible] && ![self getProxyAccessible];
|
||||
return ![self getGeckoAccessible] && ![self getProxyAccessible];
|
||||
}
|
||||
|
||||
- (NSArray*)accessibilityActionNames
|
||||
@@ -136,7 +136,7 @@ enum CheckboxValue {
|
||||
{
|
||||
// both buttons and checkboxes have only one action. we should really stop using arbitrary
|
||||
// arrays with actions, and define constants for these actions.
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible])
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible])
|
||||
accWrap->DoAction(0);
|
||||
else if (ProxyAccessible* proxy = [self getProxyAccessible])
|
||||
proxy->DoAction(0);
|
||||
@@ -144,7 +144,7 @@ enum CheckboxValue {
|
||||
|
||||
- (BOOL)isTab
|
||||
{
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible])
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible])
|
||||
return accWrap->Role() == roles::PAGETAB;
|
||||
|
||||
if (ProxyAccessible* proxy = [self getProxyAccessible])
|
||||
@@ -155,7 +155,7 @@ enum CheckboxValue {
|
||||
|
||||
- (BOOL)hasPopup
|
||||
{
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible])
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible])
|
||||
return accWrap->NativeState() & states::HASPOPUP;
|
||||
|
||||
if (ProxyAccessible* proxy = [self getProxyAccessible])
|
||||
@@ -187,7 +187,7 @@ enum CheckboxValue {
|
||||
- (int)isChecked
|
||||
{
|
||||
uint64_t state = 0;
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible])
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible])
|
||||
state = accWrap->NativeState();
|
||||
else if (ProxyAccessible* proxy = [self getProxyAccessible])
|
||||
state = proxy->NativeState();
|
||||
@@ -250,7 +250,7 @@ enum CheckboxValue {
|
||||
- (id)value
|
||||
{
|
||||
mozAccessible* nativeAcc = nil;
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible]) {
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible]) {
|
||||
if (Accessible* accTab = accWrap->GetSelectedItem(0)) {
|
||||
accTab->GetNativeInterface((void**)&nativeAcc);
|
||||
}
|
||||
@@ -297,7 +297,7 @@ enum CheckboxValue {
|
||||
|
||||
- (NSUInteger)accessibilityArrayAttributeCount:(NSString*)attribute
|
||||
{
|
||||
AccessibleWrap* accWrap = [self getGoannaAccessible];
|
||||
AccessibleWrap* accWrap = [self getGeckoAccessible];
|
||||
ProxyAccessible* proxy = [self getProxyAccessible];
|
||||
if (!accWrap && !proxy)
|
||||
return 0;
|
||||
@@ -316,20 +316,20 @@ enum CheckboxValue {
|
||||
|
||||
- (NSArray*)children
|
||||
{
|
||||
if (![self getGoannaAccessible])
|
||||
if (![self getGeckoAccessible])
|
||||
return nil;
|
||||
|
||||
nsDeckFrame* deckFrame = do_QueryFrame([self getGoannaAccessible]->GetFrame());
|
||||
nsDeckFrame* deckFrame = do_QueryFrame([self getGeckoAccessible]->GetFrame());
|
||||
nsIFrame* selectedFrame = deckFrame ? deckFrame->GetSelectedBox() : nullptr;
|
||||
|
||||
Accessible* selectedAcc = nullptr;
|
||||
if (selectedFrame) {
|
||||
nsINode* node = selectedFrame->GetContent();
|
||||
selectedAcc = [self getGoannaAccessible]->Document()->GetAccessible(node);
|
||||
selectedAcc = [self getGeckoAccessible]->Document()->GetAccessible(node);
|
||||
}
|
||||
|
||||
if (selectedAcc) {
|
||||
mozAccessible *curNative = GetNativeFromGoannaAccessible(selectedAcc);
|
||||
mozAccessible *curNative = GetNativeFromGeckoAccessible(selectedAcc);
|
||||
if (curNative)
|
||||
return [NSArray arrayWithObjects:GetObjectOrRepresentedView(curNative), nil];
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ getNativeViewFromRootAccessible(Accessible* aAccessible)
|
||||
NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NIL;
|
||||
|
||||
// if we're expired, we don't support any attributes.
|
||||
if (![self getGoannaAccessible])
|
||||
if (![self getGeckoAccessible])
|
||||
return [NSArray array];
|
||||
|
||||
// standard attributes that are shared and supported by root accessible (AXMain) elements.
|
||||
@@ -95,7 +95,7 @@ getNativeViewFromRootAccessible(Accessible* aAccessible)
|
||||
if (mParallelView)
|
||||
return (id)mParallelView;
|
||||
|
||||
mParallelView = getNativeViewFromRootAccessible ([self getGoannaAccessible]);
|
||||
mParallelView = getNativeViewFromRootAccessible ([self getGeckoAccessible]);
|
||||
|
||||
NSAssert(mParallelView, @"can't return root accessible's native parallel view.");
|
||||
return mParallelView;
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
- (NSString*)title
|
||||
{
|
||||
nsAutoString title;
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible]) {
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible]) {
|
||||
mozilla::ErrorResult rv;
|
||||
// XXX use the flattening API when there are available
|
||||
// see bug 768298
|
||||
@@ -32,7 +32,7 @@
|
||||
- (id)value
|
||||
{
|
||||
uint32_t level = 0;
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible]) {
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible]) {
|
||||
level = accWrap->GetLevelInternal();
|
||||
} else if (ProxyAccessible* proxy = [self getProxyAccessible]) {
|
||||
level = proxy->GetLevelInternal();
|
||||
@@ -52,7 +52,7 @@
|
||||
- (NSArray*)accessibilityAttributeNames
|
||||
{
|
||||
// if we're expired, we don't support any attributes.
|
||||
if (![self getGoannaAccessible] && ![self getProxyAccessible])
|
||||
if (![self getGeckoAccessible] && ![self getProxyAccessible])
|
||||
return [NSArray array];
|
||||
|
||||
static NSMutableArray* attributes = nil;
|
||||
@@ -76,7 +76,7 @@
|
||||
- (NSArray*)accessibilityActionNames
|
||||
{
|
||||
// if we're expired, we don't support any attributes.
|
||||
if (![self getGoannaAccessible] && ![self getProxyAccessible])
|
||||
if (![self getGeckoAccessible] && ![self getProxyAccessible])
|
||||
return [NSArray array];
|
||||
|
||||
static NSArray* actionNames = nil;
|
||||
@@ -91,7 +91,7 @@
|
||||
|
||||
- (void)accessibilityPerformAction:(NSString*)action
|
||||
{
|
||||
AccessibleWrap* accWrap = [self getGoannaAccessible];
|
||||
AccessibleWrap* accWrap = [self getGeckoAccessible];
|
||||
ProxyAccessible* proxy = [self getProxyAccessible];
|
||||
if (!accWrap && !proxy) {
|
||||
return;
|
||||
@@ -123,7 +123,7 @@
|
||||
- (NSURL*)url
|
||||
{
|
||||
nsAutoString value;
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible]) {
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible]) {
|
||||
accWrap->Value(value);
|
||||
} else if (ProxyAccessible* proxy = [self getProxyAccessible]) {
|
||||
proxy->Value(value);
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
@implementation mozTablePartAccessible
|
||||
- (BOOL)isLayoutTablePart;
|
||||
{
|
||||
if (Accessible* accWrap = [self getGoannaAccessible]) {
|
||||
if (Accessible* accWrap = [self getGeckoAccessible]) {
|
||||
while (accWrap) {
|
||||
if (accWrap->IsTable()) {
|
||||
return accWrap->AsTable()->IsProbablyLayoutTable();
|
||||
@@ -66,7 +66,7 @@
|
||||
|
||||
- (id)accessibilityAttributeValue:(NSString*)attribute
|
||||
{
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible]) {
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible]) {
|
||||
TableAccessible* table = accWrap->AsTable();
|
||||
if ([attribute isEqualToString:NSAccessibilityRowCountAttribute])
|
||||
return @(table->RowCount());
|
||||
@@ -79,7 +79,7 @@
|
||||
for (uint32_t i = 0; i < totalCount; i++) {
|
||||
if (accWrap->GetChildAt(i)->IsTableRow()) {
|
||||
mozAccessible* curNative =
|
||||
GetNativeFromGoannaAccessible(accWrap->GetChildAt(i));
|
||||
GetNativeFromGeckoAccessible(accWrap->GetChildAt(i));
|
||||
if (curNative)
|
||||
[nativeArray addObject:GetObjectOrRepresentedView(curNative)];
|
||||
}
|
||||
@@ -136,7 +136,7 @@
|
||||
|
||||
- (id)accessibilityAttributeValue:(NSString*)attribute
|
||||
{
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible]) {
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible]) {
|
||||
if ([attribute isEqualToString:NSAccessibilityIndexAttribute]) {
|
||||
// Count the number of rows before that one to obtain the row index.
|
||||
uint32_t index = 0;
|
||||
@@ -198,7 +198,7 @@
|
||||
|
||||
- (id)accessibilityAttributeValue:(NSString*)attribute
|
||||
{
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible]) {
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible]) {
|
||||
TableCellAccessible* cell = accWrap->AsTableCell();
|
||||
if ([attribute isEqualToString:NSAccessibilityRowIndexRangeAttribute])
|
||||
return [NSValue valueWithRange:NSMakeRange(cell->RowIdx(),
|
||||
|
||||
@@ -55,7 +55,7 @@ ToNSString(id aValue)
|
||||
|
||||
- (BOOL)accessibilityIsIgnored
|
||||
{
|
||||
return ![self getGoannaAccessible] && ![self getProxyAccessible];
|
||||
return ![self getGeckoAccessible] && ![self getProxyAccessible];
|
||||
}
|
||||
|
||||
- (NSArray*)accessibilityAttributeNames
|
||||
@@ -114,7 +114,7 @@ ToNSString(id aValue)
|
||||
return [self text];
|
||||
}
|
||||
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible]) {
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible]) {
|
||||
if ([attribute isEqualToString:@"AXRequired"]) {
|
||||
return [NSNumber numberWithBool:!!(accWrap->State() & states::REQUIRED)];
|
||||
}
|
||||
@@ -166,7 +166,7 @@ ToNSString(id aValue)
|
||||
|
||||
- (id)accessibilityAttributeValue:(NSString*)attribute forParameter:(id)parameter
|
||||
{
|
||||
AccessibleWrap* accWrap = [self getGoannaAccessible];
|
||||
AccessibleWrap* accWrap = [self getGeckoAccessible];
|
||||
ProxyAccessible* proxy = [self getProxyAccessible];
|
||||
|
||||
HyperTextAccessible* textAcc = accWrap? accWrap->AsHyperText() : nullptr;
|
||||
@@ -227,7 +227,7 @@ ToNSString(id aValue)
|
||||
DesktopIntRect::FromUnknownRect(proxy->TextBounds(start, end));
|
||||
}
|
||||
|
||||
return [NSValue valueWithRect:nsCocoaUtils::GoannaRectToCocoaRect(bounds)];
|
||||
return [NSValue valueWithRect:nsCocoaUtils::GeckoRectToCocoaRect(bounds)];
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
@@ -258,7 +258,7 @@ ToNSString(id aValue)
|
||||
{
|
||||
NS_OBJC_BEGIN_TRY_ABORT_BLOCK;
|
||||
|
||||
AccessibleWrap* accWrap = [self getGoannaAccessible];
|
||||
AccessibleWrap* accWrap = [self getGeckoAccessible];
|
||||
ProxyAccessible* proxy = [self getProxyAccessible];
|
||||
|
||||
HyperTextAccessible* textAcc = accWrap? accWrap->AsHyperText() : nullptr;
|
||||
@@ -344,7 +344,7 @@ ToNSString(id aValue)
|
||||
if ([[self role] isEqualToString:NSAccessibilityStaticTextRole])
|
||||
return YES;
|
||||
|
||||
AccessibleWrap* accWrap = [self getGoannaAccessible];
|
||||
AccessibleWrap* accWrap = [self getGeckoAccessible];
|
||||
HyperTextAccessible* textAcc = accWrap? accWrap->AsHyperText() : nullptr;
|
||||
if (textAcc)
|
||||
return (accWrap->State() & states::READONLY) == 0;
|
||||
@@ -359,7 +359,7 @@ ToNSString(id aValue)
|
||||
|
||||
- (NSNumber*)caretLineNumber
|
||||
{
|
||||
AccessibleWrap* accWrap = [self getGoannaAccessible];
|
||||
AccessibleWrap* accWrap = [self getGeckoAccessible];
|
||||
HyperTextAccessible* textAcc = accWrap? accWrap->AsHyperText() : nullptr;
|
||||
|
||||
int32_t lineNumber = -1;
|
||||
@@ -376,7 +376,7 @@ ToNSString(id aValue)
|
||||
{
|
||||
NS_OBJC_BEGIN_TRY_ABORT_BLOCK;
|
||||
|
||||
AccessibleWrap* accWrap = [self getGoannaAccessible];
|
||||
AccessibleWrap* accWrap = [self getGeckoAccessible];
|
||||
HyperTextAccessible* textAcc = accWrap? accWrap->AsHyperText() : nullptr;
|
||||
|
||||
nsString text;
|
||||
@@ -392,7 +392,7 @@ ToNSString(id aValue)
|
||||
|
||||
- (NSString*)text
|
||||
{
|
||||
AccessibleWrap* accWrap = [self getGoannaAccessible];
|
||||
AccessibleWrap* accWrap = [self getGeckoAccessible];
|
||||
ProxyAccessible* proxy = [self getProxyAccessible];
|
||||
HyperTextAccessible* textAcc = accWrap? accWrap->AsHyperText() : nullptr;
|
||||
if (!textAcc && !proxy)
|
||||
@@ -416,7 +416,7 @@ ToNSString(id aValue)
|
||||
{
|
||||
NS_OBJC_BEGIN_TRY_ABORT_BLOCK_RETURN;
|
||||
|
||||
AccessibleWrap* accWrap = [self getGoannaAccessible];
|
||||
AccessibleWrap* accWrap = [self getGeckoAccessible];
|
||||
ProxyAccessible* proxy = [self getProxyAccessible];
|
||||
HyperTextAccessible* textAcc = accWrap? accWrap->AsHyperText() : nullptr;
|
||||
if (!textAcc && !proxy)
|
||||
@@ -431,7 +431,7 @@ ToNSString(id aValue)
|
||||
{
|
||||
NS_OBJC_BEGIN_TRY_ABORT_BLOCK_RETURN;
|
||||
|
||||
AccessibleWrap* accWrap = [self getGoannaAccessible];
|
||||
AccessibleWrap* accWrap = [self getGeckoAccessible];
|
||||
ProxyAccessible* proxy = [self getProxyAccessible];
|
||||
HyperTextAccessible* textAcc = accWrap? accWrap->AsHyperText() : nullptr;
|
||||
if (!textAcc && !proxy)
|
||||
@@ -453,7 +453,7 @@ ToNSString(id aValue)
|
||||
{
|
||||
NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NIL;
|
||||
|
||||
AccessibleWrap* accWrap = [self getGoannaAccessible];
|
||||
AccessibleWrap* accWrap = [self getGeckoAccessible];
|
||||
ProxyAccessible* proxy = [self getProxyAccessible];
|
||||
HyperTextAccessible* textAcc = accWrap? accWrap->AsHyperText() : nullptr;
|
||||
if (!textAcc && !proxy)
|
||||
@@ -479,7 +479,7 @@ ToNSString(id aValue)
|
||||
{
|
||||
NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NIL;
|
||||
|
||||
AccessibleWrap* accWrap = [self getGoannaAccessible];
|
||||
AccessibleWrap* accWrap = [self getGeckoAccessible];
|
||||
ProxyAccessible* proxy = [self getProxyAccessible];
|
||||
HyperTextAccessible* textAcc = accWrap? accWrap->AsHyperText() : nullptr;
|
||||
|
||||
@@ -518,7 +518,7 @@ ToNSString(id aValue)
|
||||
{
|
||||
// XXX this won't work with Textarea and such as we actually don't give
|
||||
// the visible character range.
|
||||
AccessibleWrap* accWrap = [self getGoannaAccessible];
|
||||
AccessibleWrap* accWrap = [self getGeckoAccessible];
|
||||
ProxyAccessible* proxy = [self getProxyAccessible];
|
||||
HyperTextAccessible* textAcc = accWrap? accWrap->AsHyperText() : nullptr;
|
||||
if (!textAcc && !proxy)
|
||||
@@ -549,7 +549,7 @@ ToNSString(id aValue)
|
||||
{
|
||||
NS_PRECONDITION(range, "no range");
|
||||
|
||||
AccessibleWrap* accWrap = [self getGoannaAccessible];
|
||||
AccessibleWrap* accWrap = [self getGeckoAccessible];
|
||||
ProxyAccessible* proxy = [self getProxyAccessible];
|
||||
HyperTextAccessible* textAcc = accWrap? accWrap->AsHyperText() : nullptr;
|
||||
if (!textAcc && !proxy)
|
||||
@@ -595,7 +595,7 @@ ToNSString(id aValue)
|
||||
|
||||
- (NSString*)text
|
||||
{
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible]) {
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible]) {
|
||||
return nsCocoaUtils::ToNSString(accWrap->AsTextLeaf()->Text());
|
||||
}
|
||||
|
||||
@@ -610,7 +610,7 @@ ToNSString(id aValue)
|
||||
|
||||
- (long)textLength
|
||||
{
|
||||
if (AccessibleWrap* accWrap = [self getGoannaAccessible]) {
|
||||
if (AccessibleWrap* accWrap = [self getGeckoAccessible]) {
|
||||
return accWrap->AsTextLeaf()->Text().Length();
|
||||
}
|
||||
|
||||
|
||||
@@ -41,14 +41,14 @@
|
||||
}
|
||||
|
||||
if (applicationName == "")
|
||||
applicationName = "Goanna based application";
|
||||
applicationName = "Gecko based application";
|
||||
}
|
||||
is (accessible.name, applicationName, "wrong application accessible name");
|
||||
|
||||
// nsIAccessibleApplication
|
||||
is(accessible.appName, appInfo.name, "Wrong application name");
|
||||
is(accessible.appVersion, appInfo.version, "Wrong application version");
|
||||
is(accessible.platformName, "Goanna", "Wrong platform name");
|
||||
is(accessible.platformName, "Gecko", "Wrong platform name");
|
||||
is(accessible.platformVersion, appInfo.platformVersion,
|
||||
"Wrong platform version");
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
return;
|
||||
|
||||
// Note: always test against valuetext first because the existence of
|
||||
// aria-valuetext takes precedence over aria-valuenow in goanna.
|
||||
// aria-valuetext takes precedence over aria-valuenow in gecko.
|
||||
is(acc.value, (aValuetext != undefined)? aValuetext : aValuenow,
|
||||
"Wrong value of " + prettyName(aNodeOrID));
|
||||
}
|
||||
|
||||
@@ -169,8 +169,8 @@
|
||||
<h6 id="head6">A heading level 6</h6>
|
||||
|
||||
<dl id="definitionlist">
|
||||
<dt id="definitionterm">goanna</dt>
|
||||
<dd id="definitiondescription">goannas have sticky toes</dd>
|
||||
<dt id="definitionterm">gecko</dt>
|
||||
<dd id="definitiondescription">geckos have sticky toes</dd>
|
||||
</dl>
|
||||
|
||||
<span id="span1" onclick="">clickable span</span>
|
||||
|
||||
@@ -163,16 +163,16 @@ ia2Accessible::role(long* aRole)
|
||||
if (acc->IsDefunct())
|
||||
return CO_E_OBJNOTCONNECTED;
|
||||
|
||||
#define ROLE(_goannaRole, stringRole, atkRole, macRole, \
|
||||
#define ROLE(_geckoRole, stringRole, atkRole, macRole, \
|
||||
msaaRole, ia2Role, nameRule) \
|
||||
case roles::_goannaRole: \
|
||||
case roles::_geckoRole: \
|
||||
*aRole = ia2Role; \
|
||||
break;
|
||||
|
||||
a11y::role goannaRole;
|
||||
a11y::role geckoRole;
|
||||
MOZ_ASSERT(!acc->IsProxy());
|
||||
goannaRole = acc->Role();
|
||||
switch (goannaRole) {
|
||||
geckoRole = acc->Role();
|
||||
switch (geckoRole) {
|
||||
#include "RoleMap.h"
|
||||
default:
|
||||
MOZ_CRASH("Unknown role.");
|
||||
@@ -183,7 +183,7 @@ ia2Accessible::role(long* aRole)
|
||||
// Special case, if there is a ROLE_ROW inside of a ROLE_TREE_TABLE, then call
|
||||
// the IA2 role a ROLE_OUTLINEITEM.
|
||||
MOZ_ASSERT(!acc->IsProxy());
|
||||
if (goannaRole == roles::ROW) {
|
||||
if (geckoRole == roles::ROW) {
|
||||
Accessible* xpParent = acc->Parent();
|
||||
if (xpParent && xpParent->Role() == roles::TREE_TABLE)
|
||||
*aRole = ROLE_SYSTEM_OUTLINEITEM;
|
||||
@@ -214,12 +214,12 @@ ia2Accessible::scrollToPoint(enum IA2CoordinateType aCoordType,
|
||||
if (acc->IsDefunct())
|
||||
return CO_E_OBJNOTCONNECTED;
|
||||
|
||||
uint32_t goannaCoordType = (aCoordType == IA2_COORDTYPE_SCREEN_RELATIVE) ?
|
||||
uint32_t geckoCoordType = (aCoordType == IA2_COORDTYPE_SCREEN_RELATIVE) ?
|
||||
nsIAccessibleCoordinateType::COORDTYPE_SCREEN_RELATIVE :
|
||||
nsIAccessibleCoordinateType::COORDTYPE_PARENT_RELATIVE;
|
||||
|
||||
MOZ_ASSERT(!acc->IsProxy());
|
||||
acc->ScrollToPoint(goannaCoordType, aX, aY);
|
||||
acc->ScrollToPoint(geckoCoordType, aX, aY);
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
@@ -279,7 +279,7 @@ ia2Accessible::get_states(AccessibleStates* aStates)
|
||||
if (state & states::REQUIRED)
|
||||
*aStates |= IA2_STATE_REQUIRED;
|
||||
|
||||
// The following IA2 states are not supported by Goanna
|
||||
// The following IA2 states are not supported by Gecko
|
||||
// IA2_STATE_ARMED
|
||||
// IA2_STATE_MANAGES_DESCENDANTS
|
||||
// IA2_STATE_ICONIFIED
|
||||
|
||||
@@ -76,11 +76,11 @@ ia2AccessibleImage::get_imagePosition(enum IA2CoordinateType aCoordType,
|
||||
if (imageAcc->IsDefunct())
|
||||
return CO_E_OBJNOTCONNECTED;
|
||||
|
||||
uint32_t goannaCoordType = (aCoordType == IA2_COORDTYPE_SCREEN_RELATIVE) ?
|
||||
uint32_t geckoCoordType = (aCoordType == IA2_COORDTYPE_SCREEN_RELATIVE) ?
|
||||
nsIAccessibleCoordinateType::COORDTYPE_SCREEN_RELATIVE :
|
||||
nsIAccessibleCoordinateType::COORDTYPE_PARENT_RELATIVE;
|
||||
|
||||
nsIntPoint pos = imageAcc->Position(goannaCoordType);
|
||||
nsIntPoint pos = imageAcc->Position(geckoCoordType);
|
||||
*aX = pos.x;
|
||||
*aY = pos.y;
|
||||
return S_OK;
|
||||
|
||||
@@ -39,8 +39,8 @@ ia2AccessibleRelation::get_relationType(BSTR* aRelationType)
|
||||
|
||||
*aRelationType = nullptr;
|
||||
|
||||
#define RELATIONTYPE(goannaType, goannaTypeName, atkType, msaaType, ia2Type) \
|
||||
case RelationType::goannaType: \
|
||||
#define RELATIONTYPE(geckoType, geckoTypeName, atkType, msaaType, ia2Type) \
|
||||
case RelationType::geckoType: \
|
||||
*aRelationType = ::SysAllocString(ia2Type); \
|
||||
break;
|
||||
|
||||
|
||||
@@ -64,13 +64,13 @@ private:
|
||||
|
||||
|
||||
/**
|
||||
* Goanna to IAccessible2 relation types map.
|
||||
* Gecko to IAccessible2 relation types map.
|
||||
*/
|
||||
|
||||
const WCHAR *const IA2_RELATION_NULL = L"";
|
||||
|
||||
#define RELATIONTYPE(goannaType, name, atkType, msaaType, ia2Type) \
|
||||
std::pair<RelationType, const WCHAR *const>(RelationType::goannaType, ia2Type),
|
||||
#define RELATIONTYPE(geckoType, name, atkType, msaaType, ia2Type) \
|
||||
std::pair<RelationType, const WCHAR *const>(RelationType::geckoType, ia2Type),
|
||||
|
||||
static const std::pair<RelationType, const WCHAR *const> sRelationTypePairs[] = {
|
||||
#include "RelationTypeMap.h"
|
||||
|
||||
@@ -99,7 +99,7 @@ ia2AccessibleText::get_characterExtents(long aOffset,
|
||||
return E_INVALIDARG;
|
||||
*aX = *aY = *aWidth = *aHeight = 0;
|
||||
|
||||
uint32_t goannaCoordType = (aCoordType == IA2_COORDTYPE_SCREEN_RELATIVE) ?
|
||||
uint32_t geckoCoordType = (aCoordType == IA2_COORDTYPE_SCREEN_RELATIVE) ?
|
||||
nsIAccessibleCoordinateType::COORDTYPE_SCREEN_RELATIVE :
|
||||
nsIAccessibleCoordinateType::COORDTYPE_PARENT_RELATIVE;
|
||||
nsIntRect rect;
|
||||
@@ -108,7 +108,7 @@ ia2AccessibleText::get_characterExtents(long aOffset,
|
||||
if (textAcc->IsDefunct())
|
||||
return CO_E_OBJNOTCONNECTED;
|
||||
|
||||
rect = textAcc->CharBounds(aOffset, goannaCoordType);
|
||||
rect = textAcc->CharBounds(aOffset, geckoCoordType);
|
||||
|
||||
*aX = rect.x;
|
||||
*aY = rect.y;
|
||||
@@ -144,7 +144,7 @@ ia2AccessibleText::get_offsetAtPoint(long aX, long aY,
|
||||
return E_INVALIDARG;
|
||||
*aOffset = 0;
|
||||
|
||||
uint32_t goannaCoordType = (aCoordType == IA2_COORDTYPE_SCREEN_RELATIVE) ?
|
||||
uint32_t geckoCoordType = (aCoordType == IA2_COORDTYPE_SCREEN_RELATIVE) ?
|
||||
nsIAccessibleCoordinateType::COORDTYPE_SCREEN_RELATIVE :
|
||||
nsIAccessibleCoordinateType::COORDTYPE_PARENT_RELATIVE;
|
||||
|
||||
@@ -154,7 +154,7 @@ ia2AccessibleText::get_offsetAtPoint(long aX, long aY,
|
||||
return CO_E_OBJNOTCONNECTED;
|
||||
}
|
||||
|
||||
*aOffset = textAcc->OffsetAtPoint(aX, aY, goannaCoordType);
|
||||
*aOffset = textAcc->OffsetAtPoint(aX, aY, geckoCoordType);
|
||||
|
||||
return *aOffset == -1 ? S_FALSE : S_OK;
|
||||
}
|
||||
@@ -238,7 +238,7 @@ ia2AccessibleText::get_textBeforeOffset(long aOffset,
|
||||
endOffset = textAcc->CharacterCount();
|
||||
textAcc->TextSubstring(startOffset, endOffset, text);
|
||||
} else {
|
||||
AccessibleTextBoundary boundaryType = GetGoannaTextBoundary(aBoundaryType);
|
||||
AccessibleTextBoundary boundaryType = GetGeckoTextBoundary(aBoundaryType);
|
||||
if (boundaryType == -1)
|
||||
return S_FALSE;
|
||||
|
||||
@@ -283,7 +283,7 @@ ia2AccessibleText::get_textAfterOffset(long aOffset,
|
||||
endOffset = textAcc->CharacterCount();
|
||||
textAcc->TextSubstring(startOffset, endOffset, text);
|
||||
} else {
|
||||
AccessibleTextBoundary boundaryType = GetGoannaTextBoundary(aBoundaryType);
|
||||
AccessibleTextBoundary boundaryType = GetGeckoTextBoundary(aBoundaryType);
|
||||
if (boundaryType == -1)
|
||||
return S_FALSE;
|
||||
textAcc->TextAfterOffset(aOffset, boundaryType, &startOffset, &endOffset, text);
|
||||
@@ -325,7 +325,7 @@ ia2AccessibleText::get_textAtOffset(long aOffset,
|
||||
endOffset = textAcc->CharacterCount();
|
||||
textAcc->TextSubstring(startOffset, endOffset, text);
|
||||
} else {
|
||||
AccessibleTextBoundary boundaryType = GetGoannaTextBoundary(aBoundaryType);
|
||||
AccessibleTextBoundary boundaryType = GetGeckoTextBoundary(aBoundaryType);
|
||||
if (boundaryType == -1)
|
||||
return S_FALSE;
|
||||
textAcc->TextAtOffset(aOffset, boundaryType, &startOffset, &endOffset, text);
|
||||
@@ -423,7 +423,7 @@ ia2AccessibleText::scrollSubstringToPoint(long aStartIndex, long aEndIndex,
|
||||
enum IA2CoordinateType aCoordType,
|
||||
long aX, long aY)
|
||||
{
|
||||
uint32_t goannaCoordType = (aCoordType == IA2_COORDTYPE_SCREEN_RELATIVE) ?
|
||||
uint32_t geckoCoordType = (aCoordType == IA2_COORDTYPE_SCREEN_RELATIVE) ?
|
||||
nsIAccessibleCoordinateType::COORDTYPE_SCREEN_RELATIVE :
|
||||
nsIAccessibleCoordinateType::COORDTYPE_PARENT_RELATIVE;
|
||||
|
||||
@@ -437,7 +437,7 @@ ia2AccessibleText::scrollSubstringToPoint(long aStartIndex, long aEndIndex,
|
||||
return E_INVALIDARG;
|
||||
|
||||
textAcc->ScrollSubstringToPoint(aStartIndex, aEndIndex,
|
||||
goannaCoordType, aX, aY);
|
||||
geckoCoordType, aX, aY);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
@@ -482,7 +482,7 @@ ia2AccessibleText::GetModifiedText(bool aGetInsertedText,
|
||||
}
|
||||
|
||||
AccessibleTextBoundary
|
||||
ia2AccessibleText::GetGoannaTextBoundary(enum IA2TextBoundaryType aBoundaryType)
|
||||
ia2AccessibleText::GetGeckoTextBoundary(enum IA2TextBoundaryType aBoundaryType)
|
||||
{
|
||||
switch (aBoundaryType) {
|
||||
case IA2_TEXT_BOUNDARY_CHAR:
|
||||
|
||||
@@ -128,7 +128,7 @@ protected:
|
||||
|
||||
private:
|
||||
HRESULT GetModifiedText(bool aGetInsertedText, IA2TextSegment *aNewText);
|
||||
AccessibleTextBoundary GetGoannaTextBoundary(enum IA2TextBoundaryType coordinateType);
|
||||
AccessibleTextBoundary GetGeckoTextBoundary(enum IA2TextBoundaryType coordinateType);
|
||||
};
|
||||
|
||||
} // namespace a11y
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#include "DocAccessible-inl.h"
|
||||
#include "mozilla/a11y/DocAccessibleParent.h"
|
||||
#include "EnumVariant.h"
|
||||
#include "GoannaCustom.h"
|
||||
#include "GeckoCustom.h"
|
||||
#include "nsAccUtils.h"
|
||||
#include "nsCoreUtils.h"
|
||||
#include "nsIAccessibleEvent.h"
|
||||
@@ -157,8 +157,8 @@ AccessibleWrap::QueryInterface(REFIID iid, void** ppv)
|
||||
return hr;
|
||||
}
|
||||
|
||||
if (!*ppv && iid == IID_IGoannaCustom) {
|
||||
RefPtr<GoannaCustom> gkCrap = new GoannaCustom(this);
|
||||
if (!*ppv && iid == IID_IGeckoCustom) {
|
||||
RefPtr<GeckoCustom> gkCrap = new GeckoCustom(this);
|
||||
gkCrap.forget(ppv);
|
||||
return S_OK;
|
||||
}
|
||||
@@ -433,23 +433,23 @@ AccessibleWrap::get_accRole(
|
||||
return accessible->get_accRole(kVarChildIdSelf, pvarRole);
|
||||
}
|
||||
|
||||
a11y::role goannaRole;
|
||||
a11y::role geckoRole;
|
||||
#ifdef DEBUG
|
||||
NS_ASSERTION(nsAccUtils::IsTextInterfaceSupportCorrect(this),
|
||||
"Does not support Text when it should");
|
||||
#endif
|
||||
|
||||
goannaRole = Role();
|
||||
geckoRole = Role();
|
||||
|
||||
uint32_t msaaRole = 0;
|
||||
|
||||
#define ROLE(_goannaRole, stringRole, atkRole, macRole, \
|
||||
#define ROLE(_geckoRole, stringRole, atkRole, macRole, \
|
||||
_msaaRole, ia2Role, nameRule) \
|
||||
case roles::_goannaRole: \
|
||||
case roles::_geckoRole: \
|
||||
msaaRole = _msaaRole; \
|
||||
break;
|
||||
|
||||
switch (goannaRole) {
|
||||
switch (geckoRole) {
|
||||
#include "RoleMap.h"
|
||||
default:
|
||||
MOZ_CRASH("Unknown role.");
|
||||
@@ -460,7 +460,7 @@ AccessibleWrap::get_accRole(
|
||||
// Special case, if there is a ROLE_ROW inside of a ROLE_TREE_TABLE, then call the MSAA role
|
||||
// a ROLE_OUTLINEITEM for consistency and compatibility.
|
||||
// We need this because ARIA has a role of "row" for both grid and treegrid
|
||||
if (goannaRole == roles::ROW) {
|
||||
if (geckoRole == roles::ROW) {
|
||||
Accessible* xpParent = Parent();
|
||||
if (xpParent && xpParent->Role() == roles::TREE_TABLE)
|
||||
msaaRole = ROLE_SYSTEM_OUTLINEITEM;
|
||||
@@ -533,7 +533,7 @@ AccessibleWrap::get_accState(
|
||||
|
||||
// MSAA only has 31 states and the lowest 31 bits of our state bit mask
|
||||
// are the same states as MSAA.
|
||||
// Note: we map the following Goanna states to different MSAA states:
|
||||
// Note: we map the following Gecko states to different MSAA states:
|
||||
// REQUIRED -> ALERT_LOW
|
||||
// ALERT -> ALERT_MEDIUM
|
||||
// INVALID -> ALERT_HIGH
|
||||
@@ -915,9 +915,9 @@ AccessibleWrap::accNavigate(
|
||||
Accessible* navAccessible = nullptr;
|
||||
Maybe<RelationType> xpRelation;
|
||||
|
||||
#define RELATIONTYPE(goannaType, stringType, atkType, msaaType, ia2Type) \
|
||||
#define RELATIONTYPE(geckoType, stringType, atkType, msaaType, ia2Type) \
|
||||
case msaaType: \
|
||||
xpRelation.emplace(RelationType::goannaType); \
|
||||
xpRelation.emplace(RelationType::geckoType); \
|
||||
break;
|
||||
|
||||
switch(navDir) {
|
||||
@@ -1407,7 +1407,7 @@ AccessibleWrap::GetIAccessibleFor(const VARIANT& aVarChild, bool* aIsDefunct)
|
||||
sIDGen.IsIDForThisContentProcess(varChild.lVal));
|
||||
|
||||
if (varChild.lVal > 0) {
|
||||
// Goanna child indices are 0-based in contrast to indices used in MSAA.
|
||||
// Gecko child indices are 0-based in contrast to indices used in MSAA.
|
||||
MOZ_ASSERT(!IsProxy());
|
||||
Accessible* xpAcc = GetChildAt(varChild.lVal - 1);
|
||||
if (!xpAcc) {
|
||||
@@ -1533,7 +1533,7 @@ AccessibleWrap::UpdateSystemCaretFor(Accessible* aAccessible)
|
||||
}
|
||||
|
||||
// Create invisible bitmap for caret, otherwise its appearance interferes
|
||||
// with Goanna caret
|
||||
// with Gecko caret
|
||||
HBITMAP caretBitMap = CreateBitmap(1, caretRect.height, 1, 1, nullptr);
|
||||
if (::CreateCaret(caretWnd, caretBitMap, 1, caretRect.height)) { // Also destroys the last caret
|
||||
::ShowCaret(caretWnd);
|
||||
|
||||
@@ -167,7 +167,7 @@ public: // construction, destruction
|
||||
* The system caret works more universally than the MSAA caret
|
||||
* For example, Window-Eyes, JAWS, ZoomText and Windows Tablet Edition use it
|
||||
* We will use an invisible system caret.
|
||||
* Goanna is still responsible for drawing its own caret
|
||||
* Gecko is still responsible for drawing its own caret
|
||||
*/
|
||||
void UpdateSystemCaretFor(Accessible* aAccessible);
|
||||
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "GeckoCustom.h"
|
||||
|
||||
using namespace mozilla;
|
||||
using namespace mozilla::a11y;
|
||||
|
||||
IMPL_IUNKNOWN_QUERY_HEAD(GeckoCustom)
|
||||
IMPL_IUNKNOWN_QUERY_IFACE(IGeckoCustom)
|
||||
IMPL_IUNKNOWN_QUERY_TAIL_AGGREGATED(mAcc)
|
||||
|
||||
HRESULT
|
||||
GeckoCustom::get_anchorCount(long* aCount)
|
||||
{
|
||||
*aCount = mAcc->AnchorCount();
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
HRESULT
|
||||
GeckoCustom::get_DOMNodeID(BSTR* aID)
|
||||
{
|
||||
nsIContent* content = mAcc->GetContent();
|
||||
if (!content) {
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
nsIAtom* id = content->GetID();
|
||||
if (id) {
|
||||
nsAutoString idStr;
|
||||
id->ToString(idStr);
|
||||
*aID = ::SysAllocStringLen(idStr.get(), idStr.Length());
|
||||
}
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
STDMETHODIMP
|
||||
GeckoCustom::get_ID(uint64_t* aID)
|
||||
{
|
||||
*aID = mAcc->IsDoc() ? 0 : reinterpret_cast<uintptr_t>(mAcc.get());
|
||||
return S_OK;
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#ifndef mozilla_a11y_GeckoCustom_h_
|
||||
#define mozilla_a11y_GeckoCustom_h_
|
||||
|
||||
#include "AccessibleWrap.h"
|
||||
#include "IUnknownImpl.h"
|
||||
#include "IGeckoCustom.h"
|
||||
|
||||
namespace mozilla {
|
||||
namespace a11y {
|
||||
|
||||
/**
|
||||
* a dumpster to put things exposed by the xpcom API but not a windows platform
|
||||
* API for the purposes of testing.
|
||||
*/
|
||||
class GeckoCustom final : public IGeckoCustom
|
||||
{
|
||||
public:
|
||||
explicit GeckoCustom(AccessibleWrap* aAcc) : mAcc(aAcc) {}
|
||||
|
||||
// IUnknown
|
||||
DECL_IUNKNOWN
|
||||
|
||||
virtual STDMETHODIMP get_anchorCount(long* aCount);
|
||||
virtual STDMETHODIMP get_DOMNodeID(BSTR* aID);
|
||||
virtual STDMETHODIMP get_ID(uint64_t* aID);
|
||||
|
||||
private:
|
||||
GeckoCustom() = delete;
|
||||
GeckoCustom& operator =(const GeckoCustom&) = delete;
|
||||
GeckoCustom(const GeckoCustom&) = delete;
|
||||
GeckoCustom(GeckoCustom&&) = delete;
|
||||
GeckoCustom& operator=(GeckoCustom&&) = delete;
|
||||
|
||||
~GeckoCustom() { }
|
||||
|
||||
protected:
|
||||
RefPtr<AccessibleWrap> mAcc;
|
||||
};
|
||||
|
||||
} // a11y namespace
|
||||
} // mozilla namespace
|
||||
|
||||
#endif
|
||||
@@ -1,45 +0,0 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "GoannaCustom.h"
|
||||
|
||||
using namespace mozilla;
|
||||
using namespace mozilla::a11y;
|
||||
|
||||
IMPL_IUNKNOWN_QUERY_HEAD(GoannaCustom)
|
||||
IMPL_IUNKNOWN_QUERY_IFACE(IGoannaCustom)
|
||||
IMPL_IUNKNOWN_QUERY_TAIL_AGGREGATED(mAcc)
|
||||
|
||||
HRESULT
|
||||
GoannaCustom::get_anchorCount(long* aCount)
|
||||
{
|
||||
*aCount = mAcc->AnchorCount();
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
HRESULT
|
||||
GoannaCustom::get_DOMNodeID(BSTR* aID)
|
||||
{
|
||||
nsIContent* content = mAcc->GetContent();
|
||||
if (!content) {
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
nsIAtom* id = content->GetID();
|
||||
if (id) {
|
||||
nsAutoString idStr;
|
||||
id->ToString(idStr);
|
||||
*aID = ::SysAllocStringLen(idStr.get(), idStr.Length());
|
||||
}
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
STDMETHODIMP
|
||||
GoannaCustom::get_ID(uint64_t* aID)
|
||||
{
|
||||
*aID = mAcc->IsDoc() ? 0 : reinterpret_cast<uintptr_t>(mAcc.get());
|
||||
return S_OK;
|
||||
}
|
||||
@@ -1,49 +0,0 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#ifndef mozilla_a11y_GoannaCustom_h_
|
||||
#define mozilla_a11y_GoannaCustom_h_
|
||||
|
||||
#include "AccessibleWrap.h"
|
||||
#include "IUnknownImpl.h"
|
||||
#include "IGoannaCustom.h"
|
||||
|
||||
namespace mozilla {
|
||||
namespace a11y {
|
||||
|
||||
/**
|
||||
* a dumpster to put things exposed by the xpcom API but not a windows platform
|
||||
* API for the purposes of testing.
|
||||
*/
|
||||
class GoannaCustom final : public IGoannaCustom
|
||||
{
|
||||
public:
|
||||
explicit GoannaCustom(AccessibleWrap* aAcc) : mAcc(aAcc) {}
|
||||
|
||||
// IUnknown
|
||||
DECL_IUNKNOWN
|
||||
|
||||
virtual STDMETHODIMP get_anchorCount(long* aCount);
|
||||
virtual STDMETHODIMP get_DOMNodeID(BSTR* aID);
|
||||
virtual STDMETHODIMP get_ID(uint64_t* aID);
|
||||
|
||||
private:
|
||||
GoannaCustom() = delete;
|
||||
GoannaCustom& operator =(const GoannaCustom&) = delete;
|
||||
GoannaCustom(const GoannaCustom&) = delete;
|
||||
GoannaCustom(GoannaCustom&&) = delete;
|
||||
GoannaCustom& operator=(GoannaCustom&&) = delete;
|
||||
|
||||
~GoannaCustom() { }
|
||||
|
||||
protected:
|
||||
RefPtr<AccessibleWrap> mAcc;
|
||||
};
|
||||
|
||||
} // a11y namespace
|
||||
} // mozilla namespace
|
||||
|
||||
#endif
|
||||
@@ -22,7 +22,7 @@ class HTMLWin32ObjectOwnerAccessible : public AccessibleWrap
|
||||
public:
|
||||
// This will own the HTMLWin32ObjectAccessible. We create this where the
|
||||
// <object> or <embed> exists in the tree, so that get_accNextSibling() etc.
|
||||
// will still point to Goanna accessible sibling content. This is necessary
|
||||
// will still point to Gecko accessible sibling content. This is necessary
|
||||
// because the native plugin accessible doesn't know where it exists in the
|
||||
// Mozilla tree, and returns null for previous and next sibling. This would
|
||||
// have the effect of cutting off all content after the plugin.
|
||||
|
||||
@@ -23,7 +23,7 @@ UNIFIED_SOURCES += [
|
||||
'Compatibility.cpp',
|
||||
'DocAccessibleWrap.cpp',
|
||||
'EnumVariant.cpp',
|
||||
'GoannaCustom.cpp',
|
||||
'GeckoCustom.cpp',
|
||||
'HTMLTableAccessibleWrap.cpp',
|
||||
'HTMLWin32ObjectAccessible.cpp',
|
||||
'HyperTextAccessibleWrap.cpp',
|
||||
|
||||
@@ -217,7 +217,7 @@
|
||||
<key>NSSupportsAutomaticGraphicsSwitching</key>
|
||||
<true/>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>GoannaNSApplication</string>
|
||||
<string>GeckoNSApplication</string>
|
||||
<key>SMPrivilegedExecutables</key>
|
||||
<dict>
|
||||
<key>org.mozilla.updater</key>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
DIRS += ['profile/extensions']
|
||||
|
||||
GoannaProgram(CONFIG['MOZ_APP_NAME'])
|
||||
GeckoProgram(CONFIG['MOZ_APP_NAME'])
|
||||
|
||||
JS_PREFERENCE_PP_FILES += [
|
||||
'profile/firefox.js',
|
||||
|
||||
@@ -725,7 +725,7 @@ pref("browser.audioFeeds.handler", "ask");
|
||||
// region.properties file is newer than the version number in the handler
|
||||
// service datastore, it will add any new handlers it finds in the prefs (as
|
||||
// seeded by this file) to its datastore.
|
||||
pref("goanna.handlerService.defaultHandlersVersion", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.defaultHandlersVersion", "chrome://browser-region/locale/region.properties");
|
||||
|
||||
// The default set of web-based protocol handlers shown in the application
|
||||
// selection dialog for webcal: ; I've arbitrarily picked 4 default handlers
|
||||
@@ -733,44 +733,44 @@ pref("goanna.handlerService.defaultHandlersVersion", "chrome://browser-region/lo
|
||||
// protocol not currently listed here), we should go ahead and add those.
|
||||
|
||||
// webcal
|
||||
pref("goanna.handlerService.schemes.webcal.0.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.webcal.0.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.webcal.1.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.webcal.1.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.webcal.2.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.webcal.2.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.webcal.3.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.webcal.3.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.webcal.0.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.webcal.0.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.webcal.1.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.webcal.1.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.webcal.2.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.webcal.2.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.webcal.3.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.webcal.3.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
|
||||
// mailto
|
||||
pref("goanna.handlerService.schemes.mailto.0.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.mailto.0.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.mailto.1.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.mailto.1.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.mailto.2.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.mailto.2.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.mailto.3.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.mailto.3.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.mailto.0.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.mailto.0.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.mailto.1.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.mailto.1.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.mailto.2.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.mailto.2.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.mailto.3.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.mailto.3.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
|
||||
// irc
|
||||
pref("goanna.handlerService.schemes.irc.0.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.irc.0.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.irc.1.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.irc.1.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.irc.2.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.irc.2.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.irc.3.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.irc.3.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.irc.0.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.irc.0.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.irc.1.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.irc.1.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.irc.2.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.irc.2.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.irc.3.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.irc.3.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
|
||||
// ircs
|
||||
pref("goanna.handlerService.schemes.ircs.0.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.ircs.0.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.ircs.1.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.ircs.1.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.ircs.2.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.ircs.2.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.ircs.3.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("goanna.handlerService.schemes.ircs.3.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.ircs.0.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.ircs.0.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.ircs.1.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.ircs.1.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.ircs.2.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.ircs.2.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.ircs.3.name", "chrome://browser-region/locale/region.properties");
|
||||
pref("gecko.handlerService.schemes.ircs.3.uriTemplate", "chrome://browser-region/locale/region.properties");
|
||||
|
||||
pref("browser.geolocation.warning.infoURL", "https://www.basilisk-browser.org/geolocation.shtml");
|
||||
|
||||
@@ -1023,7 +1023,7 @@ pref("security.sandbox.content.level", 2);
|
||||
|
||||
#if defined(XP_MACOSX) || defined(XP_WIN)
|
||||
#if defined(MOZ_SANDBOX) && defined(MOZ_CONTENT_SANDBOX)
|
||||
// ID (a UUID when set by goanna) that is used to form the name of a
|
||||
// ID (a UUID when set by gecko) that is used to form the name of a
|
||||
// sandbox-writable temporary directory to be used by content processes
|
||||
// when a temporary writable file is required in a level 1 sandbox.
|
||||
pref("security.sandbox.content.tempDirSuffix", "");
|
||||
@@ -1249,7 +1249,7 @@ pref("security.insecure_field_warning.contextual.enabled", true);
|
||||
pref("security.cert_pinning.enforcement_level", 1);
|
||||
|
||||
|
||||
// Override the Goanna-default value of false for Firefox.
|
||||
// Override the Gecko-default value of false for Firefox.
|
||||
pref("plain_text.wrap_long_lines", true);
|
||||
|
||||
// If this turns true, Moz*Gesture events are not called stopPropagation()
|
||||
|
||||
@@ -5753,7 +5753,7 @@ function handleDroppedLink(event, urlOrLinks, name) {
|
||||
// called in content process.
|
||||
if (event) {
|
||||
// Keep the event from being handled by the dragDrop listeners
|
||||
// built-in to goanna if they happen to be above us.
|
||||
// built-in to gecko if they happen to be above us.
|
||||
event.preventDefault();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ An example report::
|
||||
"errorCode":-16384,
|
||||
"failedCertChain":[
|
||||
],
|
||||
"userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Goanna/20100101 Firefox/36.0",
|
||||
"userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0",
|
||||
"version":1,
|
||||
"build":"20141022164419",
|
||||
"product":"Firefox",
|
||||
|
||||
@@ -91,9 +91,9 @@ const OVERRIDE_NEW_BUILD_ID = 3;
|
||||
* Returns:
|
||||
* OVERRIDE_NEW_PROFILE if this is the first run with a new profile.
|
||||
* OVERRIDE_NEW_MSTONE if this is the first run with a build with a different
|
||||
* Goanna milestone (i.e. right after an upgrade).
|
||||
* Gecko milestone (i.e. right after an upgrade).
|
||||
* OVERRIDE_NEW_BUILD_ID if this is the first run with a new build ID of the
|
||||
* same Goanna milestone (i.e. after a nightly upgrade).
|
||||
* same Gecko milestone (i.e. after a nightly upgrade).
|
||||
* OVERRIDE_NONE otherwise.
|
||||
*/
|
||||
function needHomepageOverride(prefb) {
|
||||
|
||||
@@ -389,7 +389,7 @@ HandlerInfoWrapper.prototype = {
|
||||
disabledPluginTypes.join(","));
|
||||
|
||||
// Update the category manager so existing browser windows update.
|
||||
this._categoryMgr.deleteCategoryEntry("Goanna-Content-Viewers",
|
||||
this._categoryMgr.deleteCategoryEntry("Gecko-Content-Viewers",
|
||||
this.type,
|
||||
false);
|
||||
},
|
||||
@@ -405,7 +405,7 @@ HandlerInfoWrapper.prototype = {
|
||||
|
||||
// Update the category manager so existing browser windows update.
|
||||
this._categoryMgr.
|
||||
addCategoryEntry("Goanna-Content-Viewers",
|
||||
addCategoryEntry("Gecko-Content-Viewers",
|
||||
this.type,
|
||||
"@mozilla.org/content/plugin/document-loader-factory;1",
|
||||
false,
|
||||
|
||||
@@ -199,7 +199,7 @@ var SessionFileInternal = {
|
||||
// has been scheduled that will eventually resolve `_deferredInitialized`.
|
||||
_initializationStarted: false,
|
||||
|
||||
// The ID of the latest version of Goanna for which we have an upgrade backup
|
||||
// The ID of the latest version of Gecko for which we have an upgrade backup
|
||||
// or |undefined| if no upgrade backup was ever written.
|
||||
get latestUpgradeBackupID() {
|
||||
try {
|
||||
|
||||
@@ -262,7 +262,7 @@ var PdfJs = {
|
||||
// Update the category manager in case the plugins are already loaded.
|
||||
let categoryManager = Cc['@mozilla.org/categorymanager;1'];
|
||||
categoryManager.getService(Ci.nsICategoryManager).
|
||||
deleteCategoryEntry('Goanna-Content-Viewers',
|
||||
deleteCategoryEntry('Gecko-Content-Viewers',
|
||||
PDF_CONTENT_TYPE,
|
||||
false);
|
||||
},
|
||||
|
||||
@@ -187,7 +187,7 @@
|
||||
@RESPATH@/components/composer.xpt
|
||||
@RESPATH@/components/content_events.xpt
|
||||
@RESPATH@/components/content_html.xpt
|
||||
@RESPATH@/components/content_goannamediaplugins.xpt
|
||||
@RESPATH@/components/content_geckomediaplugins.xpt
|
||||
#ifdef MOZ_WEBRTC
|
||||
@RESPATH@/components/content_webrtc.xpt
|
||||
#endif
|
||||
|
||||
@@ -519,7 +519,7 @@
|
||||
${WriteRegStr2} $TmpVal "$0" "Plugins" "$8\plugins" 0
|
||||
|
||||
StrCpy $0 "Software\Mozilla\${BrandFullNameInternal} ${AppVersion}$3"
|
||||
${WriteRegStr2} $TmpVal "$0" "GoannaVer" "${GREVersion}" 0
|
||||
${WriteRegStr2} $TmpVal "$0" "GeckoVer" "${GREVersion}" 0
|
||||
${If} "$3" == ""
|
||||
DeleteRegValue SHCTX "$0" "ESR"
|
||||
${Else}
|
||||
|
||||
@@ -20,22 +20,22 @@ browser.contentHandlers.types.0.uri=https://add.my.yahoo.com/rss?url=%s
|
||||
# profile database. Note that "new" is defined as "has a different URL"; this
|
||||
# means that it's not possible to update the name of existing handler, so
|
||||
# don't make any spelling errors here.
|
||||
goanna.handlerService.defaultHandlersVersion=4
|
||||
gecko.handlerService.defaultHandlersVersion=4
|
||||
|
||||
# The default set of protocol handlers for webcal:
|
||||
goanna.handlerService.schemes.webcal.0.name=30 Boxes
|
||||
goanna.handlerService.schemes.webcal.0.uriTemplate=https://30boxes.com/external/widget?refer=ff&url=%s
|
||||
gecko.handlerService.schemes.webcal.0.name=30 Boxes
|
||||
gecko.handlerService.schemes.webcal.0.uriTemplate=https://30boxes.com/external/widget?refer=ff&url=%s
|
||||
|
||||
# The default set of protocol handlers for mailto:
|
||||
goanna.handlerService.schemes.mailto.0.name=Yahoo! Mail
|
||||
goanna.handlerService.schemes.mailto.0.uriTemplate=https://compose.mail.yahoo.com/?To=%s
|
||||
goanna.handlerService.schemes.mailto.1.name=Gmail
|
||||
goanna.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s
|
||||
gecko.handlerService.schemes.mailto.0.name=Yahoo! Mail
|
||||
gecko.handlerService.schemes.mailto.0.uriTemplate=https://compose.mail.yahoo.com/?To=%s
|
||||
gecko.handlerService.schemes.mailto.1.name=Gmail
|
||||
gecko.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s
|
||||
|
||||
# The default set of protocol handlers for irc:
|
||||
goanna.handlerService.schemes.irc.0.name=Mibbit
|
||||
goanna.handlerService.schemes.irc.0.uriTemplate=https://www.mibbit.com/?url=%s
|
||||
gecko.handlerService.schemes.irc.0.name=Mibbit
|
||||
gecko.handlerService.schemes.irc.0.uriTemplate=https://www.mibbit.com/?url=%s
|
||||
|
||||
# The default set of protocol handlers for ircs:
|
||||
goanna.handlerService.schemes.ircs.0.name=Mibbit
|
||||
goanna.handlerService.schemes.ircs.0.uriTemplate=https://www.mibbit.com/?url=%s
|
||||
gecko.handlerService.schemes.ircs.0.name=Mibbit
|
||||
gecko.handlerService.schemes.ircs.0.uriTemplate=https://www.mibbit.com/?url=%s
|
||||
|
||||
@@ -32,7 +32,7 @@ def test(mod, path, entity = None):
|
||||
return ("ignore"
|
||||
if (re.match(r"browser\.search\.order\.[1-9]", entity) or
|
||||
re.match(r"browser\.contentHandlers\.types\.[0-5]", entity) or
|
||||
re.match(r"goanna\.handlerService\.schemes\.", entity) or
|
||||
re.match(r"goanna\.handlerService\.defaultHandlersVersion", entity))
|
||||
re.match(r"gecko\.handlerService\.schemes\.", entity) or
|
||||
re.match(r"gecko\.handlerService\.defaultHandlersVersion", entity))
|
||||
else "error")
|
||||
return "error"
|
||||
|
||||
@@ -868,7 +868,7 @@ this.PluginCrashReporter = {
|
||||
* @param runID
|
||||
* The runID of the plugin that crashed. A run ID is a unique
|
||||
* identifier for a particular run of a plugin process - and is
|
||||
* analogous to a process ID (though it is managed by Goanna instead
|
||||
* analogous to a process ID (though it is managed by Gecko instead
|
||||
* of the operating system).
|
||||
* @param keyVals
|
||||
* An object whose key-value pairs will be merged
|
||||
|
||||
@@ -989,7 +989,7 @@ PluginContent.prototype = {
|
||||
|
||||
/**
|
||||
* The PluginCrashed event handler. Note that the PluginCrashed event is
|
||||
* fired for both NPAPI and Goanna Media plugins. In the latter case, the
|
||||
* fired for both NPAPI and Gecko Media plugins. In the latter case, the
|
||||
* target of the event is the document that the GMP is being used in.
|
||||
*/
|
||||
onPluginCrashed(target, aEvent) {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
package org.mozilla.goanna.annotationProcessors;
|
||||
package org.mozilla.gecko.annotationProcessors;
|
||||
|
||||
/**
|
||||
* Object holding annotation data. Used by GeneratableElementIterator.
|
||||
@@ -19,7 +19,7 @@ public class AnnotationInfo {
|
||||
}
|
||||
|
||||
public enum CallingThread {
|
||||
GOANNA,
|
||||
GECKO,
|
||||
UI,
|
||||
ANY;
|
||||
|
||||
@@ -29,7 +29,7 @@ public class AnnotationInfo {
|
||||
}
|
||||
|
||||
public enum DispatchTarget {
|
||||
GOANNA,
|
||||
GECKO,
|
||||
PROXY,
|
||||
CURRENT;
|
||||
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
package org.mozilla.goanna.annotationProcessors;
|
||||
package org.mozilla.gecko.annotationProcessors;
|
||||
|
||||
import org.mozilla.goanna.annotationProcessors.classloader.AnnotatableEntity;
|
||||
import org.mozilla.goanna.annotationProcessors.classloader.ClassWithOptions;
|
||||
import org.mozilla.goanna.annotationProcessors.classloader.IterableJarLoadingURLClassLoader;
|
||||
import org.mozilla.goanna.annotationProcessors.utils.GeneratableElementIterator;
|
||||
import org.mozilla.gecko.annotationProcessors.classloader.AnnotatableEntity;
|
||||
import org.mozilla.gecko.annotationProcessors.classloader.ClassWithOptions;
|
||||
import org.mozilla.gecko.annotationProcessors.classloader.IterableJarLoadingURLClassLoader;
|
||||
import org.mozilla.gecko.annotationProcessors.utils.GeneratableElementIterator;
|
||||
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
package org.mozilla.goanna.annotationProcessors;
|
||||
package org.mozilla.gecko.annotationProcessors;
|
||||
|
||||
import org.mozilla.goanna.annotationProcessors.classloader.AnnotatableEntity;
|
||||
import org.mozilla.goanna.annotationProcessors.classloader.ClassWithOptions;
|
||||
import org.mozilla.goanna.annotationProcessors.utils.Utils;
|
||||
import org.mozilla.gecko.annotationProcessors.classloader.AnnotatableEntity;
|
||||
import org.mozilla.gecko.annotationProcessors.classloader.ClassWithOptions;
|
||||
import org.mozilla.gecko.annotationProcessors.utils.Utils;
|
||||
|
||||
import java.lang.annotation.Annotation;
|
||||
import java.lang.reflect.Constructor;
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
package org.mozilla.goanna.annotationProcessors;
|
||||
package org.mozilla.gecko.annotationProcessors;
|
||||
|
||||
import com.android.tools.lint.checks.ApiLookup;
|
||||
import com.android.tools.lint.LintCliClient;
|
||||
|
||||
import org.mozilla.goanna.annotationProcessors.classloader.AnnotatableEntity;
|
||||
import org.mozilla.goanna.annotationProcessors.classloader.ClassWithOptions;
|
||||
import org.mozilla.goanna.annotationProcessors.classloader.IterableJarLoadingURLClassLoader;
|
||||
import org.mozilla.goanna.annotationProcessors.utils.GeneratableElementIterator;
|
||||
import org.mozilla.goanna.annotationProcessors.utils.Utils;
|
||||
import org.mozilla.gecko.annotationProcessors.classloader.AnnotatableEntity;
|
||||
import org.mozilla.gecko.annotationProcessors.classloader.ClassWithOptions;
|
||||
import org.mozilla.gecko.annotationProcessors.classloader.IterableJarLoadingURLClassLoader;
|
||||
import org.mozilla.gecko.annotationProcessors.utils.GeneratableElementIterator;
|
||||
import org.mozilla.gecko.annotationProcessors.utils.Utils;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
package org.mozilla.goanna.annotationProcessors.classloader;
|
||||
package org.mozilla.gecko.annotationProcessors.classloader;
|
||||
|
||||
import org.mozilla.goanna.annotationProcessors.AnnotationInfo;
|
||||
import org.mozilla.gecko.annotationProcessors.AnnotationInfo;
|
||||
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
package org.mozilla.goanna.annotationProcessors.classloader;
|
||||
package org.mozilla.gecko.annotationProcessors.classloader;
|
||||
|
||||
public class ClassWithOptions {
|
||||
public final Class<?> wrappedClass;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
package org.mozilla.goanna.annotationProcessors.classloader;
|
||||
package org.mozilla.gecko.annotationProcessors.classloader;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
package org.mozilla.goanna.annotationProcessors.classloader;
|
||||
package org.mozilla.gecko.annotationProcessors.classloader;
|
||||
|
||||
import java.util.Iterator;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
package org.mozilla.goanna.annotationProcessors.utils;
|
||||
package org.mozilla.gecko.annotationProcessors.utils;
|
||||
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
package org.mozilla.goanna.annotationProcessors.utils;
|
||||
package org.mozilla.gecko.annotationProcessors.utils;
|
||||
|
||||
import org.mozilla.goanna.annotationProcessors.AnnotationInfo;
|
||||
import org.mozilla.goanna.annotationProcessors.classloader.AnnotatableEntity;
|
||||
import org.mozilla.goanna.annotationProcessors.classloader.ClassWithOptions;
|
||||
import org.mozilla.gecko.annotationProcessors.AnnotationInfo;
|
||||
import org.mozilla.gecko.annotationProcessors.classloader.AnnotatableEntity;
|
||||
import org.mozilla.gecko.annotationProcessors.classloader.ClassWithOptions;
|
||||
|
||||
import java.lang.annotation.Annotation;
|
||||
import java.lang.reflect.AnnotatedElement;
|
||||
@@ -150,7 +150,7 @@ public class GeneratableElementIterator implements Iterator<AnnotatableEntity> {
|
||||
private AnnotationInfo buildAnnotationInfo(AnnotatedElement element, Annotation annotation) {
|
||||
Class<? extends Annotation> annotationType = annotation.annotationType();
|
||||
final String annotationTypeName = annotationType.getName();
|
||||
if (!annotationTypeName.equals("org.mozilla.goanna.annotation.WrapForJNI")) {
|
||||
if (!annotationTypeName.equals("org.mozilla.gecko.annotation.WrapForJNI")) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
package org.mozilla.goanna.annotationProcessors.utils;
|
||||
package org.mozilla.gecko.annotationProcessors.utils;
|
||||
|
||||
import org.mozilla.goanna.annotationProcessors.AnnotationInfo;
|
||||
import org.mozilla.gecko.annotationProcessors.AnnotationInfo;
|
||||
|
||||
import java.lang.reflect.AnnotatedElement;
|
||||
import java.lang.reflect.Constructor;
|
||||
|
||||
@@ -24,7 +24,7 @@ def main(output, file):
|
||||
appdata['flags'] = ' | '.join(flags) if flags else '0'
|
||||
appdata['App:profile'] = '"%s"' % appdata['App:profile'] if 'App:profile' in appdata else 'NULL'
|
||||
expected = ('App:vendor', 'App:name', 'App:remotingname', 'App:version', 'App:buildid',
|
||||
'App:id', 'Goanna:minversion', 'Goanna:maxversion')
|
||||
'App:id', 'Gecko:minversion', 'Gecko:maxversion')
|
||||
missing = [var for var in expected if var not in appdata]
|
||||
if missing:
|
||||
print >>sys.stderr, \
|
||||
@@ -44,8 +44,8 @@ def main(output, file):
|
||||
"%(App:id)s",
|
||||
NULL, // copyright
|
||||
%(flags)s,
|
||||
"%(Goanna:minversion)s",
|
||||
"%(Goanna:maxversion)s",
|
||||
"%(Gecko:minversion)s",
|
||||
"%(Gecko:maxversion)s",
|
||||
"%(Crash Reporter:serverurl)s",
|
||||
%(App:profile)s
|
||||
};''' % appdata)
|
||||
|
||||
@@ -39,7 +39,7 @@ SourceStamp=@MOZ_SOURCE_STAMP@
|
||||
#endif
|
||||
ID=@MOZ_APP_ID@
|
||||
|
||||
[Goanna]
|
||||
[Gecko]
|
||||
MinVersion=@GRE_MILESTONE@
|
||||
MaxVersion=@GRE_MILESTONE@
|
||||
|
||||
|
||||
@@ -184,7 +184,7 @@ if test "$GNU_CC"; then
|
||||
4.*)
|
||||
;;
|
||||
*)
|
||||
# Lifetime Dead Store Elimination level 2 (default in GCC6+) breaks Goanna.
|
||||
# Lifetime Dead Store Elimination level 2 (default in GCC6+) breaks Gecko.
|
||||
# Ideally, we'd use -flifetime-dse=1, but that means we'd forcefully
|
||||
# enable it on optimization levels where it would otherwise not be enabled.
|
||||
# So we disable it entirely. But since that would mean inconsistency with
|
||||
|
||||
@@ -103,7 +103,7 @@ if test "$MOZ_BUILD_APP" != js -o -n "$JS_STANDALONE"; then
|
||||
fi
|
||||
|
||||
# jemalloc's configure runs git to determine the version. But when building
|
||||
# from a goanna git clone, the git commands it uses is going to pick goanna's
|
||||
# from a gecko git clone, the git commands it uses is going to pick gecko's
|
||||
# information, not jemalloc's, which is useless. So pretend we don't have git
|
||||
# at all. That will make jemalloc's configure pick the in-tree VERSION file.
|
||||
(PATH="$srcdir/memory/jemalloc/helper:$PATH";
|
||||
|
||||
@@ -323,26 +323,26 @@ On e.g. Linux, the above ``myprog`` will have DT_NEEDED markers for
|
||||
requirement for ``myprog`` is ``libfoo.so`` instead of ``libotherlib.so``.
|
||||
|
||||
|
||||
Goanna-related binaries
|
||||
Gecko-related binaries
|
||||
======================
|
||||
|
||||
Some programs or libraries are totally independent of Goanna, and can use the
|
||||
above mentioned templates. Others are Goanna-related in some way, and may
|
||||
Some programs or libraries are totally independent of Gecko, and can use the
|
||||
above mentioned templates. Others are Gecko-related in some way, and may
|
||||
need XPCOM linkage, mozglue. These things are tedious. A set of additional
|
||||
templates exists to ease defining such programs and libraries. They are
|
||||
essentially the same as the above mentioned templates, prefixed with "Goanna":
|
||||
essentially the same as the above mentioned templates, prefixed with "Gecko":
|
||||
|
||||
- ``GoannaProgram``
|
||||
- ``GoannaSimplePrograms``
|
||||
- ``GoannaCppUnitTests``
|
||||
- ``GoannaSharedLibrary``
|
||||
- ``GoannaFramework``
|
||||
- ``GeckoProgram``
|
||||
- ``GeckoSimplePrograms``
|
||||
- ``GeckoCppUnitTests``
|
||||
- ``GeckoSharedLibrary``
|
||||
- ``GeckoFramework``
|
||||
|
||||
There is also ``XPCOMBinaryComponent`` for XPCOM components, which is a
|
||||
special kind of library.
|
||||
|
||||
All the Goanna-prefixed templates take the same arguments as their
|
||||
non-Goanna-prefixed counterparts, and can take a few more arguments
|
||||
for non-standard cases. See the definition of ``GoannaBinary`` in
|
||||
build/goanna_templates.mozbuild for more details, but most usecases
|
||||
All the Gecko-prefixed templates take the same arguments as their
|
||||
non-Gecko-prefixed counterparts, and can take a few more arguments
|
||||
for non-standard cases. See the definition of ``GeckoBinary`` in
|
||||
build/gecko_templates.mozbuild for more details, but most usecases
|
||||
should not require these additional arguments.
|
||||
|
||||
@@ -77,7 +77,7 @@ last ``#if`` was true (output was enabled), an ``#else`` makes it off
|
||||
unlike the C preprocessor.
|
||||
|
||||
It does not matter whether any blocks before it were true. This behavior
|
||||
changed on trunk (Goanna 1.9) on 2006-12-07; see Bug 277122 for details.
|
||||
changed on trunk (Gecko 1.9) on 2006-12-07; see Bug 277122 for details.
|
||||
|
||||
::
|
||||
|
||||
@@ -143,7 +143,7 @@ The following two blocks are equivalent::
|
||||
.. warning:: An ``#elif``, ``#elifdef``, or ``#elifndef`` is relative to
|
||||
the last conditional block only (as well as the condition it implies),
|
||||
unlike the C preprocessor. It does not matter whether any blocks before
|
||||
it were true. This behavior changed on trunk (Goanna 1.9) on 2006-12-07.
|
||||
it were true. This behavior changed on trunk (Gecko 1.9) on 2006-12-07.
|
||||
See Bug 277122 for details.
|
||||
|
||||
File Inclusion
|
||||
|
||||
@@ -0,0 +1,161 @@
|
||||
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
||||
# vim: set filetype=python:
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
@template
|
||||
def GeckoBinary(linkage='dependent', msvcrt='dynamic', mozglue=None):
|
||||
'''Template for Gecko-related binaries.
|
||||
|
||||
This template is meant to be used in other templates.
|
||||
|
||||
`linkage` indicates the wanted xpcom linkage type. Valid values are
|
||||
'dependent', 'standalone' or None. 'dependent' is the default. It is
|
||||
used for e.g. XPCOM components and executables with direct dependencies
|
||||
on libxul. Most executables should use the 'standalone' linkage, which
|
||||
uses the standalone XPCOM glue to load libxul. None means no XPCOM glue
|
||||
or libxul linkage at all.
|
||||
|
||||
`msvcrt` indicates which Microsoft Visual Studio CRT, for Windows build,
|
||||
ought to be linked: 'static' or 'dynamic'.
|
||||
|
||||
`mozglue` indicates whether to link against the mozglue library, and if
|
||||
so, what linkage to apply. Valid values are None (mozglue not linked),
|
||||
'program' (mozglue linked to an executable program), or 'library' (mozglue
|
||||
linked to a shared library).
|
||||
'''
|
||||
if msvcrt == 'dynamic' or CONFIG['OS_ARCH'] != 'WINNT' or CONFIG['MOZ_ASAN']:
|
||||
xpcomglue = 'xpcomglue'
|
||||
elif msvcrt == 'static':
|
||||
USE_STATIC_LIBS = True
|
||||
xpcomglue = 'xpcomglue_staticruntime'
|
||||
if not CONFIG['GNU_CC']:
|
||||
mozglue = None
|
||||
if linkage == 'dependent':
|
||||
USE_LIBS += [
|
||||
'mozalloc_staticruntime',
|
||||
]
|
||||
else:
|
||||
error('msvcrt must be "dynamic" or "static"')
|
||||
|
||||
if linkage == 'dependent':
|
||||
USE_LIBS += [
|
||||
'nspr',
|
||||
'xul',
|
||||
]
|
||||
elif linkage == 'standalone':
|
||||
DEFINES['XPCOM_GLUE'] = True
|
||||
|
||||
USE_LIBS += [
|
||||
xpcomglue,
|
||||
]
|
||||
elif linkage != None:
|
||||
error('`linkage` must be "dependent", "standalone" or None')
|
||||
|
||||
if mozglue:
|
||||
LDFLAGS += CONFIG['MOZ_GLUE_WRAP_LDFLAGS']
|
||||
if mozglue == 'program':
|
||||
USE_LIBS += ['mozglue']
|
||||
DEFINES['MOZ_HAS_MOZGLUE'] = True
|
||||
if CONFIG['MOZ_GLUE_IN_PROGRAM']:
|
||||
if CONFIG['GNU_CC']:
|
||||
LDFLAGS += ['-rdynamic']
|
||||
if CONFIG['MOZ_MEMORY']:
|
||||
USE_LIBS += ['memory']
|
||||
elif mozglue == 'library':
|
||||
LIBRARY_DEFINES['MOZ_HAS_MOZGLUE'] = True
|
||||
if not CONFIG['MOZ_GLUE_IN_PROGRAM']:
|
||||
USE_LIBS += ['mozglue']
|
||||
else:
|
||||
error('`mozglue` must be "program" or "library"')
|
||||
|
||||
if not CONFIG['JS_STANDALONE']:
|
||||
USE_LIBS += [
|
||||
'fallible',
|
||||
]
|
||||
|
||||
|
||||
@template
|
||||
def GeckoProgram(name, linkage='standalone', **kwargs):
|
||||
'''Template for program executables related to Gecko.
|
||||
|
||||
`name` identifies the executable base name.
|
||||
|
||||
See the documentation for `GeckoBinary` for other possible arguments,
|
||||
with the notable difference that the default for `linkage` is 'standalone'.
|
||||
'''
|
||||
Program(name)
|
||||
|
||||
kwargs.setdefault('mozglue', 'program')
|
||||
|
||||
GeckoBinary(linkage=linkage, **kwargs)
|
||||
|
||||
|
||||
@template
|
||||
def GeckoSimplePrograms(names, **kwargs):
|
||||
'''Template for simple program executables related to Gecko.
|
||||
|
||||
`names` identifies the executable base names for each executable.
|
||||
|
||||
See the documentation for `GeckoBinary` for other possible arguments.
|
||||
'''
|
||||
SimplePrograms(names)
|
||||
|
||||
kwargs.setdefault('mozglue', 'program')
|
||||
|
||||
GeckoBinary(**kwargs)
|
||||
|
||||
|
||||
@template
|
||||
def GeckoCppUnitTests(names, **kwargs):
|
||||
'''Template for C++ unit tests related to Gecko.
|
||||
|
||||
`names` identifies the executable base names for each executable.
|
||||
|
||||
See the documentation for `GeckoBinary` for other possible arguments.
|
||||
'''
|
||||
CppUnitTests(names)
|
||||
|
||||
kwargs.setdefault('mozglue', 'program')
|
||||
|
||||
GeckoBinary(**kwargs)
|
||||
|
||||
|
||||
@template
|
||||
def GeckoSharedLibrary(name, **kwargs):
|
||||
'''Template for shared libraries related to Gecko.
|
||||
|
||||
`name` identifies the library base name.
|
||||
See the documentation for `GeckoBinary` for other possible arguments.
|
||||
'''
|
||||
SharedLibrary(name)
|
||||
|
||||
kwargs.setdefault('mozglue', 'library')
|
||||
|
||||
GeckoBinary(**kwargs)
|
||||
|
||||
|
||||
@template
|
||||
def GeckoFramework(name, **kwargs):
|
||||
'''Template for OSX frameworks related to Gecko.
|
||||
|
||||
`name` identifies the library base name.
|
||||
See the documentation for `GeckoBinary` for other possible arguments.
|
||||
'''
|
||||
Framework(name)
|
||||
|
||||
kwargs.setdefault('mozglue', 'library')
|
||||
|
||||
GeckoBinary(**kwargs)
|
||||
|
||||
|
||||
@template
|
||||
def XPCOMBinaryComponent(name):
|
||||
'''Template defining an XPCOM binary component for Gecko.
|
||||
|
||||
`name` is the name of the component.
|
||||
'''
|
||||
GeckoSharedLibrary(name)
|
||||
|
||||
IS_COMPONENT = True
|
||||
@@ -1,161 +0,0 @@
|
||||
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
||||
# vim: set filetype=python:
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
@template
|
||||
def GoannaBinary(linkage='dependent', msvcrt='dynamic', mozglue=None):
|
||||
'''Template for Goanna-related binaries.
|
||||
|
||||
This template is meant to be used in other templates.
|
||||
|
||||
`linkage` indicates the wanted xpcom linkage type. Valid values are
|
||||
'dependent', 'standalone' or None. 'dependent' is the default. It is
|
||||
used for e.g. XPCOM components and executables with direct dependencies
|
||||
on libxul. Most executables should use the 'standalone' linkage, which
|
||||
uses the standalone XPCOM glue to load libxul. None means no XPCOM glue
|
||||
or libxul linkage at all.
|
||||
|
||||
`msvcrt` indicates which Microsoft Visual Studio CRT, for Windows build,
|
||||
ought to be linked: 'static' or 'dynamic'.
|
||||
|
||||
`mozglue` indicates whether to link against the mozglue library, and if
|
||||
so, what linkage to apply. Valid values are None (mozglue not linked),
|
||||
'program' (mozglue linked to an executable program), or 'library' (mozglue
|
||||
linked to a shared library).
|
||||
'''
|
||||
if msvcrt == 'dynamic' or CONFIG['OS_ARCH'] != 'WINNT' or CONFIG['MOZ_ASAN']:
|
||||
xpcomglue = 'xpcomglue'
|
||||
elif msvcrt == 'static':
|
||||
USE_STATIC_LIBS = True
|
||||
xpcomglue = 'xpcomglue_staticruntime'
|
||||
if not CONFIG['GNU_CC']:
|
||||
mozglue = None
|
||||
if linkage == 'dependent':
|
||||
USE_LIBS += [
|
||||
'mozalloc_staticruntime',
|
||||
]
|
||||
else:
|
||||
error('msvcrt must be "dynamic" or "static"')
|
||||
|
||||
if linkage == 'dependent':
|
||||
USE_LIBS += [
|
||||
'nspr',
|
||||
'xul',
|
||||
]
|
||||
elif linkage == 'standalone':
|
||||
DEFINES['XPCOM_GLUE'] = True
|
||||
|
||||
USE_LIBS += [
|
||||
xpcomglue,
|
||||
]
|
||||
elif linkage != None:
|
||||
error('`linkage` must be "dependent", "standalone" or None')
|
||||
|
||||
if mozglue:
|
||||
LDFLAGS += CONFIG['MOZ_GLUE_WRAP_LDFLAGS']
|
||||
if mozglue == 'program':
|
||||
USE_LIBS += ['mozglue']
|
||||
DEFINES['MOZ_HAS_MOZGLUE'] = True
|
||||
if CONFIG['MOZ_GLUE_IN_PROGRAM']:
|
||||
if CONFIG['GNU_CC']:
|
||||
LDFLAGS += ['-rdynamic']
|
||||
if CONFIG['MOZ_MEMORY']:
|
||||
USE_LIBS += ['memory']
|
||||
elif mozglue == 'library':
|
||||
LIBRARY_DEFINES['MOZ_HAS_MOZGLUE'] = True
|
||||
if not CONFIG['MOZ_GLUE_IN_PROGRAM']:
|
||||
USE_LIBS += ['mozglue']
|
||||
else:
|
||||
error('`mozglue` must be "program" or "library"')
|
||||
|
||||
if not CONFIG['JS_STANDALONE']:
|
||||
USE_LIBS += [
|
||||
'fallible',
|
||||
]
|
||||
|
||||
|
||||
@template
|
||||
def GoannaProgram(name, linkage='standalone', **kwargs):
|
||||
'''Template for program executables related to Goanna.
|
||||
|
||||
`name` identifies the executable base name.
|
||||
|
||||
See the documentation for `GoannaBinary` for other possible arguments,
|
||||
with the notable difference that the default for `linkage` is 'standalone'.
|
||||
'''
|
||||
Program(name)
|
||||
|
||||
kwargs.setdefault('mozglue', 'program')
|
||||
|
||||
GoannaBinary(linkage=linkage, **kwargs)
|
||||
|
||||
|
||||
@template
|
||||
def GoannaSimplePrograms(names, **kwargs):
|
||||
'''Template for simple program executables related to Goanna.
|
||||
|
||||
`names` identifies the executable base names for each executable.
|
||||
|
||||
See the documentation for `GoannaBinary` for other possible arguments.
|
||||
'''
|
||||
SimplePrograms(names)
|
||||
|
||||
kwargs.setdefault('mozglue', 'program')
|
||||
|
||||
GoannaBinary(**kwargs)
|
||||
|
||||
|
||||
@template
|
||||
def GoannaCppUnitTests(names, **kwargs):
|
||||
'''Template for C++ unit tests related to Goanna.
|
||||
|
||||
`names` identifies the executable base names for each executable.
|
||||
|
||||
See the documentation for `GoannaBinary` for other possible arguments.
|
||||
'''
|
||||
CppUnitTests(names)
|
||||
|
||||
kwargs.setdefault('mozglue', 'program')
|
||||
|
||||
GoannaBinary(**kwargs)
|
||||
|
||||
|
||||
@template
|
||||
def GoannaSharedLibrary(name, **kwargs):
|
||||
'''Template for shared libraries related to Goanna.
|
||||
|
||||
`name` identifies the library base name.
|
||||
See the documentation for `GoannaBinary` for other possible arguments.
|
||||
'''
|
||||
SharedLibrary(name)
|
||||
|
||||
kwargs.setdefault('mozglue', 'library')
|
||||
|
||||
GoannaBinary(**kwargs)
|
||||
|
||||
|
||||
@template
|
||||
def GoannaFramework(name, **kwargs):
|
||||
'''Template for OSX frameworks related to Goanna.
|
||||
|
||||
`name` identifies the library base name.
|
||||
See the documentation for `GoannaBinary` for other possible arguments.
|
||||
'''
|
||||
Framework(name)
|
||||
|
||||
kwargs.setdefault('mozglue', 'library')
|
||||
|
||||
GoannaBinary(**kwargs)
|
||||
|
||||
|
||||
@template
|
||||
def XPCOMBinaryComponent(name):
|
||||
'''Template defining an XPCOM binary component for Goanna.
|
||||
|
||||
`name` is the name of the component.
|
||||
'''
|
||||
GoannaSharedLibrary(name)
|
||||
|
||||
IS_COMPONENT = True
|
||||
@@ -61,7 +61,7 @@ if test -z "$bucket" -a -z "$SCCACHE_DISABLE" -a -z "$no_sccache" -a -z "$MOZ_PG
|
||||
# region is az with last letter trimmed
|
||||
region=${availability_zone%?}
|
||||
# set S3 bucket according to tree (level)
|
||||
case "${GOANNA_HEAD_REPOSITORY}" in
|
||||
case "${GECKO_HEAD_REPOSITORY}" in
|
||||
*hg.mozilla.org/try*)
|
||||
bucket=taskcluster-level-1-sccache-${region}
|
||||
;;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -126,7 +126,7 @@ def getReleaseTag(tag):
|
||||
return "%s_RELEASE" % tag
|
||||
|
||||
|
||||
def generateRelbranchName(version, prefix='GOANNA'):
|
||||
def generateRelbranchName(version, prefix='GECKO'):
|
||||
return '%s%s_%s_RELBRANCH' % (
|
||||
prefix, version.replace('.', ''),
|
||||
datetime.utcnow().strftime('%Y%m%d%H'))
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
### !!! Please do not add suppressions for new leaks in Goanna code, unless they are intentional !!!
|
||||
### !!! Please do not add suppressions for new leaks in Gecko code, unless they are intentional !!!
|
||||
|
||||
###
|
||||
### Some of these leak in every test run.
|
||||
|
||||
@@ -130,5 +130,5 @@ def HostLibrary(name):
|
||||
HOST_LIBRARY_NAME = name
|
||||
|
||||
|
||||
include('goanna_templates.mozbuild')
|
||||
include('gecko_templates.mozbuild')
|
||||
include('test_templates.mozbuild')
|
||||
|
||||
@@ -63,8 +63,8 @@
|
||||
fun:FcConfigAppFontAddDir
|
||||
...
|
||||
}
|
||||
# Leaks due to either Gtk+3 or cairo, but Goanna is not directly involved with
|
||||
# those cairo interactions. One suspected cause is Goanna not closing the
|
||||
# Leaks due to either Gtk+3 or cairo, but Gecko is not directly involved with
|
||||
# those cairo interactions. One suspected cause is Gecko not closing the
|
||||
# display to work around a bug in old Gtk+3 versions. See also bug 1228724.
|
||||
{
|
||||
Bug 1187649
|
||||
@@ -79,7 +79,7 @@
|
||||
# The following leak is deep in Gtk+3, and it doesn't seem we're doing
|
||||
# anything wrong on our end with the container objects. This suppression
|
||||
# is purposefully verbose so as to avoid catching actual leaks due to
|
||||
# Goanna code.
|
||||
# Gecko code.
|
||||
# Note: valgrind doesn't support more than 24 elements in a suppression stack.
|
||||
{
|
||||
Bug 1187649
|
||||
|
||||
@@ -93,7 +93,7 @@ function run_test() {
|
||||
// nsEP origins should be in lexical order.
|
||||
do_check_eq(ep.origin, `[Expanded Principal [${exampleOrg.origin}, ${exampleCom.origin}, ${nullPrin.origin}]]`);
|
||||
|
||||
// Make sure createCodebasePrincipal does what the rest of goanna does.
|
||||
// Make sure createCodebasePrincipal does what the rest of gecko does.
|
||||
do_check_true(exampleOrg.equals(Cu.getObjectPrincipal(new Cu.Sandbox('http://example.org'))));
|
||||
|
||||
//
|
||||
|
||||
@@ -716,7 +716,7 @@ nsChromeRegistry::GetSingleton()
|
||||
}
|
||||
|
||||
RefPtr<nsChromeRegistry> cr;
|
||||
if (GoannaProcessType_Content == XRE_GetProcessType())
|
||||
if (GeckoProcessType_Content == XRE_GetProcessType())
|
||||
cr = new nsChromeRegistryContent();
|
||||
else
|
||||
cr = new nsChromeRegistryChrome();
|
||||
|
||||
Vendored
+2
-2
@@ -6,11 +6,11 @@
|
||||
|
||||
# The lgpllibs library stores symbols from third-party LGPL licensed libraries,
|
||||
# such as libav and libsoundtouch. It fulfills the requirement of dynamically
|
||||
# linking these symbols into goanna.
|
||||
# linking these symbols into gecko.
|
||||
#
|
||||
# Any library added here should also be reflected in the about:license page.
|
||||
|
||||
GoannaSharedLibrary('lgpllibs', linkage=None)
|
||||
GeckoSharedLibrary('lgpllibs', linkage=None)
|
||||
SHARED_LIBRARY_NAME = 'lgpllibs'
|
||||
|
||||
if CONFIG['MOZ_LIBAV_FFT']:
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@
|
||||
new
|
||||
|
||||
# FIXME: these headers haven't been reviewed yet, but we use them
|
||||
# unsafely in Goanna, so we might as well prevent them from
|
||||
# unsafely in Gecko, so we might as well prevent them from
|
||||
# throwing exceptions
|
||||
algorithm
|
||||
atomic
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user