summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkkania@chromium.org <kkania@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-16 21:49:02 +0000
committerkkania@chromium.org <kkania@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-16 21:49:02 +0000
commitb7c1fd1fb7ace48afcc09504fd213d6ede0c383c (patch)
tree6ef9a483520e23515c143635ae1189dc6ae7c900
parent6017343b0310c2f2314baabcccf3c702d71309c4 (diff)
downloadchromium_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.cc17
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;