diff options
author | kkania@chromium.org <kkania@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-16 21:49:02 +0000 |
---|---|---|
committer | kkania@chromium.org <kkania@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-16 21:49:02 +0000 |
commit | b7c1fd1fb7ace48afcc09504fd213d6ede0c383c (patch) | |
tree | 6ef9a483520e23515c143635ae1189dc6ae7c900 | |
parent | 6017343b0310c2f2314baabcccf3c702d71309c4 (diff) | |
download | chromium_src-b7c1fd1fb7ace48afcc09504fd213d6ede0c383c.zip chromium_src-b7c1fd1fb7ace48afcc09504fd213d6ede0c383c.tar.gz chromium_src-b7c1fd1fb7ace48afcc09504fd213d6ede0c383c.tar.bz2 |
[chrome frame] Change detection scheme for CF renderer from checking IE window class to checking for IChromeFrame.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/3137010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56242 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome_frame/test/ie_event_sink.cc | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/chrome_frame/test/ie_event_sink.cc b/chrome_frame/test/ie_event_sink.cc index 23d55f1..20eea5f 100644 --- a/chrome_frame/test/ie_event_sink.cc +++ b/chrome_frame/test/ie_event_sink.cc @@ -175,21 +175,16 @@ void IEEventSink::Uninitialize() { bool IEEventSink::IsCFRendering() { DCHECK(web_browser2_); - HWND renderer_window; if (web_browser2_) { ScopedComPtr<IDispatch> doc; web_browser2_->get_Document(doc.Receive()); if (doc) { - ScopedComPtr<IOleWindow> ole_window; - ole_window.QueryFrom(doc); - if (ole_window) { - ole_window->GetWindow(&renderer_window); - if (IsWindow(renderer_window)) { - wchar_t class_name[MAX_PATH] = {0}; - GetClassName(renderer_window, class_name, arraysize(class_name)); - return _wcsicmp(class_name, L"Internet Explorer_Server") != 0; - } - } + // Detect if CF is rendering based on whether the document is a + // ChromeActiveDocument. Detecting based on hwnd is problematic as + // the CF Active Document window may not have been created yet. + ScopedComPtr<IChromeFrame> chrome_frame; + chrome_frame.QueryFrom(doc); + return chrome_frame.get(); } } return false; |