Closed Bug 671550 Opened 9 years ago Closed 9 years ago

provide correct parent HWND for content process window


(Core :: Disability Access APIs, defect)

Windows 7
Not set





(Reporter: surkov, Assigned: surkov)



(Keywords: access, Whiteboard: [e10s])


(1 file, 2 obsolete files)

Attached patch patch (obsolete) — Splinter Review
JAWS doesn't work still, though it should, WM_GETOBJECT is handled, events are fired, get_accChild works.

How can I get a try build on electrolysis branch to share?
Whiteboard: [e10s]
(In reply to comment #1)
> Just push to try.

Does it really build on electrolysis branch? I get build errors.
All the relevant patches from electrolysis have been pushed to mozilla-central, you can just use m-c now.
Attached patch patch2 (obsolete) — Splinter Review
Attachment #545908 - Attachment is obsolete: true
Attachment #547082 - Flags: review?(jones.chris.g)
Attachment #547082 - Flags: review?(bolterbugz)
Comment on attachment 547082 [details] [diff] [review]

Review of attachment 547082 [details] [diff] [review]:

r=me. As far as I can tell we don't need to worry about config options here right?

::: accessible/src/msaa/nsDocAccessibleWrap.cpp
@@ +281,5 @@
>        nsRootAccessible* rootDocument = RootAccessible();
> +      void* nativeData = nsnull;
> +      if (tabChild)
> +        tabChild->SendGetWidgetNativeData(&nativeData);

What about "SendGetWidgetHwnd"?

@@ +300,5 @@
>          docShell->GetIsActive(&isActive);
>        }
> +      HWND parentWnd = static_cast<HWND>(nativeData);
> +      //HWND parentWnd = static_cast<HWND>(rootDocument->GetNativeWindow());

remove comment.
Attachment #547082 - Flags: review?(bolterbugz) → review+
Comment on attachment 547082 [details] [diff] [review]

Serializing voidPtr is overly general and misleading, so we've avoided it so far.  In bug 648484, we also need to serialize HWNDs and added a "WindowsHandle" helper thusly

diff --git a/ipc/glue/IPCMessageUtils.h b/ipc/glue/IPCMessageUtils.h
--- a/ipc/glue/IPCMessageUtils.h
+++ b/ipc/glue/IPCMessageUtils.h
@@ -68,16 +68,20 @@ namespace base { class FileDescriptor { 
 using mozilla::layers::LayerManager;
 namespace mozilla {
 typedef gfxPattern::GraphicsFilter GraphicsFilterType;
 typedef gfxASurface::gfxSurfaceType gfxSurfaceType;
 typedef LayerManager::LayersBackend LayersBackend;
+typedef gfxASurface::gfxImageFormat PixelFormat;
+// This is a cross-platform approximation to HANDLE, which we expect
+// to be typedef'd to void* or thereabouts.
+typedef uintptr_t WindowsHandle;

so that your protocol have have |using mozilla::WindowsHandle;|.  That bug has been backed out twice now :/, but I'd prefer you borrow that snipped instead of using voidPtr.
Attached patch patch3Splinter Review
Attachment #547082 - Attachment is obsolete: true
Attachment #547441 - Flags: review?(jones.chris.g)
Attachment #547082 - Flags: review?(jones.chris.g)
Attachment #547441 - Flags: review?(jones.chris.g) → review+
Closed: 9 years ago
Resolution: --- → FIXED
Whiteboard: [e10s][inbound] → [e10s]
Target Milestone: --- → mozilla8
Depends on: 683099
You need to log in before you can comment on or make changes to this bug.