Closed Bug 370676 Opened 18 years ago Closed 18 years ago

import IA2 interfaces into tree

Categories

(Core :: Disability Access APIs, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: surkov, Assigned: surkov)

References

(Blocks 1 open bug, )

Details

(Keywords: access)

Attachments

(2 files, 1 obsolete file)

Attached patch patch (obsolete) — Splinter Review
Initial import of IA2 interface plus nsAccessibleWrap implements IAccessible2 interface. I changed IAccessible2 interface per http://lists.freestandards.org/pipermail/accessibility-ia2/2007-February/000169.html If my assumption are not correct then I change it, at least this is compiled ;)
Attachment #255378 - Flags: review?(aaronleventhal)
Status: NEW → ASSIGNED
Summary: import IA2 interface into tree → import IA2 interfaces into tree
Attached patch patch2Splinter Review
IA2 interface are in mozilla/other-licenses/ia2 directory
Attachment #255378 - Attachment is obsolete: true
Attachment #255434 - Flags: review?(aaronleventhal)
Attachment #255378 - Flags: review?(aaronleventhal)
Depends on: 370790
I didn't add here other IA2 interface than IAaccessible2 and didn't change QueryInterface. Here I'd like to get an approval I'm on the right way in IA2 implementing. The bug 370790 is for other interfaces support for MSAA wrap objects.
Blocks: 370790
No longer depends on: 370790
(In reply to comment #2) > I didn't add here other IA2 interface than IAaccessible2 and didn't change > QueryInterface. I meant the 'patch' attachment has demonstration how I think IA2 interfaces should be implemented. Aaron, please look at that attachment and let me know if I'm on the rigth way.
Surkov, can you explain the changes you made to the code we use to build ISimpleDOM* interface support?
> Aaron, please look at that attachment and let me know if > I'm on the rigth way. Yes, that's the right track.
Keywords: access
Comment on attachment 255434 [details] [diff] [review] patch2 >Index: accessible/public/msaa/AccessibleMarshal.c I removed this file because midl generates such file with the name 'dlldata.c'. >Index: accessible/public/msaa/AccessibleMarshal.def >=================================================================== >RCS file: /cvsroot/mozilla/accessible/public/msaa/AccessibleMarshal.def,v >retrieving revision 1.2 >diff -u -8 -p -r1.2 AccessibleMarshal.def >--- accessible/public/msaa/AccessibleMarshal.def 12 Jan 2004 16:28:13 -0000 1.2 >+++ accessible/public/msaa/AccessibleMarshal.def 17 Feb 2007 06:14:55 -0000 >@@ -1,7 +1,7 @@ > LIBRARY AccessibleMarshal.dll >-DESCRIPTION 'ISimpleDOM* proxy/stub DLLs - allows cross-process communication' >-EXPORTS DllGetClassObject @1 PRIVATE >- DllCanUnloadNow @2 PRIVATE >- DllRegisterServer @4 PRIVATE >- DllUnregisterServer @5 PRIVATE >- I tried to get rid warnings during compiling. 1) MSDN said these methods are exposed by name. 2) compiler doesn't know what is description
Attachment #255434 - Flags: superreview?(benjamin)
Attachment #255434 - Flags: review?(aaronleventhal)
Attachment #255434 - Flags: review+
Benjamin, this is similar to our addition of the ATK interfaces to other-licenses, which you sr='d. The IAccessible2 family of interfaces is very similar to ATK. It is a standard being worked on in the Linux Foundation (formerly the FSG). Support for the interfaces is a big target for Firefox 3. Alexander Surkov has a Mozilla Foundation grant to add this support.
Attachment #255434 - Flags: superreview?(benjamin) → superreview?(gerv)
Comment on attachment 255434 [details] [diff] [review] patch2 We can't incorporate code which is under the LGPL (only) into our tree. To work out what to do instead, I guess I need to know what exactly this code is, where it came from, why it's different in licensing from other accessibility code we may have imported, exactly how it's used and compiled, and so on. Gerv
Attachment #255434 - Flags: superreview?(gerv) → superreview-
Gerv, how is this case different from ATK, which is LGPL? (bug 347983)
other-license/ai2 code is MS COM IDL interfaces of IAccessible2. IAccessible2 is new accessibility API to extend support of assistive technologies on Windows (you can find more information at http://groups.google.co.uk/group/mozilla.dev.accessibility/browse_thread/thread/111a4c4527da24d5/4279807289418c32#4279807289418c32). Mozilla MSAA accessible objects (for example, http://lxr.mozilla.org/mozilla/source/accessible/src/msaa/nsAccessibleWrap.h) will will implement MSAA's IAccessible as well new IAccessible2. The patch has makefile that builds these interfaces. Example, how exactly mozilla MSAA accessible object will use it you can see in previous patch.
Also, this isn't code. It's interfaces.
> other-license/ai2 code is MS COM IDL interfaces It's not from MS. It's from the Free Software Group, now the Linux Foundation.
(In reply to comment #12) > > other-license/ai2 code is MS COM IDL interfaces > It's not from MS. It's from the Free Software Group, now the Linux Foundation. > I meant MS COM - a technology.
bsmedberg: having gone back through my mail records and re-understood the rationale that we used last time, you are right. This does not appear to be different. You may check in LGPLed headers to other-licenses. For reference, I am copying Frank's original analysis here. (If anyone sees any reason that this analysis does not apply to the proposed checkin, please shout.) Frank wrote: First, the standard disclaimer: I am not a lawyer, this is not legal advice, it's just my personal opinion. Now let me first get clarification on what's going on: As I understand it, this has to do with Mozilla products (Firefox, etc.) making use of the GNOME Accessibility Toolkit (ATK) library as shipped with Linux distros. We're not planning to ship the ATK library ourselves, we're just going to make use of the ATK library as it's already installed on users' systems. In order to do that we have to compile and link in the appropriate ATK header files, which are licensed under the LGPL. Is my understanding correct? Given that above, IMO this does not pose a problem in terms of our complying with the LGPL; however the header files should indeed go into the "other-licenses" part of the tree. To expand on this: This situation is addressed by sections 5 and 6 of the LGPL. From section 5: 5. ... When a "work that uses the Library" [e.g., Firefox] uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. ... So assuming the ATK header files are simple, their LGPL nature in no way affects overall licensing of the binary versions of Firefox (or other Mozilla products). If this is not the case, then sections 5 and 6 of the LGPL provide another loophole: 5. ... Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. So in other words, even if the LGPL nature of the ATK header files affects licensing for Firefox as a whole, we can still distribute Firefox (and other Mozilla products) under a different (i.e., non-LGPL) license, since the relevant license terms do in fact permit modification and reverse engineering. On the face of it, the EULAs for the binary versions of Firefox and other Mozilla products do prohibit these activities; however the EULAs state explicitly that the licenses for the underlying source code take precedence in the event of a conflict: 3. PROPRIETARY RIGHTS. Portions of the Product are available in source code form under the terms of the Mozilla Public License and other open source licenses (collectively, "Open Source Licenses") at http://www.mozilla.org. Nothing in this Agreement will be construed to limit any rights granted under the Open Source Licenses. Gerv
Comment on attachment 255434 [details] [diff] [review] patch2 Re-requesting.
Attachment #255434 - Flags: superreview- → superreview?
Comment on attachment 255434 [details] [diff] [review] patch2 Gerv wrote "This does not appear to be different. You may check in LGPLed headers to other-licenses."
Attachment #255434 - Flags: superreview? → superreview?(benjamin)
Attachment #255434 - Flags: superreview?(benjamin) → superreview+
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Bustage fix was necessary. I had to add the directory in the list of directories to get pulled in client.mk Checking in client.mk; /cvsroot/mozilla/client.mk,v <-- client.mk new revision: 1.316; previous revision: 1.315 done
Depends on: 372343
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: