summaryrefslogtreecommitdiff
path: root/winaccessibility
AgeCommit message (Collapse)AuthorFilesLines
2014-06-10--disable-atl disables winaccessibilityIsamu Mogi1-0/+2
Change-Id: I548ea294e6c632b8ae95e6745a51d9b12c7e5297 Reviewed-on: https://gerrit.libreoffice.org/7130 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
2014-06-10fdo#39944: Add DOCUMENT_* accessibility UNO rolesJacobo Aragunde Pérez3-3/+10
Added a set of UNO accessibility roles for specific kinds of documents: * DOCUMENT_PRESENTATION for Impress * DOCUMENT_SPREADSHEET for Calc * DOCUMENT_TEXT for Writer The other applications still use the existing DOCUMENT role. These roles translates directly to ATK but in the other toolkits we keep using the same association that DOCUMENT role had. Change-Id: Ibac47527e5effdecb28d2314cde8558cf4fb010a Reviewed-on: https://gerrit.libreoffice.org/7847 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2014-06-10fdo#39956 Delete JABDavid Ostrovsky1-2/+0
JAB has been discontinued in favor of the native IA2 bridge. Change-Id: I88461f73c620507d3e97b077ea2abdd2229322e1 Reviewed-on: https://gerrit.libreoffice.org/6819 Reviewed-by: David Ostrovsky <David.Ostrovsky@gmx.de> Tested-by: David Ostrovsky <David.Ostrovsky@gmx.de> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2014-01-30Typo decendant => descendant in winaccessibility/MAccessibleJulien Nabet2-12/+12
Change-Id: I2e49ab149b2bbdad623f8694221b6169cdfd2d9a Reviewed-on: https://gerrit.libreoffice.org/7706 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-01-27fdo#73464 - get relation BSTR allocation right.Michael Meeks1-3/+1
Change-Id: I270bc9c8e0507f44d2c27639e86002c60f4e2e6d
2014-01-27fdo#73464 - guard against NULL / unset m_xAccessible.Michael Meeks1-0/+9
Change-Id: I3351acf18d334447336ee98761190fdff32d5b85 Reviewed-on: https://gerrit.libreoffice.org/7690 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-01-27Resolves: #i124095# Multiple IAccessible and IAccessible2...Steve Yin1-2/+8
interface methods do not check for NULL pointer access, nor do they trap exceptions Fixed by Michael Curran (cherry picked from commit 113171f2a5d726af6c5266e98e8e790ac6729d2d) Conflicts: winaccessibility/source/UAccCOM/MAccessible.cxx Change-Id: I28d4b885a6c2db487c2754c2ca11290b3844570b Reviewed-on: https://gerrit.libreoffice.org/7689 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2013-12-13winaccessibility: let's try to remove that IsInMainThread()Michael Stahl4-67/+0
... and see what happens. Hopefully nothing bad since everything should be thread-safe now. Change-Id: I333b29bc2066578ccabadb022936a28dafdf7104 (cherry picked from commit a8804dfc502454b562f1e0f5947c2f5264cd9b92)
2013-12-13winaccessibility: remove some noise from not-implemented methodsMichael Stahl3-64/+7
Change-Id: I8046ae37cba87f0e5df550de831229345df1c6f8 (cherry picked from commit fdd76463b4dfd05880effdd2afc0001eea3d850a)
2013-12-13winaccessibility: out-line those COM methodsMichael Stahl2-11/+15
Change-Id: I7e9a94898c6bc8142b46a05ffba56fc41eb125c2 (cherry picked from commit 57acb3d068ef1e47532ae100d78aa0bd8d061683)
2013-12-13winaccessibility: clear entires from XHWNDDocList tooMichael Stahl1-0/+4
... in DeleteAccObj(). Otherwise pointers to deleted documents will be used. Change-Id: Ia807dc3a2c782019cf7fc874d264058219956d74 (cherry picked from commit 975e1d293d6f702c81647449fd28560b6d00e4a0)
2013-12-13winaccessibility: GetChildInterface may return 0Michael Stahl1-1/+3
Change-Id: I950072d22cd315d1898b76a2c345121d31d432c4 (cherry picked from commit 506bab8f62c585380e607b91ab80c939dc99851c)
2013-12-13winaccessibility: do not access freed AccObjectMichael Stahl1-2/+3
The AccObject is stored by value in XIdAccList, so don't call GetResID() after it has been erased. Change-Id: I391aad1e3ab71d443cc6e6b92381f74918e0bcfb (cherry picked from commit b22e987113374399c7455f7979bc34519eac69da)
2013-12-13winaccessibility: fix exception handling in AccEventListenerMichael Stahl1-6/+12
RemoveMeFromBroadcaster() may catch a DisposedException and then not call NotifyDestroy. Change-Id: I2b766541c3e6800c88a83aa482de0093714d39c2 (cherry picked from commit 9e351edccf3b9a71bb310bcaefe07821479ff5e5)
2013-12-13winaccessibility: nobody calls get_XInterfaceMichael Stahl2-13/+0
Change-Id: I201fc14a02c47a6c735c65f649c6b9f068d92c71 (cherry picked from commit b6664d0649d9be6208b39d6dd276e40347af44c3)
2013-12-13winaccessibility: fix locking in UAccCOMMichael Stahl15-15/+310
The COM components will (usually? always?) be called on the main thread via COM, and may also be called on any thread from the UNO event listeners. Both ways may access the global AccWinObjectManager. So the easiest way to lock all that without introducing new deadlocks seems to be to just use the SolarMutex. The fact that the main thread is in a COM STA is rather irrelevant here since we don't currently do the required manual marshalling of the COM pointers so they can be accessed from UNO event listeners running in threads other than the main thread anyway. To get that to build: - use prewin.h and postwin.h around ATL headers - link UAccCOM against vcl - define both UNICODE and _UNICODE to not break on mis-matching TCHAR nonsense Change-Id: I1ccdf7a4a5c2b5f0b9c29ef39d126c4b8a16898a (cherry picked from commit d28687d5171784e1ec23d4cf13d7b3c56cc52782)
2013-12-13winaccessibility: drop icu externals, probably some copypastaMichael Stahl1-2/+0
Change-Id: Ife0960b235e24f17640b197f952a9a094b7d654d (cherry picked from commit 57f88bb76b069e0776574e93d3009785572b8193)
2013-12-13winaccessibility: remove CheckEnableAccessible.h and assorted noiseMichael Stahl14-328/+0
(cherry picked from commit dd7df93417c8169d7f2ee935841fa72ad02dbcc9) Conflicts: winaccessibility/source/UAccCOM/CheckEnableAccessible.h Change-Id: I45e1d72b1abf64a965397c50ac3b95b5bbee3206
2013-12-13winaccessibility: InlineIsEqualGUID is defined by guiddef.hMichael Stahl2-19/+10
Change-Id: Ia469076ec6f815133e77a14940e8afa05e177231 (cherry picked from commit cbda6da004f1de8cdbf2b1298a835afa850be078)
2013-12-13winaccessibility: use SAL_N_ELEMENTSMichael Stahl4-7/+4
Change-Id: I479117e0794375f1ec0c96b78db22b3569b456ec (cherry picked from commit a5c7ed21584b024d52d32917d1b07462a00e7405)
2013-12-13winaccessibility: clean up the AGGMAP in CMAccessibleMichael Stahl3-84/+42
Replace it with a map for the new direct C++ instantiation and move this implementation detail to the cxx file. Change-Id: Ia961da03f8eb899481cf02f430c921aa8abd7c5c (cherry picked from commit 9d71c9a442b2be027900f7b20342e2a0f43ed2ab)
2013-12-03vcl: check if AT is running before loading the libraryMichael Stahl1-26/+0
... which should result in faster startup if it's disabled. Change-Id: I39774b0a56f186d08270c2f17b2b20a823f21dc2 (cherry picked from commit b44ed4c408d92f7a1a3f2390c056d518c137ddd0)
2013-12-03winaccessibility: remove global g_acc_managerMichael Stahl8-75/+33
It is possible to retrieve it via the AccTopWindowListener. Change-Id: I6cc5ab25bc937d0d9f4de54a1bed09a76ce27491 (cherry picked from commit fabca7370e22f96ae041dc179475b35c87ac53ec)
2013-12-03Revert "winaccessibility: let CoCreateInstance calls find the components"Michael Stahl2-12/+0
This only works partially: the ClassObjects are only registered on the main thread; CoCreateInstance on other threads still fails. This reverts commit 29c6216af8c502f220bb84857d3dda901ddfd234. (cherry picked from commit b54d441ad728ffce8e543de10bd897f0900422b5)
2013-12-03winaccessibility: fix my stupid mistake in createAggInstanceMichael Stahl1-16/+17
Change-Id: I7701021befcf1dbad85557c2095fe4bf0b4e0ff1 (cherry picked from commit d0e8e6e3cd51736583603e37f0ba2ff7bdf29f5c)
2013-12-03winaccessibility: replace CoCreateInstance with direct instantiationMichael Stahl11-33/+114
This is an alternative (to 732ec36edfd09d2091d70c4d71b5f182fe279c45) solution to the "CoCreateInstance does not work" problem: replace all CoCreateInstance calls with equivalent calls to create the components directly. Since the only reason why this COM stuff needs to be registered at all is that AccObject uses CoCreateInstance() to create its COM objects, another possible solution appears to be to simply link the libraries and instantiate the COM objects directly, without COM. The only difference appears to be that CoCreateInstance would automatically add proxy objects in case the COM objects reside in a single-threaded appartment; not sure if that is relevant here. Reviewed-on: https://gerrit.libreoffice.org/6792 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com> (cherry picked from commit 3b86569fcba210eb6570fabef7ff8abf6aff91f0) Conflicts: winaccessibility/source/UAccCOM/AccHypertext.cxx winaccessibility/source/UAccCOM/AccTable.cxx winaccessibility/source/UAccCOM/EnumVariant.cxx winaccessibility/source/UAccCOM/MAccessible.cxx winaccessibility/source/service/AccObject.cxx Change-Id: I8ffb8af501f6084f3145fa4d4f53366a070e1691
2013-11-28winaccessibility: improve GenerateNewResId()Michael Stahl2-22/+10
Change-Id: I81f98ca83b97bc2e3e419c7a37ad2a011932553b (cherry picked from commit 0fb33f60ac08c853f14d19e6158994d092a82670)
2013-11-28winaccessibility: remove GetXAccByAccObj()Michael Stahl4-24/+4
It is pointlessly slow and the AccObject has a method for that. (cherry picked from commit e094d6fab61de95adb53759d69aad2447560581c) Conflicts: winaccessibility/source/service/AccObjectWinManager.cxx Change-Id: I7ba1cc853255ac3b3b5008657d1cc79efc3a3f4b
2013-11-28winaccessibility: remove AccEventListener::m_isDisposedMichael Stahl2-7/+0
It's disposed iff m_xAccessible is 0. Change-Id: I3f8bc104784adf82be43bcaf43b7573a9897f82a (cherry picked from commit a2afe344c6badf432983ce341d4154441837baf3)
2013-11-28winaccessibility: use uno::Reference in AccEventListenerMichael Stahl14-183/+172
... and clear it in disposing(). Change-Id: I69cfe3cdcf6549a0471453960d1f935d9c3b7a0d (cherry picked from commit 83ccdb028529e85fe4c06a47ca57a4a5eeeed159)
2013-11-28winaccessibility: use rtl::Reference for listener lifecycleMichael Stahl4-50/+41
The manual acquire() call was apparently not coupled with a release()? Change-Id: I069c969619e9afce2a4b836642cc1675025b11d0 (cherry picked from commit ef3f28d0ce641e9d51d91412b176a1ecbdc69773)
2013-11-28winaccessibility: actually the member is unused, remove itMichael Stahl4-8/+0
Change-Id: I68e5c1785b73520cb59ca54a602ea176f8146f6f (cherry picked from commit 576ba8ce8238f6a092c74750a895e2e77297fc7e)
2013-11-28winaccessibility: don't store XAccessible* in AccDescendant...ListenerMichael Stahl4-6/+8
Seems safer to store a Reference Change-Id: I86ef9d18c03b2a58058d38e2ae43553ecd2c7be6 (cherry picked from commit 887cf7ccc6c2cfc8652d646e15678c1c10155987)
2013-11-28winaccessibility: why delayload the dlls?Michael Stahl1-3/+0
Perhaps delayloading the URE dlls makes it easier to register the UAccCOM.dll during installation or something? Well we don't do that any more. Change-Id: Ic7c356f5954f869c8752aab2563f059a27ef731f (cherry picked from commit 95759ff2c0c895442d4d41b0edec1583caaf8abd)
2013-11-28winaccessibility: README already outdatedMichael Stahl1-7/+2
Change-Id: Id0defc7e4fbe5b700362548559e08163a327399b (cherry picked from commit 2e243de2887f75fa1bd4146bc67d01ae08500d0d)
2013-11-28winaccessibility: remove all Registry content/registration codeMichael Stahl34-552/+13
There is no need to register UAccCOM. (cherry picked from commit 455c39645e3fe1642679aa478c5b1b5a1d3ab0ae) Conflicts: winaccessibility/source/UAccCOM/UAccCOM.cxx Change-Id: I37f5c4030abefbd18b6686652a348bc20a05a9db
2013-11-28winaccessibility: remove obsolete act.hxxMichael Stahl6-76/+0
... obsoleted by 732ec36edfd09d2091d70c4d71b5f182fe279c45 Change-Id: I7f7a9becac2430a7ed4d096be741b610462a8a00 (cherry picked from commit 5e7b29e642dadf99ad954dbf4e3730e0eeef9de8)
2013-11-28winaccessibility: remove ActivateActContext callsMichael Stahl5-18/+0
Obsolete since 732ec36edfd09d2091d70c4d71b5f182fe279c45 Change-Id: I32e880f6a35ffd628b5873a4a7e05def73b939ca
2013-11-25winaccessibility: let CoCreateInstance calls find the componentsMichael Stahl2-0/+12
The COM services are not found because they are not registered in the registry via regsvr32 (doing that is unnecessary since the components are only instantiated by winaccessibility code and undesirable since that would likely register the IAccessible2 types too, breaking A11y tools) and the special manifest resource #97 that ActivateActContext() tries to load does not exist in UAccCOM.dll; this would need to be a XML manifest, the *.rgs and *.tlb that are already included as individual resources won't work. After reading ATL headers for hours it is immediately obvious that the COM components can simply be registered by a call to CComModule::RegisterClassObjects() from DllMain; this just requires actually loading the UAccCOM library from somewhere so the DllMain runs. Change-Id: Id58b754835cd2f1bcada37e5639a6b6042a42fd5 (cherry picked from commit 732ec36edfd09d2091d70c4d71b5f182fe279c45)
2013-11-25winaccessibility: fix some error handling in CAccTableMichael Stahl1-16/+18
Change-Id: I3c8bc6a476a6254a4ddc3a7cb0585544f3f78431 (cherry picked from commit d04c970e8f33109a1ef5c52f922a48a0ff62adb0)
2013-11-25winaccessibility: don't need 2 global pointers for AccObjectWinManagerMichael Stahl2-8/+3
Sadly can't use rtl::Static because it needs a ctor parameter... Change-Id: I98bbfbb4d2ef54f40a5f110527b260c0b5b01eed (cherry picked from commit ccb1e06bdb3c37c82ddc7b61135eda09fcdecae4)
2013-11-25winaccessibility: make XAccessibleAction member ReferenceMichael Stahl2-8/+9
Maybe it would be kept alive by AccObject::m_AccActionRef but why not play it safe. Change-Id: I03c2be04e97dcde8a177ef8dfd0d75595ab13a53 (cherry picked from commit a5e281ff0468416e5bb20b16ccac16550a83a9fd)
2013-11-25winaccessibility: CMAccessible needs only one XAccessibleContextMichael Stahl2-23/+20
Merge aliases pRContextInterface (unused) and pRContext; this is exacerbated by countless local variables pRContext that shadow the member... Change-Id: I6bc71911fb41a2ce2590d614020ecea36d6ab4f8 (cherry picked from commit 58ab5239868039bc9e4dff391fc0c420a2eb3d8d)
2013-11-25winaccessibility: CMAccessible needs only one member for XAccessibleMichael Stahl2-38/+43
Merge aliases pUNOInterface and pRef; also pAchorUNOInterface is never used. Change-Id: I1b3841a9aca9d2438b25c66c7f67d09ce13b41f9 (cherry picked from commit fd2877ee09fd4cd738769cda5de5b641f73adee2)
2013-11-21Remove unused exports.dxp fileStephan Bergmann1-2/+0
Change-Id: Ic4313d9d1caea6448749c5c010ea9a034a75a907 (cherry picked from commit 36223cbe8b9a80827a8ec49c031540ea62c23c6d)
2013-11-21No need for default component_getImplementationEnvironment function any moreStephan Bergmann1-5/+0
Change-Id: Ia03e2797d80429284964987d07ebc033346a7ac0 (cherry picked from commit 1917dacaf2f3e29caadcac09162fe9b2158a45d1)
2013-11-21Improve debug outputStephan Bergmann1-2/+3
Change-Id: If09b4c0452d2e436be146a789edf85b1087d74e2 (cherry picked from commit d7791c933d8f7545b2535fe1a6d706008d2f9605)
2013-11-21Simplify css.accessibility.MSAAService and corresponding XMSAAServiceStephan Bergmann1-28/+3
Change-Id: I96c69e871aa7b20cdac9751a64faa5e436f31a1f (cherry picked from commit f3f4d9ec0f0eaa1aebdfebe831021a9d96e63f58)
2013-11-21winaccessibility: "typedef sal_Int32 HWND;" - sigh...Michael Stahl1-5/+0
Change-Id: I5c51652932537cfb200183c30c5c1d954586f8fa
2013-11-21winaccessibility: fix even more pointless HWND to long castingMichael Stahl5-13/+14
Change-Id: I16a39a0dde27b17f1467a9605a4566b05f53a485