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
-~----------~----~----~----~------~----~------~--~---

Reply via email to