Closed Bug 1345789 Opened 8 years ago Closed 7 years ago

[Mortar] [Windows] setup an IPC between parent process and plugin process

Categories

(Core :: Printing: Output, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: fatseng, Assigned: fatseng)

References

Details

Attachments

(3 files, 3 obsolete files)

No description provided.
Blocks: 1269760
To utilize pdfium.dll which runs in the plugin process converts PDF to EMF. Therefore, I would like to establish an IPC between Chrome and plugin process.
Assignee: nobody → fatseng
Blocks: pdf-printing
No longer blocks: 1269760
Blocks: 1345783
The patch is to test the feasibility of the communication between chrome process and plugin process based on new jsplugin architecture.
In the patch, I constructs an ipc between chrome and jsplugin process by creating new protocol. (But we are suppose to construct an ipc between chrome and plugin process.) It seems that there are still some bridges stuffs need to be done to support ipc communication between chrome process and plugin process. But the keyword "bridges" is deprecated in latest ipc protocol. So I decide to work on the patch until patches in bug 1344942 are landed. Or there is updated information of that we are feasible to get the |PPAPIJSPluginParent| directly in chrome process.
Hi Peter, Do you have any concern or suggestion of getting PPAPIJSPluginParent in Chrome process for printing PDF as discussion in weekly meeting last week? Or it is better to create a new protocol for printing PDF? Feel free to leave any comment. Thanks.
Flags: needinfo?(peterv)
Update: After discussion with kanru and farmer, we come out two solutions, 1. Use existing PPAPIJSPlugin ipc protocol and add printing PDF related functions on the protocol. There is only one ipc is created for multiple tabs, so in order to distinguish which tab is printing now, we have to pass an id through every ipc call also pass promise in case of two tabs print simultaneously. 2. Implement new protocol managed by PPAPIJSPlugin, and create ipc for each tab. We will first implement the first version, then improve to the second version later.
Flags: needinfo?(peterv)
Attachment #8864012 - Attachment description: [WIP] Retive plugin parent → [WIP] Retrieve plugin parent
Attached patch [WIP} Print EMF (obsolete) — Splinter Review
(In reply to Farmer Tseng[:fatseng] from comment #6) > Created attachment 8864012 [details] [diff] [review] > [WIP] Retrieve plugin parent This patch is based on attachment 8850404 [details] [diff] [review] to implement a way that retrieves correct PPAPIJSPlugParent. nsDeviceContextSpecWin utilizes PPAPIJSPlugParent to communicate with PPAPIJSPlugChild.
(In reply to Farmer Tseng[:fatseng] from comment #7) > Created attachment 8864026 [details] [diff] [review] > [WIP} Print EMF This patch coverts PDF to EMF in the child process. Parent process gets EMF from the child and draws it on printer DC page by page.
Attachment #8850404 - Attachment is obsolete: true
Attachment #8852810 - Attachment is obsolete: true
Attached patch [WIP} Print EMFSplinter Review
Prototype of printing EMF
Attachment #8864026 - Attachment is obsolete: true
No longer blocks: pdf-printing
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: