commit
baf46a6bf1
117978 changed files with 18608328 additions and 0 deletions
@ -0,0 +1,181 @@
|
||||
# .gdbinit file for debugging Mozilla |
||||
|
||||
# You may need to put an 'add-auto-load-safe-path' command in your |
||||
# $HOME/.gdbinit file to get GDB to trust this file. If your builds are |
||||
# generally in $HOME/moz, then you can say: |
||||
# |
||||
# add-auto-load-safe-path ~/moz |
||||
|
||||
# Don't stop for the SIG32/33/etc signals that Flash produces |
||||
handle SIG32 noprint nostop pass |
||||
handle SIG33 noprint nostop pass |
||||
handle SIGPIPE noprint nostop pass |
||||
|
||||
# Show the concrete types behind nsIFoo |
||||
set print object on |
||||
|
||||
# run when using the auto-solib-add trick |
||||
def prun |
||||
tbreak main |
||||
run |
||||
set auto-solib-add 0 |
||||
cont |
||||
end |
||||
|
||||
# run -mail, when using the auto-solib-add trick |
||||
def pmail |
||||
tbreak main |
||||
run -mail |
||||
set auto-solib-add 0 |
||||
cont |
||||
end |
||||
|
||||
# Define a "pu" command to display PRUnichar * strings (100 chars max) |
||||
# Also allows an optional argument for how many chars to print as long as |
||||
# it's less than 100. |
||||
def pu |
||||
set $uni = $arg0 |
||||
if $argc == 2 |
||||
set $limit = $arg1 |
||||
if $limit > 100 |
||||
set $limit = 100 |
||||
end |
||||
else |
||||
set $limit = 100 |
||||
end |
||||
# scratch array with space for 100 chars plus null terminator. Make |
||||
# sure to not use ' ' as the char so this copy/pastes well. |
||||
set $scratch = "____________________________________________________________________________________________________" |
||||
set $i = 0 |
||||
set $scratch_idx = 0 |
||||
while (*$uni && $i++ < $limit) |
||||
if (*$uni < 0x80) |
||||
set $scratch[$scratch_idx++] = *(char*)$uni++ |
||||
else |
||||
if ($scratch_idx > 0) |
||||
set $scratch[$scratch_idx] = '\0' |
||||
print $scratch |
||||
set $scratch_idx = 0 |
||||
end |
||||
print /x *(short*)$uni++ |
||||
end |
||||
end |
||||
if ($scratch_idx > 0) |
||||
set $scratch[$scratch_idx] = '\0' |
||||
print $scratch |
||||
end |
||||
end |
||||
|
||||
# Define a "ps" command to display subclasses of nsAC?String. Note that |
||||
# this assumes strings as of Gecko 1.9 (well, and probably a few |
||||
# releases before that as well); going back far enough will get you |
||||
# to string classes that this function doesn't work for. |
||||
def ps |
||||
set $str = $arg0 |
||||
if (sizeof(*$str.mData) == 1 && ($str.mFlags & 1) != 0) |
||||
print $str.mData |
||||
else |
||||
pu $str.mData $str.mLength |
||||
end |
||||
end |
||||
|
||||
# Define a "pa" command to display the string value for an nsIAtom |
||||
def pa |
||||
set $atom = $arg0 |
||||
if (sizeof(*((&*$atom)->mString)) == 2) |
||||
pu (&*$atom)->mString |
||||
end |
||||
end |
||||
|
||||
# define a "pxul" command to display the type of a XUL element from |
||||
# an nsXULElement* pointer. |
||||
def pxul |
||||
set $p = $arg0 |
||||
print $p->mNodeInfo.mRawPtr->mInner.mName->mStaticAtom->mString |
||||
end |
||||
|
||||
# define a "prefcnt" command to display the refcount of an XPCOM obj |
||||
def prefcnt |
||||
set $p = $arg0 |
||||
print ((nsPurpleBufferEntry*)$p->mRefCnt.mTagged)->mRefCnt |
||||
end |
||||
|
||||
# define a "ptag" command to display the tag name of a content node |
||||
def ptag |
||||
set $p = $arg0 |
||||
pa $p->mNodeInfo.mRawPtr->mInner.mName |
||||
end |
||||
|
||||
## |
||||
## nsTArray |
||||
## |
||||
define ptarray |
||||
if $argc == 0 |
||||
help ptarray |
||||
else |
||||
set $size = $arg0.mHdr->mLength |
||||
set $capacity = $arg0.mHdr->mCapacity |
||||
set $size_max = $size - 1 |
||||
set $elts = $arg0.Elements() |
||||
end |
||||
if $argc == 1 |
||||
set $i = 0 |
||||
while $i < $size |
||||
printf "elem[%u]: ", $i |
||||
p *($elts + $i) |
||||
set $i++ |
||||
end |
||||
end |
||||
if $argc == 2 |
||||
set $idx = $arg1 |
||||
if $idx < 0 || $idx > $size_max |
||||
printf "idx1, idx2 are not in acceptable range: [0..%u].\n", $size_max |
||||
else |
||||
printf "elem[%u]: ", $idx |
||||
p *($elts + $idx) |
||||
end |
||||
end |
||||
if $argc == 3 |
||||
set $start_idx = $arg1 |
||||
set $stop_idx = $arg2 |
||||
if $start_idx > $stop_idx |
||||
set $tmp_idx = $start_idx |
||||
set $start_idx = $stop_idx |
||||
set $stop_idx = $tmp_idx |
||||
end |
||||
if $start_idx < 0 || $stop_idx < 0 || $start_idx > $size_max || $stop_idx > $size_max |
||||
printf "idx1, idx2 are not in acceptable range: [0..%u].\n", $size_max |
||||
else |
||||
set $i = $start_idx |
||||
while $i <= $stop_idx |
||||
printf "elem[%u]: ", $i |
||||
p *($elts + $i) |
||||
set $i++ |
||||
end |
||||
end |
||||
end |
||||
if $argc > 0 |
||||
printf "nsTArray length = %u\n", $size |
||||
printf "nsTArray capacity = %u\n", $capacity |
||||
printf "Element " |
||||
whatis *$elts |
||||
end |
||||
end |
||||
|
||||
document ptarray |
||||
Prints nsTArray information. |
||||
Syntax: ptarray |
||||
Note: idx, idx1 and idx2 must be in acceptable range [0...size()-1]. |
||||
Examples: |
||||
ptarray a - Prints tarray content, size, capacity and T typedef |
||||
ptarray a 0 - Prints element[idx] from tarray |
||||
ptarray a 1 2 - Prints elements in range [idx1..idx2] from tarray |
||||
end |
||||
|
||||
def js |
||||
call DumpJSStack() |
||||
end |
||||
|
||||
def ft |
||||
call $arg0->DumpFrameTree() |
||||
end |
@ -0,0 +1,72 @@
|
||||
# .gitignore - List of filenames git should ignore |
||||
|
||||
# Filenames that should be ignored wherever they appear |
||||
*~ |
||||
*.pyc |
||||
*.pyo |
||||
TAGS |
||||
tags |
||||
ID |
||||
.DS_Store* |
||||
|
||||
# Vim swap files. |
||||
.*.sw[a-z] |
||||
|
||||
# Emacs directory variable files. |
||||
**/.dir-locals.el |
||||
|
||||
# User files that may appear at the root |
||||
/.mozconfig* |
||||
/mozconfig |
||||
/configure |
||||
/config.cache |
||||
/config.log |
||||
/.clang_complete |
||||
/mach.ini |
||||
|
||||
# Empty marker file that's generated when we check out NSS |
||||
security/manager/.nss.checkout |
||||
|
||||
# Build directories |
||||
/obj*/ |
||||
|
||||
# Build directories for js shell |
||||
*/_DBG.OBJ/ |
||||
*/_OPT.OBJ/ |
||||
|
||||
# SpiderMonkey configury |
||||
js/src/configure |
||||
js/src/autom4te.cache |
||||
# SpiderMonkey test result logs |
||||
js/src/tests/results-*.html |
||||
js/src/tests/results-*.txt |
||||
|
||||
# Java HTML5 parser classes |
||||
parser/html/java/htmlparser/ |
||||
parser/html/java/javaparser/ |
||||
|
||||
# Ignore the files and directory that Eclipse IDE creates |
||||
.project |
||||
.cproject |
||||
.settings/ |
||||
|
||||
# Python virtualenv artifacts. |
||||
python/psutil/*.so |
||||
python/psutil/*.pyd |
||||
python/psutil/build/ |
||||
|
||||
# Ignore chrome.manifest files from the devtools loader |
||||
browser/devtools/chrome.manifest |
||||
toolkit/devtools/chrome.manifest |
||||
|
||||
# Tag files generated by GNU Global |
||||
GTAGS |
||||
GRTAGS |
||||
GSYMS |
||||
GPATH |
||||
|
||||
# Git clone directory for updating web-platform-tests |
||||
testing/web-platform/sync/ |
||||
|
||||
# Android Gradle artifacts. |
||||
mobile/android/gradle/.gradle |
@ -0,0 +1,98 @@
|
||||
# .hgignore - List of filenames hg should ignore |
||||
|
||||
# Filenames that should be ignored wherever they appear |
||||
~$ |
||||
\.py(c|o)$ |
||||
(?i)(^|/)TAGS$ |
||||
(^|/)ID$ |
||||
(^|/)\.DS_Store$ |
||||
|
||||
# Vim swap files. |
||||
^\.sw.$ |
||||
.[^/]*\.sw.$ |
||||
|
||||
# Emacs directory variable files. |
||||
\.dir-locals\.el |
||||
|
||||
# User files that may appear at the root |
||||
^\.mozconfig |
||||
^mozconfig* |
||||
^configure$ |
||||
^config\.cache$ |
||||
^config\.log$ |
||||
^\.clang_complete |
||||
^mach.ini$ |
||||
|
||||
# Empty marker file that's generated when we check out NSS |
||||
^security/manager/\.nss\.checkout$ |
||||
|
||||
# Build directories |
||||
^obj |
||||
|
||||
# Build directories for js shell |
||||
_DBG\.OBJ/ |
||||
_OPT\.OBJ/ |
||||
^js/src/.*-obj/ |
||||
|
||||
# SpiderMonkey configury |
||||
^js/src/configure$ |
||||
^js/src/autom4te.cache$ |
||||
# SpiderMonkey test result logs |
||||
^js/src/tests/results-.*\.(html|txt)$ |
||||
|
||||
# Java HTML5 parser classes |
||||
^parser/html/java/(html|java)parser/ |
||||
|
||||
# SVN directories |
||||
\.svn/ |
||||
|
||||
# Ignore the files and directory that Eclipse IDE creates |
||||
\.project$ |
||||
\.cproject$ |
||||
\.settings/ |
||||
|
||||
# Ignore the directory that JetBrains IDEs create |
||||
\.idea/ |
||||
|
||||
# Python stuff installed at build time. |
||||
^python/psutil/.*\.so |
||||
^python/psutil/.*\.pyd |
||||
^python/psutil/build/ |
||||
|
||||
# Git repositories |
||||
.git/ |
||||
|
||||
# Ignore chrome.manifest files from the devtools loader |
||||
^browser/devtools/chrome.manifest$ |
||||
^toolkit/devtools/chrome.manifest$ |
||||
|
||||
# git checkout of libstagefright |
||||
^media/libstagefright/android$ |
||||
|
||||
# Tag files generated by GNU Global |
||||
GTAGS |
||||
GRTAGS |
||||
GSYMS |
||||
GPATH |
||||
|
||||
# Unit tests for Loop |
||||
^browser/components/loop/standalone/content/config\.js$ |
||||
^browser/components/loop/standalone/node_modules/ |
||||
|
||||
# Git clone directory for updating web-platform-tests |
||||
^testing/web-platform/sync/ |
||||
|
||||
# Loop web client build/deploy dependencies |
||||
^browser/components/loop/standalone/bower_components |
||||
|
||||
# Loop legal content build/deploy artifacts |
||||
|
||||
# XXX Once a grunt contrib-clean command has been added (bug 1066491), or |
||||
# once legal has centralized their ToS and PP hosting infrastructure, |
||||
# (expected Q4 2014) the legal doc build stuff for Loop can be removed, |
||||
# including the following three lines |
||||
^browser/components/loop/standalone/content/legal/styles/.*\.css$ |
||||
^browser/components/loop/standalone/content/legal/terms/en_US\.html$ |
||||
|
||||
# Android Gradle artifacts. |
||||
^mobile/android/gradle/.gradle |
@ -0,0 +1,183 @@
|
||||
df7a3c8ffeeaba229067efee5a20e21dae0dd877 MOZILLA_1_9_a4_BASE |
||||
4209e16b58411750ac73f761023e46b76b793e2c MOZILLA_1_9_a6_BASE |
||||
66a5c7bce7ee86a820d3c0d54fa07cb719be751c MOZILLA_1_9_a7_BASE |
||||
caeba7562e495a9f604984df0b48b6f99bec3e2e FENNEC_M4 |
||||
9d9941eacb14827fdab4716710042fdde84eb60d FIREFOX_3_1a1_RELEASE |
||||
9d9941eacb14827fdab4716710042fdde84eb60d FIREFOX_3_1a1_BUILD1 |
||||
c1d7e318a27574c995631fec166ad42672475702 FIREFOX_3_1a1_BUILD2 |
||||
c1d7e318a27574c995631fec166ad42672475702 FIREFOX_3_1a1_RELEASE |
||||
afc4ee509d9ca3bb4031015c3c22963dcb4b7e7f FIREFOX_3_1a1_RELEASE |
||||
afc4ee509d9ca3bb4031015c3c22963dcb4b7e7f FIREFOX_3_1a1_BUILD2 |
||||
f197b51bbc29a30860e750ee87fd0a047a024f2e FIREFOX_3_1a2_BUILD1 |
||||
f197b51bbc29a30860e750ee87fd0a047a024f2e FIREFOX_3_1a2_RELEASE |
||||
269af1ed75649989575d41f53a12048015c6d50e FENNEC_M8 |
||||
920a4326d1087b174c2fa2b9a8358e12c697022c SEAMONKEY_2_0a1_BUILD1 |
||||
920a4326d1087b174c2fa2b9a8358e12c697022c SEAMONKEY_2_0a1_RELEASE |
||||
f197b51bbc29a30860e750ee87fd0a047a024f2e UPDATE_PACKAGING_R5 |
||||
f197b51bbc29a30860e750ee87fd0a047a024f2e -m |
||||
f197b51bbc29a30860e750ee87fd0a047a024f2e Adding UPDATE_PACKAGING_R5 tag in order to make patcher work. |
||||
15cb5d25db054d2d0b56869a2f6351388bfcddcd THUNDERBIRD_3_0a3_RELEASE |
||||
15cb5d25db054d2d0b56869a2f6351388bfcddcd THUNDERBIRD_3_0a3_BUILD1 |
||||
0000000000000000000000000000000000000000 -m |
||||
0000000000000000000000000000000000000000 Adding UPDATE_PACKAGING_R5 tag in order to make patcher work. |
||||
f197b51bbc29a30860e750ee87fd0a047a024f2e UPDATE_PACKAGING_R6 |
||||
d7d64f68423b68a671f623f123e90057ebc49dac UPDATE_PACKAGING_R6 |
||||
0000000000000000000000000000000000000000 THUNDERBIRD_3_0a3_BUILD1 |
||||
0000000000000000000000000000000000000000 THUNDERBIRD_3_0a3_RELEASE |
||||
0cd41f5990807fb6ab52cb59ba3c8e8247281045 GECKO_1_9_1_BASE |
||||
8df5a90281cd4d75835e4b7696da200555eed15f GECKO_1_9_1_BASE |
||||
8a601ed6bc4c7b3d1e35aa9e81f257512d984bd5 FENNEC_A2 |
||||
d7d64f68423b68a671f623f123e90057ebc49dac UPDATE_PACKAGING_R7 |
||||
fb32f6e1859c07846a01b4478a7b1678019e0b45 UPDATE_PACKAGING_R7 |
||||
f817a4378f32b1ad0a7c4b5a9949586dba816da5 FENNEC_M11 |
||||
5c1e7c779b6edc8ff912001990edc579f80597f4 FENNEC_B1 |
||||
fe9cc55b8db7f56f7e68a246acba363743854979 UPDATE_PACKAGING_R8 |
||||
6fd4bb500d425c406c1b52f66e5b195b20ae5e0a chromium-import-r15462 |
||||
6fd4bb500d425c406c1b52f66e5b195b20ae5e0a chromium-import-latest |
||||
376b78fc72230aaf2ca4e279a8f4ef1efd4a1d9f GECKO_1_9_2_BASE |
||||
941ad9d7d079246481f365c3cfbfc75a5bbefc94 last-mozilla-central |
||||
2bae3bbf866e7de2a4b2377e7c2f52cc9ac14a22 last-mozilla-central |
||||
2bae3bbf866e7de2a4b2377e7c2f52cc9ac14a22 last-mozilla-central |
||||
65c1582465efe99899189519fccaf7b2826fcb2e last-mozilla-central |
||||
65c1582465efe99899189519fccaf7b2826fcb2e last-mozilla-central |
||||
27937722da69ad0e8fd140a00671413068226a5b last-mozilla-central |
||||
27937722da69ad0e8fd140a00671413068226a5b last-mozilla-central |
||||
a732c6d3c078f80635255c78bfaadffa5828a8a5 last-mozilla-central |
||||
a732c6d3c078f80635255c78bfaadffa5828a8a5 last-mozilla-central |
||||
925595f3c08634cc42e33158ea6858bb55623ef7 last-mozilla-central |
||||
dba2abb7db57078c5a4810884834d3056a5d56c2 last-mozilla-central |
||||
138f593553b66c9f815e8f57870c19d6347f7702 UPDATE_PACKAGING_R9 |
||||
138f593553b66c9f815e8f57870c19d6347f7702 UPDATE_PACKAGING_R10 |
||||
138f593553b66c9f815e8f57870c19d6347f7702 UPDATE_PACKAGING_R11 |
||||
0327e126ea245112c0aa7283fee154e084866fb5 bsmedberg-static-xpcom-registration-base |
||||
0327e126ea245112c0aa7283fee154e084866fb5 bsmedberg-static-xpcom-registration-base |
||||
2f83edbbeef0de7dd901411d270da61106c8afae bsmedberg-static-xpcom-registration-base |
||||
138f593553b66c9f815e8f57870c19d6347f7702 UPDATE_PACKAGING_R12 |
||||
138f593553b66c9f815e8f57870c19d6347f7702 UPDATE_PACKAGING_R13 |
||||
138f593553b66c9f815e8f57870c19d6347f7702 UPDATE_PACKAGING_R11_1_MU |
||||
e56ecd8b3a68c158025207c5fd081d043e28f5ce GECKO_2_0_BASE |
||||
e273946b74c8d631ed86bd74ba9afe0e67b12378 GECKO_2_1_BASE |
||||
b70744835d94e54eec97b8fd186c96da5708a506 PRE_MOBILE_MERGE |
||||
b70744835d94e54eec97b8fd186c96da5708a506 PRE_MOBILE_MERGE_20110406 |
||||
a71bd564ebf5bf4f93d13e84114f759c263130b0 MOBILE_MERGE_DONE |
||||
a71bd564ebf5bf4f93d13e84114f759c263130b0 MOBILE_MERGE_DONE_20110406 |
||||
a95d426422816513477e5863add1b00ac7041dcb AURORA_BASE_20110412 |
||||
138f593553b66c9f815e8f57870c19d6347f7702 UPDATE_PACKAGING_R14 |
||||
9eae975b3d6fb7748fe5a3c0113d449b1c7cc0b2 AURORA_BASE_20110524 |
||||
138f593553b66c9f815e8f57870c19d6347f7702 UPDATE_PACKAGING_R14 |
||||
462c726144bc1fb45b61e774f64ac5d61b4e047c UPDATE_PACKAGING_R14 |
||||
5eb553dd2ceae5f88d80f27afc5ef3935c5d43b0 AURORA_BASE_20110705 |
||||
41b84b87c816403e1b74963d8094cff0406c989e AURORA_BASE_20110816 |
||||
c0983049bcaa9551e5f276d5a77ce154c151e0b0 AURORA_BASE_20110927 |
||||
462c726144bc1fb45b61e774f64ac5d61b4e047c UPDATE_PACKAGING_R15 |
||||
54bfd8bf682e295ffd7f22fa921ca343957b6c1c AURORA_BASE_20111108 |
||||
a8506ab2c65480cf2f85f54e203ea746522c62bb AURORA_BASE_20111220 |
||||
462c726144bc1fb45b61e774f64ac5d61b4e047c UPDATE_PACKAGING_R16 |
||||
bbc7014db2de49e2301680d2a86be8a53108a88a AURORA_BASE_20120131 |
||||
bbc7014db2de49e2301680d2a86be8a53108a88a AURORA_BASE_20120131 |
||||
0000000000000000000000000000000000000000 AURORA_BASE_20120131 |
||||
0000000000000000000000000000000000000000 AURORA_BASE_20120131 |
||||
bbc7014db2de49e2301680d2a86be8a53108a88a AURORA_BASE_20120131 |
||||
b6627f28b7ec17e1b46a594df0f780d3a40847e4 FIREFOX_AURORA_13_BASE |
||||
357da346ceb705d196a46574804c7c4ec44ac186 FIREFOX_AURORA_14_BASE |
||||
26dcd1b1a20893ad99341c61c6b1239ff1523858 FIREFOX_AURORA_15_BASE |
||||
0accd12a8e7e217836ea3f1ee7c411913fc75d8e FIREFOX_AURORA_16_BASE |
||||
0000000000000000000000000000000000000000 FIREFOX_AURORA_16_BASE |
||||
9697eadafa13b4e9233b39aaeecfeac79503cb54 FIREFOX_AURORA_16_BASE |
||||
9697eadafa13b4e9233b39aaeecfeac79503cb54 FIREFOX_AURORA_16_BASE |
||||
6fdf9985acfe6f939da584b2559464ab22264fe7 FIREFOX_AURORA_16_BASE |
||||
fd72dbbd692012224145be1bf13df1d7675fd277 FIREFOX_AURORA_17_BASE |
||||
2704e441363fe2a48e992dfac694482dfd82664a FIREFOX_AURORA_18_BASE |
||||
cf8750abee06cde395c659f8ecd8ae019d7512e3 FIREFOX_AURORA_19_BASE |
||||
5bb309998e7050c9ee80b0147de1e473f008e221 FIREFOX_AURORA_20_BASE |
||||
cc37417e2c284aed960f98ffa479de4ccdd5c7c3 FIREFOX_AURORA_21_BASE |
||||
1c070ab0f9db59f13423b9c1db60419f7a9098f9 FIREFOX_AURORA_22_BASE |
||||
d7ce9089999719d5186595d160f25123a4e63e39 FIREFOX_AURORA_23_BASE |
||||
8d3810543edccf4fbe458178b88dd4a6e420b010 FIREFOX_AURORA_24_BASE |
||||
ad0ae007aa9e03cd74e9005cd6652e544139b3b5 FIREFOX_AURORA_25_BASE |
||||
2520866d58740851d862c7c59246a4e3f8b4a176 FIREFOX_AURORA_26_BASE |
||||
05025f4889a0bf4dc99ce0c244c750adc002f015 FIREFOX_AURORA_27_BASE |
||||
ba2cc1eda988a1614d8986ae145d28e1268409b9 FIREFOX_AURORA_29_BASE-m |
||||
ba2cc1eda988a1614d8986ae145d28e1268409b9 Tagging for mozilla-central version bumps CLOSED TREE DONTBUILD |
||||
ba2cc1eda988a1614d8986ae145d28e1268409b9 Tagging for mozilla-central version bumps CLOSED TREE DONTBUILD |
||||
0000000000000000000000000000000000000000 Tagging for mozilla-central version bumps CLOSED TREE DONTBUILD |
||||
ba2cc1eda988a1614d8986ae145d28e1268409b9 FIREFOX_AURORA_29_BASE-m |
||||
0000000000000000000000000000000000000000 FIREFOX_AURORA_29_BASE-m |
||||
ba2cc1eda988a1614d8986ae145d28e1268409b9 FIREFOX_AURORA_29_BASE |
||||
9f12a9fab080f2d363d7424e25b9ffe85ebc3414 FIREFOX_AURORA_28_BASE |
||||
07f5580d8a54e8311fa7641c907065a88de19e08 FIREFOX_AURORA_29_END |
||||
3776f72f1967a7068879501eb7c08920032785b8 B2G_1_4_20140317_MERGEDAY |
||||
aa70a6ce178a6839cd9e55761c4ac31d43ee7bd9 FIREFOX_BETA_29_END |
||||
ba4a8f81efdcf000414f192342ccbd14c9626c36 RELEASE_BASE_20140602 |
||||
9f12a9fab080f2d363d7424e25b9ffe85ebc3414 FIREFOX_AURORA_28_BASE |
||||
83c9853e136451474dfa6d1aaa60a7fca7d2d83a FIREFOX_AURORA_30_BASE |
||||
cfde3603b0206e119abea76fdd6e134b634348f1 FIREFOX_AURORA_31_BASE |
||||
ab25447610b532eb4c32524a7dbc56a21eeaabb8 FIREFOX_BETA_30_BASE |
||||
ab25447610b532eb4c32524a7dbc56a21eeaabb8 FIREFOX_AURORA_30_END |
||||
6c18811bcd1b319801fd97aeb09c41b963863968 FIREFOX_BETA_30_END |
||||
1772e55568e420f8c7fbf7b9434157e9f419c8f1 FIREFOX_RELEASE_31_BASE |
||||
40b1b0712d7b53219a0404e78eec4e6a2796423e FIREFOX_RELEASE_30_END |
||||
9f12a9fab080f2d363d7424e25b9ffe85ebc3414 FIREFOX_AURORA_28_BASE |
||||
16f3cac5e8fe471e12f76d6a94a477b14e78df7c FIREFOX_AURORA_32_BASE |
||||
f11b164d75442617c4f046177d2ab913ed03a318 FIREFOX_BETA_31_BASE |
||||
f11b164d75442617c4f046177d2ab913ed03a318 FIREFOX_AURORA_31_END |
||||
dc2fd26b301375f15c935f00fe6283d3e3bc1efc B2G_2_0_20140609_MERGEDAY |
||||
d69cd84b6824e018e0906cab0464e11e97a9bdca FIREFOX_BETA_32_BASE |
||||
d69cd84b6824e018e0906cab0464e11e97a9bdca FIREFOX_BETA_32_BASE |
||||
0000000000000000000000000000000000000000 FIREFOX_BETA_32_BASE |
||||
0000000000000000000000000000000000000000 FIREFOX_BETA_32_BASE |
||||
ac396ad5a32d60ae5b7eebe5416fdd46e9e12be1 FIREFOX_BETA_32_BASE |
||||
6befadcaa68524d24960d8342e00503e4edc1869 FIREFOX_BETA_31_END |
||||
92ad4cfa9435fbe136c61071041812f90bc8d89e FIREFOX_RELEASE_32_BASE |
||||
cd52a7f8954809fd893196dc857f81b0cb61717c FIREFOX_RELEASE_31_END |
||||
9f12a9fab080f2d363d7424e25b9ffe85ebc3414 FIREFOX_AURORA_28_BASE |
||||
dc23164ba2a289a8b22902e30990c77d9677c214 FIREFOX_AURORA_33_BASE |
||||
a104ddcd4cdbf950f1755dfaf5a278d53570655f FIREFOX_AURORA_32_END |
||||
114b010b6bf1a0efee03f003e54ed6fa00909972 FIREFOX_BETA_33_BASE |
||||
ebd0ee3e97dc2756d979261b29f173638fe6aeb6 FIREFOX_BETA_32_END |
||||
e8360a0c7d7483491e064c7cd445a94004af0a83 FIREFOX_RELEASE_33_BASE |
||||
4641475ee1f3ec3e723e932e0f4f3f3fa7c55a5c FIREFOX_RELEASE_32_END |
||||
9f12a9fab080f2d363d7424e25b9ffe85ebc3414 FIREFOX_AURORA_28_BASE |
||||
c360f3d1c00d73b0c1fb0a2c0da525cb55e58b83 FIREFOX_AURORA_34_BASE |
||||
9f1aad8e807cc283aafbc14caa3d4775e8d0535c FIREFOX_AURORA_33_END |
||||
5b8210dcf52a795646bf0c8a32082a2ed7c4f537 B2G_2_1_20140902_MERGEDAY |
||||
e85828ce78a80e2ccda98972d69d5f750335c4ab FIREFOX_BETA_34_BASE |
||||
8574e35b517785acc905327f4994e96576218fa8 FIREFOX_BETA_33_END |
||||
e247a7f7c43842941bdb4207ca1b9d8881798997 FIREFOX_RELEASE_34_BASE |
||||
a47b1b720b67b018a9cb106178de53a363641392 FIREFOX_RELEASE_33_END |
||||
9f12a9fab080f2d363d7424e25b9ffe85ebc3414 FIREFOX_AURORA_28_BASE |
||||
cec1a116c4f9a3e887d52e9a26e8bbec200fe162 FIREFOX_AURORA_35_BASE |
||||
2608561c091ae83cc85e38740feffa5bfc6b5ed4 FIREFOX_AURORA_34_END |
||||
390a34a40ea4e7f4d24b3ed83778e0f408411fcc FIREFOX_BETA_35_BASE |
||||
a3cc435fd3c315e5dfe9329d03d5943bb893cced FIREFOX_BETA_34_END |
||||
fb06fa0600ab95db48212a237c79b650cac213c5 FIREFOX_RELEASE_35_BASE |
||||
f4217563f1568c478c1ddf1647098946e51bc7f8 FIREFOX_RELEASE_34_END |
||||
9f12a9fab080f2d363d7424e25b9ffe85ebc3414 FIREFOX_AURORA_28_BASE |
||||
ca89fe55717059e4e43040d16d260765ffa9dca7 FIREFOX_AURORA_36_BASE |
||||
6047f510fb73c7dbe9866066fb01ddda3c170c9c FIREFOX_AURORA_37_BASE |
||||
ca89fe55717059e4e43040d16d260765ffa9dca7 FIREFOX_AURORA_36_BASE |
||||
0000000000000000000000000000000000000000 FIREFOX_AURORA_36_BASE |
||||
6047f510fb73c7dbe9866066fb01ddda3c170c9c FIREFOX_AURORA_37_BASE |
||||
0000000000000000000000000000000000000000 FIREFOX_AURORA_37_BASE |
||||
0000000000000000000000000000000000000000 FIREFOX_AURORA_36_BASE |
||||
b297a6727acfd21e757ddd38cd61894812666265 FIREFOX_AURORA_36_BASE |
||||
0cf828669d5a0911b6f2b83d501eeef5bdf9905e FIREFOX_AURORA_35_END |
||||
75177371cb85baaa9d623f56d849a5c21d18040f FIREFOX_BETA_36_BASE |
||||
137baee3dda45c6a3b38be74f5709c24f7c7701a FIREFOX_BETA_35_END |
||||
948a2c2e31d4b7eaa282ddeb327708605e3cc7fa FIREFOX_RELEASE_36_BASE |
||||
d57ff45ca4fd7ccf1cb924030abf6c7d108eaab0 FIREFOX_RELEASE_35_END |
||||
9f12a9fab080f2d363d7424e25b9ffe85ebc3414 FIREFOX_AURORA_28_BASE |
||||
0000000000000000000000000000000000000000 FIREFOX_AURORA_37_BASE |
||||
2c951493eef5b50b8085ef78ffe0d7902ff3d593 FIREFOX_AURORA_37_BASE |
||||
1bc9beda018a42bdd5f63fc9fc46facf0c6f37ec FIREFOX_AURORA_36_END |
||||
030fa1665346dfa94d1f72a1c7830644664ecf08 FIREFOX_BETA_37_BASE |
||||
7d4016a05dd32bf2d726975ba9175bb13fc9ea97 FIREFOX_BETA_36_END |
||||
196c6575593d6e8997402fb458bf8ed2f954fa4a FIREFOX_RELEASE_37_BASE |
||||
58fe203296af528cc711dc314e4769a902e3852f FIREFOX_RELEASE_36_END |
||||
9f12a9fab080f2d363d7424e25b9ffe85ebc3414 FIREFOX_AURORA_28_BASE |
||||
98086da94ccdc88f6de86774ce3d1fa258dc7c44 FIREFOX_AURORA_38_BASE |
||||
d55b99e8010728b0c802e75e967d2a853122dd30 FIREFOX_AURORA_37_END |
||||
8bc9656cad94db48cd44f3947f1b3b1d8c57768a FIREFOX_BETA_38_BASE |
||||
b41c57eefd69242fc9664a3e5c2dcaa46840051c FIREFOX_BETA_37_END |
||||
fc98815acf5f041c6269fd256a68af8a92ba222a FIREFOX_RELEASE_38_BASE |
||||
b95583c8e7e7a7ce629b4d4551747e818367d0a0 FIREFOX_RELEASE_37_END |
@ -0,0 +1,31 @@
|
||||
# .lldbinit file for debugging Mozilla |
||||
|
||||
# ----------------------------------------------------------------------------- |
||||
# For documentation on all of the commands and type summaries defined here |
||||
# and in the accompanying Python scripts, see python/lldbutils/README.txt. |
||||
# ----------------------------------------------------------------------------- |
||||
|
||||
# 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.) |
||||
script topsrcdir = topsrcdir if locals().has_key("topsrcdir") else "."; sys.path.append(os.path.join(topsrcdir, "python/lldbutils")); import lldbutils; lldbutils.init() |
||||
|
||||
# Mozilla's use of UNIFIED_SOURCES to include multiple source files into a |
||||
# single compiled file breaks lldb breakpoint setting. This works around that. |
||||
# See http://lldb.llvm.org/troubleshooting.html for more info. |
||||
settings set target.inline-breakpoint-strategy always |
||||
|
||||
# Show the dynamic type of an object when using "expr". This, for example, |
||||
# will show a variable declared as "nsIFrame *" that points to an nsBlockFrame |
||||
# object as being of type "nsBlockFrame *" rather than "nsIFrame *". |
||||
settings set target.prefer-dynamic-value run-target |
||||
|
||||
# Show the string value in atoms. |
||||
type summary add nsIAtom --summary-string "${var.mString}" |
||||
|
||||
# Show the value of text nodes. |
||||
type summary add nsTextNode --summary-string "${var.mText}" |
||||
|
||||
# Dump the current JS stack. |
||||
command alias js expr DumpJSStack() |
@ -0,0 +1,27 @@
|
||||
# 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 imp |
||||
import os |
||||
from StringIO import StringIO |
||||
import shlex |
||||
|
||||
path = os.path.join(os.path.dirname(__file__), 'mach') |
||||
|
||||
if not os.path.exists(path): |
||||
path = os.path.join(os.path.dirname(__file__), 'config.status') |
||||
config = imp.load_module('_buildconfig', open(path), path, ('', 'r', imp.PY_SOURCE)) |
||||
path = os.path.join(config.topsrcdir, 'mach') |
||||
mach_module = imp.load_module('_mach', open(path), path, ('', 'r', imp.PY_SOURCE)) |
||||
|
||||
def FlagsForFile(filename): |
||||
mach = mach_module.get_mach() |
||||
out = StringIO() |
||||
out.encoding = None |
||||
mach.run(['compileflags', filename], stdout=out, stderr=out) |
||||
|
||||
return { |
||||
'flags': shlex.split(out.getvalue()), |
||||
'do_cache': True |
||||
} |
@ -0,0 +1,5 @@
|
||||
# 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/.
|
||||
|
||||
# empty file to block B2G/Gonk from trying to build anything inside mozilla-central
|
@ -0,0 +1,25 @@
|
||||
# To trigger a clobber replace ALL of the textual description below, |
||||
# giving a bug number and a one line description of why a clobber is |
||||
# required. Modifying this file will make configure check that a |
||||
# clobber has been performed before the build can continue. |
||||
# |
||||
# MERGE NOTE: When merging two branches that require a CLOBBER, you should |
||||
# merge both CLOBBER descriptions, to ensure that users on |
||||
# both branches correctly see the clobber warning. |
||||
# |
||||
# O <-- Users coming from both parents need to Clobber |
||||
# / \ |
||||
# O O |
||||
# | | |
||||
# O <-- Clobber O <-- Clobber |
||||
# |
||||
# Note: The description below will be part of the error message shown to users. |
||||
# |
||||
# Modifying this file will now automatically clobber the buildbot machines \o/ |
||||
# |
||||
|
||||
# Are you updating CLOBBER because you think it's needed for your WebIDL |
||||
# changes to stick? As of bug 928195, this shouldn't be necessary! Please |
||||
# don't change CLOBBER for WebIDL changes any more. |
||||
|
||||
Bug 1166031 - NSS update hit needs-clobber bustage. |
@ -0,0 +1,14 @@
|
||||
# This Makefile is used as a shim to aid people with muscle memory
|
||||
# so that they can type "make".
|
||||
#
|
||||
# This file and all of its targets should not be used by anything important.
|
||||
|
||||
all: build |
||||
|
||||
build: |
||||
./mach build
|
||||
|
||||
clean: |
||||
./mach clobber
|
||||
|
||||
.PHONY: all build clean |
@ -0,0 +1,43 @@
|
||||
Please be apprised of the following Legal Notices: |
||||
|
||||
A) The U.S. District Court for the Eastern District of Virginia has |
||||
ruled that the Netscape Navigator code does not infringe Wang's U.S. |
||||
Patent No. 4,751,669 ("the '669 Patent") because: 1) HTML is not |
||||
Videotex as defined by the '669 patent; 2) web servers are not central |
||||
suppliers; and 3) Navigator does not "connect," as defined by the '669 |
||||
Patent, to web servers on the Internet. Wang may appeal this decision to |
||||
the Federal Circuit. Wang contended that its Patent disclosing a |
||||
"Videotex" system, is infringed by the following functionality in the |
||||
Netscape Navigator code: 1) the animated logo and status line indicators |
||||
--See Claims 1,8 and 9; 2) the "File Save As" function --See Claims |
||||
23-27; 3) Bookmarks and Rename Bookmarks in the Properties window --See |
||||
Claims 20-22; 4) storing HTML, GIF, and JPEG files and adding filename |
||||
extensions --See Claim 38 |
||||
|
||||
B) Intermind owns pending U.S. patent applications on communications |
||||
systems which employ metadata ("channel objects") to define a control |
||||
structure for information transfer. The Netscape code does not infringe |
||||
as released; however, modifications which utilize channel objects as |
||||
described by Intermind should be considered carefully. The following is |
||||
a statement from Intermind: "Intermind's claims fundamentally involve |
||||
the use of a control structure to automate communications. ...The |
||||
essence of Intermind's top claim is that two devices sender and receiver |
||||
have persistent storage, communicate over a network, and exchange a |
||||
control structure including metadata which describes: 1) what |
||||
information is to be updated, 2) when to update this information, and 3) |
||||
how to transfer the updated information. In addition, at least the |
||||
receiving device must be able to process the metadata in order to |
||||
perform the update determination and transfer. Any digital |
||||
communications system which incorporates all of these elements will be |
||||
covered by Intermind's patents." See Intermind.com. |
||||
|
||||
C) Stac, Inc., and its licensing agent Hi/fn, own several patents which |
||||
disclose data compression methods implementing an LZS compression |
||||
algorithm, including U.S. Patent Nos. 4,701,745 and 5,016, 009 ("the |
||||
Stac Patents"). The Netscape Communicator code does not perform |
||||
compression. If you modify the Netscape source code to perform |
||||
compression, please take notice of the Stac Patents. |
||||
|
||||
D) Netscape Communications Corporation ("Netscape") does not guarantee |
||||
that any source code or executable code available from the mozilla.org |
||||
domain is Year 2000 compliant. |
@ -0,0 +1,9 @@
|
||||
Please see the file toolkit/content/license.html for the copyright licensing |
||||
conditions attached to this codebase, including copies of the licenses |
||||
concerned. |
||||
|
||||
You are not granted rights or licenses to the trademarks of the |
||||
Mozilla Foundation or any party, including without limitation the |
||||
Firefox name or logo. |
||||
|
||||
For more information, see: http://www.mozilla.org/foundation/licensing.html |
@ -0,0 +1,329 @@
|
||||
#
|
||||
# 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/.
|
||||
|
||||
ifeq (,$(MAKE_VERSION)) |
||||
$(error GNU Make is required) |
||||
endif |
||||
make_min_ver := 3.81
|
||||
ifneq ($(make_min_ver),$(firstword $(sort $(make_min_ver) $(MAKE_VERSION)))) |
||||
$(error GNU Make $(make_min_ver) or higher is required) |
||||
endif |
||||
|
||||
export TOPLEVEL_BUILD := 1
|
||||
|
||||
default:: |
||||
|
||||
ifdef MOZ_BUILD_APP |
||||
include $(topsrcdir)/$(MOZ_BUILD_APP)/build.mk |
||||
endif |
||||
|
||||
include $(topsrcdir)/config/config.mk |
||||
|
||||
GARBAGE_DIRS += dist _javagen _profile staticlib
|
||||
DIST_GARBAGE = config.cache config.log config.status* config-defs.h \
|
||||
config/autoconf.mk \
|
||||
mozilla-config.h \
|
||||
netwerk/necko-config.h xpcom/xpcom-config.h xpcom/xpcom-private.h \
|
||||
.mozconfig.mk
|
||||
|
||||
ifdef JS_STANDALONE |
||||
configure_dir = $(topsrcdir)/js/src
|
||||
else |
||||
configure_dir = $(topsrcdir)
|
||||
endif |
||||
|
||||
ifndef MOZ_PROFILE_USE |
||||
# We need to explicitly put backend.RecursiveMakeBackend here
|
||||
# otherwise the rule in rules.mk doesn't run early enough.
|
||||
$(TIERS) binaries:: CLOBBER $(configure_dir)/configure config.status backend.RecursiveMakeBackend |
||||
ifndef JS_STANDALONE |
||||
ifndef LIBXUL_SDK |
||||
$(TIERS) binaries:: $(topsrcdir)/js/src/configure js/src/config.status |
||||
endif |
||||
endif |
||||
endif |
||||
|
||||
ifdef JS_STANDALONE |
||||
.PHONY: CLOBBER |
||||
CLOBBER: |
||||
else |
||||
CLOBBER: $(topsrcdir)/CLOBBER |
||||
@echo 'STOP! The CLOBBER file has changed.'
|
||||
@echo 'Please run the build through a sanctioned build wrapper, such as'
|
||||
@echo '"mach build" or client.mk.'
|
||||
@exit 1
|
||||
endif |
||||
|
||||
$(topsrcdir)/configure: $(topsrcdir)/configure.in |
||||
$(topsrcdir)/js/src/configure: $(topsrcdir)/js/src/configure.in |
||||
$(topsrcdir)/configure $(topsrcdir)/js/src/configure: |
||||
@echo 'STOP! $^ has changed, and your configure is out of date.'
|
||||
@echo 'Please rerun autoconf and re-configure your build directory.'
|
||||
@echo 'To ignore this message, touch "$@",'
|
||||
@echo 'but your build might not succeed.'
|
||||
@exit 1
|
||||
|
||||
config.status: $(configure_dir)/configure |
||||
js/src/config.status: $(topsrcdir)/js/src/configure |
||||
config.status js/src/config.status: |
||||
@echo 'STOP! $^ has changed and needs to be run again.'
|
||||
@echo 'Please rerun it.'
|
||||
@echo 'To ignore this message, touch "$(CURDIR)/$@",'
|
||||
@echo 'but your build might not succeed.'
|
||||
@exit 1
|
||||
|
||||
# Regenerate the build backend if it is out of date. We only have this rule in
|
||||
# this main make file because having it in rules.mk and applied to partial tree
|
||||
# builds resulted in a world of hurt. Gory details are in bug 877308.
|
||||
#
|
||||
# The mach build driver will ensure the backend is up to date for partial tree
|
||||
# builds. This cleanly avoids most of the pain.
|
||||
|
||||
backend.RecursiveMakeBackend: |
||||
@echo 'Build configuration changed. Regenerating backend.'
|
||||
$(PYTHON) config.status
|
||||
|
||||
Makefile: backend.RecursiveMakeBackend |
||||
@$(TOUCH) $@
|
||||
|
||||
include backend.RecursiveMakeBackend.pp |
||||
|
||||
default:: backend.RecursiveMakeBackend |
||||
|
||||
install_manifests := \
|
||||
$(addprefix dist/,bin idl include public private sdk xpi-stage) \
|
||||
_tests \
|
||||
$(NULL)
|
||||
install_manifest_depends = \
|
||||
CLOBBER \
|
||||
$(configure_dir)/configure \
|
||||
config.status \
|
||||
backend.RecursiveMakeBackend \
|
||||
$(NULL)
|
||||
|
||||
ifndef JS_STANDALONE |
||||
ifndef LIBXUL_SDK |
||||
install_manifest_depends += \
|
||||
$(topsrcdir)/js/src/configure \
|
||||
js/src/config.status \
|
||||
$(NULL)
|
||||
endif |
||||
endif |
||||
|
||||
.PHONY: install-manifests |
||||
install-manifests: $(addprefix install-,$(install_manifests)) |
||||
|
||||
# process_install_manifest needs to be invoked with --no-remove when building
|
||||
# js as standalone because automated builds are building nspr separately and
|
||||
# that would remove the resulting files.
|
||||
# Eventually, a standalone js build would just be able to build nspr itself,
|
||||
# removing the need for the former.
|
||||
ifdef JS_STANDALONE |
||||
NO_REMOVE=1
|
||||
endif |
||||
|
||||
.PHONY: $(addprefix install-,$(install_manifests)) |
||||
$(addprefix install-,$(filter dist/%,$(install_manifests))): install-dist/%: $(install_manifest_depends) |
||||
$(call py_action,process_install_manifest,$(if $(NO_REMOVE),--no-remove )$(DIST)/$* _build_manifests/install/dist_$*)
|
||||
|
||||
install-_tests: $(install_manifest_depends) |
||||
$(call py_action,process_install_manifest,$(if $(NO_REMOVE),--no-remove )_tests _build_manifests/install/tests)
|
||||
|
||||
# For compatibility
|
||||
.PHONY: install-tests |
||||
install-tests: install-_tests |
||||
|
||||
include $(topsrcdir)/build/moz-automation.mk |
||||
|
||||
# _tests should be purged during cleaning. However, we don't want it purged
|
||||
# during PGO builds because it contains some auto-generated files.
|
||||
ifneq ($(filter-out maybe_clobber_profiledbuild,$(MAKECMDGOALS)),) |
||||
GARBAGE_DIRS += _tests
|
||||
endif |
||||
|
||||
# Windows PGO builds don't perform a clean before the 2nd pass. So, we want
|
||||
# to preserve content for the 2nd pass on Windows. Everywhere else, we always
|
||||
# process the install manifests as part of export.
|
||||
# For the binaries rule, not all the install manifests matter, so force only
|
||||
# the interesting ones to be done.
|
||||
ifdef MOZ_PROFILE_USE |
||||
ifndef NO_PROFILE_GUIDED_OPTIMIZE |
||||
ifneq ($(OS_ARCH)_$(GNU_CC), WINNT_) |
||||
export:: install-manifests |
||||
binaries:: |
||||
@$(MAKE) install-manifests NO_REMOVE=1 install_manifests=dist/include
|
||||
endif |
||||
endif |
||||
else # !MOZ_PROFILE_USE (normal build)
|
||||
export:: install-manifests |
||||
binaries:: |
||||
@$(MAKE) install-manifests NO_REMOVE=1 install_manifests=dist/include
|
||||
endif |
||||
|
||||
# For historical reasons that are unknown, $(DIST)/sdk is always blown away
|
||||
# with no regard for PGO passes. This decision could probably be revisited.
|
||||
export:: install-dist/sdk |
||||
|
||||
ifndef JS_STANDALONE |
||||
ifdef ENABLE_TESTS |
||||
# Additional makefile targets to call automated test suites
|
||||
include $(topsrcdir)/testing/testsuite-targets.mk |
||||
endif |
||||
endif |
||||
|
||||
default all:: |
||||
$(call BUILDSTATUS,TIERS $(TIERS) $(if $(MOZ_AUTOMATION),$(MOZ_AUTOMATION_TIERS)))
|
||||
|
||||
include $(topsrcdir)/config/rules.mk |
||||
|
||||
distclean:: |
||||
$(RM) $(DIST_GARBAGE)
|
||||
|
||||
ifeq ($(OS_ARCH),WINNT) |
||||
# we want to copy PDB files on Windows
|
||||
MAKE_SYM_STORE_ARGS := -c --vcs-info
|
||||
ifdef PDBSTR_PATH |
||||
MAKE_SYM_STORE_ARGS += -i
|
||||
endif |
||||
DUMP_SYMS_BIN ?= $(topsrcdir)/toolkit/crashreporter/tools/win32/dump_syms_vc$(_MSC_VER).exe
|
||||
# PDB files don't get moved to dist, so we need to scan the whole objdir
|
||||
MAKE_SYM_STORE_PATH := .
|
||||
endif |
||||
ifeq ($(OS_ARCH),Darwin) |
||||
# need to pass arch flags for universal builds
|
||||
ifdef UNIVERSAL_BINARY |
||||
MAKE_SYM_STORE_ARGS := -c -a 'i386 x86_64' --vcs-info
|
||||
MAKE_SYM_STORE_PATH := $(DIST)/universal
|
||||
else |
||||
MAKE_SYM_STORE_ARGS := -c -a $(OS_TEST) --vcs-info
|
||||
MAKE_SYM_STORE_PATH := $(DIST)/bin
|
||||
endif |
||||
DUMP_SYMS_BIN ?= $(DIST)/host/bin/dump_syms
|
||||
endif |
||||
ifeq (,$(filter-out Linux SunOS,$(OS_ARCH))) |
||||
MAKE_SYM_STORE_ARGS := -c --vcs-info
|
||||
DUMP_SYMS_BIN ?= $(DIST)/host/bin/dump_syms
|
||||
MAKE_SYM_STORE_PATH := $(DIST)/bin
|
||||
endif |
||||
MAKE_SYM_STORE_ARGS += --install-manifest=$(DEPTH)/_build_manifests/install/dist_include,$(DIST)/include
|
||||
|
||||
SYM_STORE_SOURCE_DIRS := $(topsrcdir)
|
||||
|
||||
ifndef JS_STANDALONE |
||||
include $(topsrcdir)/toolkit/mozapps/installer/package-name.mk |
||||
|
||||
ifdef MOZ_SYMBOLS_EXTRA_BUILDID |
||||
EXTRA_BUILDID := -$(MOZ_SYMBOLS_EXTRA_BUILDID)
|
||||
endif |
||||
|
||||
SYMBOL_INDEX_NAME = \
|
||||
$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)-$(OS_TARGET)-$(BUILDID)-$(CPU_ARCH)$(EXTRA_BUILDID)-symbols.txt
|
||||
|
||||
buildsymbols: |
||||
ifdef MOZ_CRASHREPORTER |
||||
echo building symbol store
|
||||
$(RM) -r $(DIST)/crashreporter-symbols
|
||||
$(RM) '$(DIST)/$(SYMBOL_ARCHIVE_BASENAME).zip'
|
||||
$(RM) '$(DIST)/$(SYMBOL_FULL_ARCHIVE_BASENAME).zip'
|
||||
$(NSINSTALL) -D $(DIST)/crashreporter-symbols
|
||||
OBJCOPY='$(OBJCOPY)' \
|
||||
$(PYTHON) $(topsrcdir)/toolkit/crashreporter/tools/symbolstore.py \
|
||||
$(MAKE_SYM_STORE_ARGS) \
|
||||
$(foreach dir,$(SYM_STORE_SOURCE_DIRS),-s $(dir)) \
|
||||
$(DUMP_SYMS_BIN) \
|
||||
$(DIST)/crashreporter-symbols \
|
||||
$(MAKE_SYM_STORE_PATH) | grep -iv test > \
|
||||
$(DIST)/crashreporter-symbols/$(SYMBOL_INDEX_NAME)
|
||||
echo packing symbols
|
||||
$(NSINSTALL) -D $(DIST)/$(PKG_PATH)
|
||||
cd $(DIST)/crashreporter-symbols && \
|
||||
zip -r9D '../$(PKG_PATH)$(SYMBOL_FULL_ARCHIVE_BASENAME).zip' . -x '*test*' -x '*Test*'
|
||||
cd $(DIST)/crashreporter-symbols && \
|
||||
grep 'sym' $(SYMBOL_INDEX_NAME) > $(SYMBOL_INDEX_NAME).tmp && \
|
||||
mv $(SYMBOL_INDEX_NAME).tmp $(SYMBOL_INDEX_NAME)
|
||||
cd $(DIST)/crashreporter-symbols && \
|
||||
zip -r9D '../$(PKG_PATH)$(SYMBOL_ARCHIVE_BASENAME).zip' . -i '*.sym' -i '*.txt' -x '*test*' -x '*Test*'
|
||||
endif # MOZ_CRASHREPORTER
|
||||
|
||||
uploadsymbols: |
||||
ifdef MOZ_CRASHREPORTER |
||||
ifdef SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE |
||||
$(PYTHON) -u $(topsrcdir)/toolkit/crashreporter/tools/upload_symbols.py '$(DIST)/$(PKG_PATH)$(SYMBOL_FULL_ARCHIVE_BASENAME).zip'
|
||||
else |
||||
$(SHELL) $(topsrcdir)/toolkit/crashreporter/tools/upload_symbols.sh $(SYMBOL_INDEX_NAME) '$(DIST)/$(PKG_PATH)$(SYMBOL_FULL_ARCHIVE_BASENAME).zip'
|
||||
endif |
||||
endif |
||||
|
||||
# MOZ_SOURCE_STAMP is defined in package-name.mk with a deferred assignment.
|
||||
# exporting it makes make run its $(shell) command for each invoked submake,
|
||||
# so transform it to an immediate assignment.
|
||||
MOZ_SOURCE_STAMP := $(MOZ_SOURCE_STAMP)
|
||||
export MOZ_SOURCE_STAMP |
||||
endif |
||||
|
||||
.PHONY: update-packaging |
||||
update-packaging: |
||||
$(MAKE) -C tools/update-packaging
|
||||
|
||||
.PHONY: pretty-package |
||||
pretty-package: |
||||
unset MOZ_SIGN_CMD && $(MAKE) package MOZ_PKG_PRETTYNAMES=1
|
||||
|
||||
.PHONY: pretty-package-tests |
||||
pretty-package-tests: |
||||
unset MOZ_SIGN_CMD && $(MAKE) package-tests MOZ_PKG_PRETTYNAMES=1
|
||||
|
||||
.PHONY: pretty-l10n-check |
||||
pretty-l10n-check: |
||||
unset MOZ_SIGN_CMD && $(MAKE) l10n-check MOZ_PKG_PRETTYNAMES=1
|
||||
|
||||
.PHONY: pretty-update-packaging |
||||
pretty-update-packaging: |
||||
unset MOZ_SIGN_CMD && $(MAKE) -C tools/update-packaging MOZ_PKG_PRETTYNAMES=1
|
||||
|
||||
.PHONY: pretty-installer |
||||
pretty-installer: |
||||
unset MOZ_SIGN_CMD && $(MAKE) installer MOZ_PKG_PRETTYNAMES=1
|
||||
|
||||
#XXX: this is a hack, since we don't want to clobber for MSVC
|
||||
# PGO support, but we can't do this test in client.mk
|
||||
ifneq ($(OS_ARCH)_$(GNU_CC), WINNT_) |
||||
# No point in clobbering if PGO has been explicitly disabled.
|
||||
ifndef NO_PROFILE_GUIDED_OPTIMIZE |
||||
maybe_clobber_profiledbuild: clean |
||||
else |
||||
maybe_clobber_profiledbuild: |
||||
endif |
||||
else |
||||
maybe_clobber_profiledbuild: |
||||
$(RM) $(DIST)/bin/*.pgc
|
||||
find $(DIST)/$(MOZ_APP_NAME) -name '*.pgc' -exec mv {} $(DIST)/bin \;
|
||||
endif |
||||
|
||||
.PHONY: maybe_clobber_profiledbuild |
||||
|
||||
# Look for R_386_PC32 relocations in shared libs, these
|
||||
# break x86_64 builds and SELinux users.
|
||||
ifeq ($(OS_TARGET)_$(TARGET_XPCOM_ABI),Linux_x86-gcc3) |
||||
check:: |
||||
@relcount=`find $(DIST)/bin -name '*.so' | xargs objdump -R | grep R_386_PC32 | wc -l` && if test $$relcount -gt 0; then echo 'FAILED: R_386_PC32 relocations detected in a shared library. Did you use a system header without adding it to config/system-headers?'; exit 1; else echo 'PASSED'; fi
|
||||
endif |
||||
|
||||
ifdef JS_STANDALONE |
||||
# Delegate js-specific rules to js
|
||||
check-%: |
||||
$(MAKE) -C js/src $@
|
||||
|
||||
source-package install: |
||||
$(MAKE) -C js/src $@
|
||||
|
||||
# Every export rule depends on config/export, but the rule for config/export
|
||||
# doesn't exist when building js non-standalone.
|
||||
.PHONY: config/export |
||||
config/export: |
||||
|
||||
endif |
||||
|
||||
# There used to be build interdependencies here. They are now in config/recurse.mk
|
@ -0,0 +1,29 @@
|
||||
An explanation of the Mozilla Source Code Directory Structure and links to |
||||
project pages with documentation can be found at: |
||||
|
||||
https://developer.mozilla.org/en/Mozilla_Source_Code_Directory_Structure |
||||
|
||||
For information on how to build Mozilla from the source code, see: |
||||
|
||||
http://developer.mozilla.org/en/docs/Build_Documentation |
||||
|
||||
To have your bug fix / feature added to Mozilla, you should create a patch and |
||||
submit it to Bugzilla (https://bugzilla.mozilla.org). Instructions are at: |
||||
|
||||
http://developer.mozilla.org/en/docs/Creating_a_patch |
||||
http://developer.mozilla.org/en/docs/Getting_your_patch_in_the_tree |
||||
|
||||
If you have a question about developing Mozilla, and can't find the solution |
||||
on http://developer.mozilla.org, you can try asking your question in a |
||||
mozilla.* Usenet group, or on IRC at irc.mozilla.org. [The Mozilla news groups |
||||
are accessible on Google Groups, or news.mozilla.org with a NNTP reader.] |
||||
|
||||
You can download nightly development builds from the Mozilla FTP server. |
||||
Keep in mind that nightly builds, which are used by Mozilla developers for |
||||
testing, may be buggy. Firefox nightlies, for example, can be found at: |
||||
|
||||
ftp://ftp.mozilla.org/pub/firefox/nightly/latest-trunk/ |
||||
- or - |
||||
http://nightly.mozilla.org/ |
||||
|
||||
|
@ -0,0 +1,21 @@
|
||||
/* -*- 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_ARIAGRIDACCESSIBLEWRAP_H |
||||
#define MOZILLA_A11Y_ARIAGRIDACCESSIBLEWRAP_H |
||||
|
||||
#include "ARIAGridAccessible.h" |
||||
|
||||
namespace mozilla { |
||||
namespace a11y { |
||||
|
||||
typedef class ARIAGridAccessible ARIAGridAccessibleWrap; |
||||
typedef class ARIAGridCellAccessible ARIAGridCellAccessibleWrap; |
||||
|
||||
} // namespace a11y
|
||||
} // namespace mozilla
|
||||
|
||||
#endif |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,106 @@
|
||||
/* -*- 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 __NS_ACCESSIBLE_WRAP_H__ |
||||
#define __NS_ACCESSIBLE_WRAP_H__ |
||||
|
||||
#include "nsCOMPtr.h" |
||||
#include "Accessible.h" |
||||
|
||||
struct _AtkObject; |
||||
typedef struct _AtkObject AtkObject; |
||||
|
||||
enum AtkProperty { |
||||
PROP_0, // gobject convention
|
||||
PROP_NAME, |
||||
PROP_DESCRIPTION, |
||||
PROP_PARENT, // ancestry has changed
|
||||
PROP_ROLE, |
||||
PROP_LAYER, |
||||
PROP_MDI_ZORDER, |
||||
PROP_TABLE_CAPTION, |
||||
PROP_TABLE_COLUMN_DESCRIPTION, |
||||
PROP_TABLE_COLUMN_HEADER, |
||||
PROP_TABLE_ROW_DESCRIPTION, |
||||
PROP_TABLE_ROW_HEADER, |
||||
PROP_TABLE_SUMMARY, |
||||
PROP_LAST // gobject convention
|
||||
}; |
||||
|
||||
struct AtkPropertyChange { |
||||
int32_t type; // property type as listed above
|
||||
void *oldvalue; |
||||
void *newvalue; |
||||
}; |
||||
|
||||
namespace mozilla { |
||||
namespace a11y { |
||||
|
||||
class MaiHyperlink; |
||||
|
||||
/**
|
||||
* AccessibleWrap, and its descendents in atk directory provide the |
||||
* implementation of AtkObject. |
||||
*/ |
||||
class AccessibleWrap : public Accessible |
||||
{ |
||||
public: |
||||
AccessibleWrap(nsIContent* aContent, DocAccessible* aDoc); |
||||
virtual ~AccessibleWrap(); |
||||
void ShutdownAtkObject(); |
||||
|
||||
virtual void Shutdown() override; |
||||
|
||||
// return the atk object for this AccessibleWrap
|
||||
virtual void GetNativeInterface(void** aOutAccessible) override; |
||||
virtual nsresult HandleAccEvent(AccEvent* aEvent) override; |
||||
|
||||
AtkObject * GetAtkObject(void); |
||||
static AtkObject* GetAtkObject(Accessible* aAccessible); |
||||
|
||||
bool IsValidObject(); |
||||
|
||||
// get/set the MaiHyperlink object for this AccessibleWrap
|
||||
MaiHyperlink* GetMaiHyperlink(bool aCreate = true); |
||||
void SetMaiHyperlink(MaiHyperlink* aMaiHyperlink); |
||||
|
||||
static const char * ReturnString(nsAString &aString) { |
||||
static nsCString returnedString; |
||||
returnedString = NS_ConvertUTF16toUTF8(aString); |
||||
return returnedString.get(); |
||||
} |
||||
|
||||
protected: |
||||
|
||||
nsresult FireAtkStateChangeEvent(AccEvent* aEvent, AtkObject *aObject); |
||||
nsresult FireAtkTextChangedEvent(AccEvent* aEvent, AtkObject *aObject); |
||||
nsresult FireAtkShowHideEvent(AccEvent* aEvent, AtkObject *aObject, |
||||
bool aIsAdded); |
||||
|
||||
AtkObject *mAtkObject; |
||||
|
||||
private: |
||||
|
||||
/*
|
||||
* do we have text-remove and text-insert signals if not we need to use |
||||
* text-changed see AccessibleWrap::FireAtkTextChangedEvent() and |
||||
* bug 619002 |
||||
*/ |
||||
enum EAvailableAtkSignals { |
||||
eUnknown, |
||||
eHaveNewAtkTextSignals, |
||||
eNoNewAtkSignals |
||||
}; |
||||
|
||||
static EAvailableAtkSignals gAvailableAtkSignals; |
||||
|
||||
uint16_t CreateMaiInterfaces(); |
||||
}; |
||||
|
||||
} // namespace a11y
|
||||
} // namespace mozilla
|
||||
|
||||
#endif /* __NS_ACCESSIBLE_WRAP_H__ */ |
@ -0,0 +1,168 @@
|
||||
/* -*- 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 "ApplicationAccessibleWrap.h" |
||||
|
||||
#include "nsCOMPtr.h" |
||||
#include "nsMai.h" |
||||
#include "nsAutoPtr.h" |
||||
#include "nsAccessibilityService.h" |
||||
|
||||
#include <gtk/gtk.h> |
||||
#include <atk/atk.h> |
||||
|
||||
using namespace mozilla; |
||||
using namespace mozilla::a11y; |
||||
|
||||
|
||||
// ApplicationAccessibleWrap
|
||||
|
||||
ApplicationAccessibleWrap::ApplicationAccessibleWrap(): |
||||
ApplicationAccessible() |
||||
{ |
||||
} |
||||
|
||||
ApplicationAccessibleWrap::~ApplicationAccessibleWrap() |
||||
{ |
||||
AccessibleWrap::ShutdownAtkObject(); |
||||
} |
||||
|
||||
gboolean |
||||
toplevel_event_watcher(GSignalInvocationHint* ihint, |
||||
guint n_param_values, |
||||
const GValue* param_values, |
||||
gpointer data) |
||||
{ |
||||
static GQuark sQuark_gecko_acc_obj = 0; |
||||
|
||||
if (!sQuark_gecko_acc_obj) |
||||
sQuark_gecko_acc_obj = g_quark_from_static_string("GeckoAccObj"); |
||||
|
||||
if (nsAccessibilityService::IsShutdown()) |
||||
return TRUE; |
||||
|
||||
GObject* object = reinterpret_cast<GObject*>(g_value_get_object(param_values)); |
||||
if (!GTK_IS_WINDOW(object)) |
||||
return TRUE; |
||||
|
||||
AtkObject* child = gtk_widget_get_accessible(GTK_WIDGET(object)); |
||||
|
||||
// GTK native dialog
|
||||
if (!IS_MAI_OBJECT(child) && |
||||
(atk_object_get_role(child) == ATK_ROLE_DIALOG)) { |
||||
|
||||
if (data == reinterpret_cast<gpointer>(nsIAccessibleEvent::EVENT_SHOW)) { |
||||
|
||||
// Attach the dialog accessible to app accessible tree
|
||||
Accessible* windowAcc = GetAccService()->AddNativeRootAccessible(child); |
||||
g_object_set_qdata(G_OBJECT(child), sQuark_gecko_acc_obj, |
||||
reinterpret_cast<gpointer>(windowAcc)); |
||||
|
||||
} else { |
||||
|
||||
// Deattach the dialog accessible
|
||||
Accessible* windowAcc = |
||||
reinterpret_cast<Accessible*> |
||||
(g_object_get_qdata(G_OBJECT(child), sQuark_gecko_acc_obj)); |
||||
if (windowAcc) { |
||||
GetAccService()->RemoveNativeRootAccessible(windowAcc); |
||||
g_object_set_qdata(G_OBJECT(child), sQuark_gecko_acc_obj, nullptr); |
||||
} |
||||
|
||||
} |
||||
} |
||||
|
||||
return TRUE; |
||||
} |
||||
|
||||
ENameValueFlag |
||||
ApplicationAccessibleWrap::Name(nsString& aName) |
||||
{ |
||||
// ATK doesn't provide a way to obtain an application name (for example,
|
||||
// Firefox or Thunderbird) like IA2 does. Thus let's return an application
|
||||
// name as accessible name that was used to get a branding name (for example,
|
||||
// Minefield aka nightly Firefox or Daily aka nightly Thunderbird).
|
||||
AppName(aName); |
||||
return eNameOK; |
||||
} |
||||
|
||||
void |
||||
ApplicationAccessibleWrap::GetNativeInterface(void** aOutAccessible) |
||||
{ |
||||
*aOutAccessible = nullptr; |
||||
|
||||
if (!mAtkObject) { |
||||
mAtkObject = |
||||
reinterpret_cast<AtkObject*>(g_object_new(MAI_TYPE_ATK_OBJECT, nullptr)); |
||||
if (!mAtkObject) |
||||
return; |
||||
|
||||
atk_object_initialize(mAtkObject, this); |
||||
mAtkObject->role = ATK_ROLE_INVALID; |
||||
mAtkObject->layer = ATK_LAYER_INVALID; |
||||
} |
||||
|
||||
*aOutAccessible = mAtkObject; |
||||
} |
||||
|
||||
struct AtkRootAccessibleAddedEvent { |
||||
AtkObject *app_accessible; |
||||
AtkObject *root_accessible; |
||||
uint32_t index; |
||||
}; |
||||
|
||||
gboolean fireRootAccessibleAddedCB(gpointer data) |
||||
{ |
||||
AtkRootAccessibleAddedEvent* eventData = (AtkRootAccessibleAddedEvent*)data; |
||||
g_signal_emit_by_name(eventData->app_accessible, "children_changed::add", |
||||
eventData->index, eventData->root_accessible, nullptr); |
||||
g_object_unref(eventData->app_accessible); |
||||
g_object_unref(eventData->root_accessible); |
||||
free(data); |
||||
|
||||
return FALSE; |
||||
} |
||||
|
||||
bool |
||||
ApplicationAccessibleWrap::InsertChildAt(uint32_t aIdx, Accessible* aChild) |
||||
{ |
||||
if (!ApplicationAccessible::InsertChildAt(aIdx, aChild)) |
||||
return false; |
||||
|
||||
AtkObject* atkAccessible = AccessibleWrap::GetAtkObject(aChild); |
||||
atk_object_set_parent(atkAccessible, mAtkObject); |
||||
|
||||
uint32_t count = mChildren.Length(); |
||||
|
||||
// Emit children_changed::add in a timeout
|
||||
// to make sure aRootAccWrap is fully initialized.
|
||||
AtkRootAccessibleAddedEvent* eventData = (AtkRootAccessibleAddedEvent*) |
||||
malloc(sizeof(AtkRootAccessibleAddedEvent)); |
||||
if (eventData) { |
||||
eventData->app_accessible = mAtkObject; |
||||
eventData->root_accessible = atkAccessible; |
||||
eventData->index = count -1; |
||||
g_object_ref(mAtkObject); |
||||
g_object_ref(atkAccessible); |
||||
g_timeout_add(0, fireRootAccessibleAddedCB, eventData); |
||||
} |
||||
|
||||
return true; |
||||
} |
||||
|
||||
bool |
||||
ApplicationAccessibleWrap::RemoveChild(Accessible* aChild) |
||||
{ |
||||
int32_t index = aChild->IndexInParent(); |
||||
|
||||
AtkObject* atkAccessible = AccessibleWrap::GetAtkObject(aChild); |
||||
atk_object_set_parent(atkAccessible, nullptr); |
||||
g_signal_emit_by_name(mAtkObject, "children_changed::remove", index, |
||||
atkAccessible, nullptr); |
||||
|
||||
return ApplicationAccessible::RemoveChild(aChild); |
||||
} |
||||
|
@ -0,0 +1,35 @@
|
||||
/* -*- 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_ApplicationAccessibleWrap_h__ |
||||
#define mozilla_a11y_ApplicationAccessibleWrap_h__ |
||||
|
||||
#include "ApplicationAccessible.h" |
||||
|
||||
namespace mozilla { |
||||
namespace a11y { |
||||
|
||||
class ApplicationAccessibleWrap: public ApplicationAccessible |
||||
{ |
||||
public: |
||||
ApplicationAccessibleWrap(); |
||||
virtual ~ApplicationAccessibleWrap(); |
||||
|
||||
// Accessible
|
||||
virtual mozilla::a11y::ENameValueFlag Name(nsString& aName) override; |
||||
virtual bool InsertChildAt(uint32_t aIdx, Accessible* aChild) override; |
||||
virtual bool RemoveChild(Accessible* aChild) override; |
||||
|
||||
/**
|
||||
* Return the atk object for app root accessible. |
||||
*/ |
||||
virtual void GetNativeInterface(void** aOutAccessible) override; |
||||
}; |
||||
|
||||
} // namespace a11y
|
||||
} // namespace mozilla
|
||||
|
||||
#endif /* __NS_APP_ROOT_ACCESSIBLE_H__ */ |
@ -0,0 +1,155 @@
|
||||
/* -*- 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 <atk/atk.h> |
||||
#include "AtkSocketAccessible.h" |
||||
|
||||
#include "InterfaceInitFuncs.h" |
||||
#include "nsMai.h" |
||||
#include "mozilla/Likely.h" |
||||
|
||||
using namespace mozilla::a11y; |
||||
|
||||
AtkSocketEmbedType AtkSocketAccessible::g_atk_socket_embed = nullptr; |
||||
GType AtkSocketAccessible::g_atk_socket_type = G_TYPE_INVALID; |
||||
const char* AtkSocketAccessible::sATKSocketEmbedSymbol = "atk_socket_embed"; |
||||
const char* AtkSocketAccessible::sATKSocketGetTypeSymbol = "atk_socket_get_type"; |
||||
|
||||
bool AtkSocketAccessible::gCanEmbed = FALSE; |
||||
|
||||
extern "C" void mai_atk_component_iface_init(AtkComponentIface* aIface); |
||||
extern "C" GType mai_atk_socket_get_type(void); |
||||
|
||||
/* MaiAtkSocket */ |
||||
|
||||
#define MAI_TYPE_ATK_SOCKET (mai_atk_socket_get_type ()) |
||||
#define MAI_ATK_SOCKET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),\ |
||||
MAI_TYPE_ATK_SOCKET, MaiAtkSocket)) |
||||
#define MAI_IS_ATK_SOCKET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj),\ |
||||
MAI_TYPE_ATK_SOCKET)) |
||||
#define MAI_ATK_SOCKET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass),\ |
||||
MAI_TYPE_ATK_SOCKET,\
|
||||
MaiAtkSocketClass)) |
||||
#define MAI_IS_ATK_SOCKET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),\ |
||||
MAI_TYPE_ATK_SOCKET)) |
||||
#define MAI_ATK_SOCKET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),\ |
||||
MAI_TYPE_ATK_SOCKET,\
|
||||
MaiAtkSocketClass)) |
||||
|
||||
typedef struct _MaiAtkSocket |
||||
{ |
||||
AtkSocket parent; |
||||
|
||||
AccessibleWrap* accWrap; |
||||
} MaiAtkSocket; |
||||
|
||||
typedef struct _MaiAtkSocketClass |
||||
{ |
||||
AtkSocketClass parent_class; |
||||