Closed Bug 130975 Opened 22 years ago Closed 22 years ago

Active Accessibility: Unable to get accessibility service on linux

Categories

(SeaMonkey :: General, defect)

x86
Linux
defect
Not set
major

Tracking

(Not tracked)

VERIFIED WORKSFORME

People

(Reporter: dsirnapalli, Assigned: yuanyi21)

References

Details

(Keywords: access)

Attachments

(1 file)

-- I am trying to run the accessibility test cases on linux. I am unable to get 
the accessibility service. The same test case works fine on windows.
The attached test case fails in the following method.
--------
function getAccessibleNode(startNode)
{
  var accessibleService = null;
  var accessibleNode = null;
  try{
   netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
   netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
alert("before getting acc service");
   accessibleService = Components.classes
["@mozilla.org/accessibilityService;1"].createInstance();
alert("after getting acc service");
   accessibleService = accessibleService.QueryInterface
(Components.interfaces.nsIAccessibilityService);
  }
  catch(e){
   alert("Error getting accessibility service");
  }

  try{
   netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
   netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");

   accessibleNode = accessibleService.getAccessibleFor(startNode);

   return accessibleNode;
  }
  catch(e){
   return "Exception";
  }
}
----------
This statement
   accessibleService = Components.classes
["@mozilla.org/accessibilityService;1"].createInstance();
fails.
QA Contact: doronr → dsirnapalli
-> John Gaunt

This is not nsbeta1 material though. It would be best if Sun's team could tackle
this one.
Blocks: atfmeta
Keywords: access
OK, I'll take a look for this issue.
Hi, Dharma

When I turned on the following option in dist/bin/all.js
pref("signed.applets.codebase_principal_support", true);
every thing is OK. e.g. "after getting acc service" can
popup.
Hi kyle,
First thing is i heard you should never change all.js file. To make the test
cases work on window i never chaged all.js. i usually change prefs.js
Anyway i searched for all.js and found at 3 places.
/usr/lib/mozilla/defaults/pref/all.js
/usr/local/netscape/defaults/pref/all.js
/root/mozilla_nightly/mozilla/defaults/pref/all.js
I set preference in all the three file, but it still doesnot work.
I didnot do a build on this linux m/c, so i will not see dist/bin/... as u did.
I did a nightly build and put it at /root/mozilla_nightly/mozilla.

I have one prefs.js file at
/root/.mozilla/root/8fjkauj3.slt/prefs.js
I set the user_pref("signed.app....") in this file. I was sure that i closed my
mozilla browser when i set this. after setting this pref, when i open the
mozilla browser and close it(even without running the test case) its removing
the preference. so may be that could be the problem i am not able to run the
test case.


Sorry, Dharma, I make a mistake, the all.js should be in 
dist/bin/defaults/pref directory. In this file, you should
find a line like this:
pref("signed.applets.codebase_principal_support", false);
                                                  ^^^^^
just modify the "false" to "true", rather than add a new line
user_pref(....), because I found that the user_pref can not
turn this option on correctly.

BTW, the directory, which your prefs.js locates in, seems
like a little strange. 
Kyle:

Some kindly reminders:(I think you must have known it)
1 Remember that the source files should be in other directories instead of dist/bin,

Anyway, if you want to do some quick test and debuging, you can modify the files
on dist/bin directly

2 Some files are for all the platforms, when you modify it, you shoule be very
careful, because Windows guys and Mac guys and other platforms guys are watching
you. and some files are platform specific, you can modify them to fix platform
specific bug.

Hope it is not confusing.

--Jay

Thanks, Jay.

I know the game's rule, but I just want to prove that there should
be at least one way (but may not the best way) to have the test 
case run properly.
hi kyle,
I dont have dist directory on my linux m/c. I didnot pull the code and build
mozilla build. I pulled mozilla nightly build. I dont think that will have dist
directory. I feel there should be some other place where we should set this.
I think if i pull the code and do build it might work as you said. I will do
that also. But for now if somebody want to test test cases and has only nightly
build it will not work for him. 
Hi, Dharma, 

You told me that you have 3 all.js files. 

/usr/lib/mozilla/defaults/pref/all.js
/usr/local/netscape/defaults/pref/all.js
/root/mozilla_nightly/mozilla/defaults/pref/all.js

I guess the last file maybe the right one, but I'm not very sure.
It depends on where your mozilla locates in, e.g. if your
mozilla is in /usr/lib/mozilla/, you should modify the first
one, if it's in /root/mozilla_nightly/mozilla/, you should
modify the 3rd one, and so on.
Hi, Dharma, there is another (and better) way to fix this bug:

The mozilla profiles are stored in your ~/.mozilla/ directory.
then change directory to "Default User" (maybe other name
of the profile), then change to a strange named directory
such as "gytv8lrg.slt". There is a prefs.js file. You should
add "user_pref(....)" to this file. Then this test case can 
run properly. So I think we do not need to modify the all.js any more.
Hi Kyle,
As you said mozilla profiles are stored in ~/.mozilla/ directory. I was changing
that prefs.js file only from starting. 
I figured out what was going wrong with me. It works fine for me now.
The problem with mine was when i was running mozilla from ~/dist/bin/ i was
giving the command "mozilla" instead of "./mozilla". even "mozilla" is bringing
up mozilla browser but i think that is something else. when i brought up mozilla
with "./mozilla" everything works fine. If you know what's the difference
between "mozilla" and "./mozilla" can you please comment.
You can assign this bug to yourself and mark it as "worksforme" or something so
that i can close this bug.
I think you must have two versions mozilla, one was compiled and
one was installed. You can find the difference of two "mozilla"
by looking at the "Build ID" on the title bar or clicking the "Help->
About Mozilla" menu item.
When you typed "./mozilla", system will find the file named 
"mozilla" only in current directory. When you typed "mozilla",
system will find "mozilla" on your PATH *except* current
directory. You can use "echo $PATH" command to see your PATH env.
If you started with "mozilla", maybe its profile is stored in
a different directory.
worksforme
Assignee: aaronl → kyle.yuan
-- marking bug as worksforme on behalf on kyle
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → WORKSFORME
hi kyle,
--ya i have 3 versions of mozilla on my m/c. first one is in /usr/bin/mozilla,
second one in ~/mozilla/dist/bin and third ~/mozilla_nightly/mozilla/mozilla.
By seeing the build id i found that if i give "mozilla" it was executing
/usr/bin/mozilla. Actually that was not what i wanted to execute.when i gave
"./mozilla" it was executing right one. I dont know where /usr/bin/mozilla came
from . I know about the other two. So i don't know where the profiles of that
mozilla are saved. anyway now i know where to change the preferences for
different mozilla versions.

--Thank you very much for spending time to investigate on this.  
--Marking the bug as verified.
Status: RESOLVED → VERIFIED
Hi, Dharma, I think the /usr/bin/mozilla came from your linux installation.
Perhaps it's a version 0.7 mozilla.
Hi kyle,
As you said /usr/bin/mozilla might have come with linux installation. Yes is
version 0.7 mozilla.
-- Hi kyle, I have two versions of mozilla. One is regular mozilla trunk build 
and other is mozilla nightly build. 
I see accessibility.xpt file in the trunk build, but i dont see it in mozilla 
nightly build. Why is this file not included in the nightly build.
-- I feel, i am not getting accessibility service in the nightly build because 
some file is missing there. I dont think its because of user_pref(".....")
-- I know there is no concept of dll's in linux. What is the equivalent of dll 
files in Linux.
-- On window i see accessibility.dll and accessibility.xpt in both trunk build 
and nightly build.
Status: VERIFIED → REOPENED
Resolution: WORKSFORME → ---
Hi, dharma,

You still can not get accessibility on Linux?

1) accessibility.xpt is necessary to get accessibility service
2) the .dll file is called as .so on Linux.
3) I tried the recent nightly build (mozilla-i686-pc-linux-gnu-1.0rc1.tar.gz),
it DO have an accessibility.xpt in the components directory, as same as
libaccessibility.so does. Could you try this build too?
Hi kyle,
--As you said i downloaded (mozilla-i686-pc-linux-gnu-1.0rc1.tar.gz) build.
Everything is working fine in this build. All the test cases work properly and i
can find accessibility.xpt and libaccessibility.so.
I found the build you mentioned by following the below steps
1.go to www.mozilla.org
2.click on download
3.click on x86 tar.gz format(11.9MB) under Linux.
4.untar it. 

--But, Until now i was trying a different build. I was getting the nightly
builds from ftp://ftp.mozilla.org/pub/mozilla/nightly/latest/
I was using mozilla-i686-pc-linux-gnu-installer.tar.gz. If i use this installer
and get the build it does not have accessibility.xpt and .so file.
I dont see the tar file you mentioned anywhere here. why is that so different
from all these here.
Any idea.

I tried the installer too, but I failed. Maybe the accessibility.xpt was forgot
by the installer program, I guess :)
You need to ask the person who writes the installer to get the real answer.
Talking about the tarball (not the installer), I think mozilla prefers
everyone's installation using the installer rather than downloading the whole
package at once.
-- I talked to John regarding the installer problem. New bug has been filed for
that. Bug#139621.
Thanks kyle, i am marking the bug as worksforme.
Status: REOPENED → RESOLVED
Closed: 22 years ago22 years ago
Resolution: --- → WORKSFORME
-- Marking bug as verified.
Status: RESOLVED → VERIFIED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: