Closed Bug 710125 Opened 13 years ago Closed 12 years ago

Reduce LoadLibray/GetProcAddress for user32.dll and oleacc.dll on a11y

Categories

(Core :: Disability Access APIs, defect)

All
Windows Vista
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla13

People

(Reporter: m_kato, Assigned: m_kato)

References

Details

Attachments

(1 file)

Current Gecko supports under Windows 2000 and later  (After switching to VS2010, it is Windows XP or later).  So we don't need to use LoadLibrary for oleacc and user32 on accessibility code.

ex. LresultFromCode is from Win2000 by http://msdn.microsoft.com/en-us/library/windows/desktop/dd318557%28v=vs.85%29.aspx.
Attached patch fixSplinter Review
Attachment #581187 - Flags: review?(surkov.alexander)
Comment on attachment 581187 [details] [diff] [review]
fix

This means that we  will unconditionally link against oleacc.dll right?  Dows that have performance or other effects we should consider?
Attachment #581187 - Flags: review?(roc)
(asking roc for review since this touches widget/)
(In reply to Trevor Saunders (:tbsaunde) from comment #2)
> Comment on attachment 581187 [details] [diff] [review]
> fix
> 
> This means that we  will unconditionally link against oleacc.dll right? 
> Dows that have performance or other effects we should consider?

oleacc.dll is already loaded on nspr4 and xul.dll's startup due to dependencies of shell32, comctl32 and others.
Comment on attachment 581187 [details] [diff] [review]
fix

Review of attachment 581187 [details] [diff] [review]:
-----------------------------------------------------------------

sorry for being slow, r=me

::: accessible/src/msaa/nsAccessibleWrap.h
@@ -333,5 @@
>  
> -  // NT4 does not have the oleacc that defines these methods. So we define copies here that automatically
> -  // load the library only if needed.
> -  static STDMETHODIMP AccessibleObjectFromWindow(HWND hwnd,DWORD dwObjectID,REFIID riid,void **ppvObject);
> -  static STDMETHODIMP NotifyWinEvent(DWORD event,HWND hwnd,LONG idObjectType,LONG idObject);

Shouldn't you use '::' prefix for methods like these? That's what we usually do for windows API calls.
Attachment #581187 - Flags: review?(surkov.alexander) → review+
All good, virtual buffers are created just as normal with this try-server build.
(In reply to Makoto Kato from comment #4)
> oleacc.dll is already loaded on nspr4 and xul.dll's startup due to
> dependencies of shell32, comctl32 and others.
Incorrect. oleacc.dll is delay loaded from system DLLs. I didn't see oleacc.dll in the address space of firefox.exe (using Process Explorer).
Blocks: 723797
No longer blocks: 723797
Depends on: 723797
https://hg.mozilla.org/mozilla-central/rev/fb8fb19f6161
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla13
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: