Below is a cautionary tale about not using complete paths for includes... After 7 hours of trial and error (7 syncs and clean builds) I identified 28798 as the revision that broke my project. Rev 28798 changed WebDataSourceImpl and webframeloaderclient_impl to use WebCore::KURL instead of WebURL and GURL. Looking at the KURL header I saw that is uses USE(GOOGLEURL). WTF_USE_GOOGLEURL is defined in "third_party/webkit/webcore/config.h" but I was only including "config.h" from my project files. The compiler was finding "third_party/WebKit/JavaScriptCore/config.h" in my path first, which of course does not define WTF_USE_GOOGLEURL. Two days wasted, case closed.
Apologies to anyone who spent time thinking about this issue. Regards, Marshall On Thu, Oct 15, 2009 at 3:49 PM, Marshall Greenblatt <magreenbl...@gmail.com > wrote: > Hi All, > > Starting some time after rev 28713 I'm having a strange problem when I pass > a WebCore::Frame pointer across the glue/WebCore library boundary with CEF ( > http://code.google.com/p/chromiumembedded). Everything works as expected > with the test_shell build, which makes me think there's a configuration > setting that I'm missing. I'm hoping that a new pair of eyes can spot my > mistake :-) > > Consider the following method in webview_impl.cc: > > void WebViewImpl::resize(const WebSize& new_size) { > ... > if (main_frame()->frameview()) { > main_frame()->frameview()->resize(size_.width, size_.height); > main_frame()->frame()->eventHandler()->sendResizeEvent(); > } > ... > } > > The "main_frame()->frameview()->resize()" call succeeds as expected. > However, the "main_frame()->frame()->eventHandler()->sendResizeEvent()" call > shows the following characteristics: > > When I step into the WebFrameImpl::frame() method the 'this' pointer and > 'frame_' member has the expected contents: > > - this 0x01863fe8 {frame_loader_client_={...} > scope_matches_factory_={...} client_handle_={client_=0x018620b0 } ...} > const WebFrameImpl * const > + frame_ 0x01864300 {m_page=0x01862e18 m_treeNode={...} > m_loader={...} ...} WebCore::Frame * > > However, when I step into the Frame::eventHandler() method the 'this' > pointer has value 0xffffffff: > > + this 0xffffffff {m_page=??? m_treeNode={...} m_loader={...} > ...} const WebCore::Frame * const > > I thought initially that it might be an issue with my WebCore-related > defines, but I'm including features_override.gypi and I've verified by > visual inspection that the resulting .vcproj file has the same defines as > the test_shell project. Also, I've copied/pasted the Debug directory from > chrome and am still experiencing the problem with the exact same libraries > that work for test_shell. > > Attached is the GYP configuration that I'm using. I'm building it using > the following command: > > ..\tools\gyp\gyp.bat cef.gyp -I ..\build\common.gypi -I > ..\build\features_override.gypi > > Any suggestions on what I'm doing wrong or what I should try next would be > greatly appreciated. > > Thanks, > Marshall > --~--~---------~--~----~------------~-------~--~----~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~----------~----~----~----~------~----~------~--~---