Modern IDB: More WK2 IPC Scaffolding This includes new messages.in files, all the messages that will be needed, and declarations for all the encoders/decoders, etc. Very little of it is actually implemented for now.
Created attachment 271506 [details] Patch v1
Seems like the Linux CMake builds *should* be finding the headers that are being complained about... not sure why they aren't.
Hm, if I replace #include <WebCore/IDBCursorInfo.h> with #include "IDBCursorInfo.h" in the DerivedSources file, it makes it to the next #include... investigating.
I'm not making any progress on this tonight, sorry; will try again tomorrow if someone doesn't figure it out first. I have not managed to figure out how it is the #include <WebCore/foo.h> syntax works at all for any foo.h that does not live in a directory named WebCore in some include path. I've grown accustomed to this style of #includes, but never before stopped to think about how it works... seems like magic now....
(In reply to comment #4) > I'm not making any progress on this tonight, sorry; will try again tomorrow > if someone doesn't figure it out first. > > I have not managed to figure out how it is the #include <WebCore/foo.h> > syntax works at all for any foo.h that does not live in a directory named > WebCore in some include path. I've grown accustomed to this style of > #includes, but never before stopped to think about how it works... seems > like magic now.... These forwarding headers used to be generated by a CMake macro called WEBKIT_CREATE_FORWARDING_HEADERS into the WebKitBuild/Release/DerivedSources/ForwardingHeaders/ directory. Each forwarding header is composed of a single #include of the path to the real file. Now I don't see that called anywhere for WebKitGTK+, unless I'm missing it.
Forwarding headers are created by the generate-forwarding-headers.pl that scans the given directory looking for headers referenced that need a forwarding header. The problem here is that the header that requires the forwarding header is only referenced by generated code, and the script only scans Source/WebKit2. In all other cases it works because there's code in Source/WebKit that also has the same header, so when the derived sources are compiled, the forwarding header has already been created. So, to fix this, we should explicitly include <WebCore/IDBCursorInfo.h> in WebIDBConnectionToServer.cpp instead of relying on it being included by the messages header. Another solution would be to add another target in the makefile to run generate-forwarding-headers.pl right after the ipc code is generated by before it's compiled to create forwarding headers for the WebKit2 derived sources dir.
(In reply to comment #6) > Forwarding headers are created by the generate-forwarding-headers.pl that > scans the given directory looking for headers referenced that need a > forwarding header. The problem here is that the header that requires the > forwarding header is only referenced by generated code, and the script only > scans Source/WebKit2. In all other cases it works because there's code in > Source/WebKit that also has the same header, so when the derived sources are > compiled, the forwarding header has already been created. So, to fix this, > we should explicitly include <WebCore/IDBCursorInfo.h> in > WebIDBConnectionToServer.cpp instead of relying on it being included by the > messages header. Another solution would be to add another target in the > makefile to run generate-forwarding-headers.pl right after the ipc code is > generated by before it's compiled to create forwarding headers for the > WebKit2 derived sources dir. I'll include it for now - It *will* have to be included eventually, anyways. Thanks for figuring this out!
Created attachment 271554 [details] Patch for landing
Created attachment 271557 [details] Patch for landing v2
Created attachment 271560 [details] Patch for landing v3
Created attachment 271561 [details] Patch for landing v4
This is never ending...
Well it appears that the optimizations that clang does to realize methods aren't needed don't exist here. More implementation here we come...
Created attachment 271564 [details] Patch for landing v5
Comment on attachment 271564 [details] Patch for landing v5 Clearing flags on attachment: 271564 Committed r196705: <http://trac.webkit.org/changeset/196705>