Hello Marshall,
I face some problem again, might be a misunderstanding from me, but I need to clarify the point.
Right now when I execute my CEF, it looks like this:
Photoshop.exe (which have loadLibrary on PluginHelper.dll)
PluginRunner.exe x2 (which are the sub-process that have the small int main(argc, argv) similar to what you show in General Usage).
So in the PluginRunner.exe x2, I assume I have a Browser Process and a Render Process (as I understand).
In one your previous message, you said:
abizeau wrote:
Photoshop will provide an image to my Plugin as Input, can I send it to the sub-process ?
You can use asynchronous JavaScript bindings or the network layer.
But I don't understand how a PluginRunner.exe (render or browser) could send an IPC to Photoshop.exe to retreive the image.
Photoshop.exe process had the PluginHelper.dll load, and in this dll I have the following:
- Code: Select all
bool PluginCEFHelper::CreateCEFWindows(const std::string url)
{
OutputDebugString(L"PluginCEFHelper - Shows the window.\n");
m_app->GenerateWindows(url);
// Run the CEF message loop. This will block until CefQuitMessageLoop() is
// called.
CefRunMessageLoop();
return false;
}
where m_app is CefRefPtr<PluginApp>, and where GenerateWindows() function is simply a function taking an URL and creating a CefBrowserHost::CreateBrowser();
So how could I send the input image to the process ? Should my GenerateWindows() take the URL + the image pointer ?
If so, you could I return the image after the CefRunMessageLoop() ?
Im kinda of lost right now in all those processes, but its working smooth for now, except that I can retrieve the image.