Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(611)

Side by Side Diff: chrome_frame/test/ie_event_sink.cc

Issue 9838058: More non-debug logging in Chrome Frame tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: copyright and formatting tweaks Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome_frame/test/ie_event_sink.h" 5 #include "chrome_frame/test/ie_event_sink.h"
6 6
7 #include <shlguid.h> 7 #include <shlguid.h>
8 #include <shobjidl.h> 8 #include <shobjidl.h>
9 9
10 #include <map> 10 #include <map>
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 LOG(ERROR) << "OnQuit was not received for browser with url " 259 LOG(ERROR) << "OnQuit was not received for browser with url "
260 << browser_url_string; 260 << browser_url_string;
261 web_browser2_->Quit(); 261 web_browser2_->Quit();
262 } 262 }
263 263
264 base::win::ScopedHandle process; 264 base::win::ScopedHandle process;
265 process.Set(OpenProcess(SYNCHRONIZE, FALSE, ie_process_id_)); 265 process.Set(OpenProcess(SYNCHRONIZE, FALSE, ie_process_id_));
266 web_browser2_.Release(); 266 web_browser2_.Release();
267 267
268 if (!process.IsValid()) { 268 if (!process.IsValid()) {
269 DLOG_IF(WARNING, !process.IsValid()) 269 LOG_IF(WARNING, !process.IsValid())
270 << base::StringPrintf("OpenProcess failed: %i", ::GetLastError()); 270 << base::StringPrintf("OpenProcess failed: %i", ::GetLastError());
271 return; 271 return;
272 } 272 }
273 // IE may not have closed yet. Wait here for the process to finish. 273 // IE may not have closed yet. Wait here for the process to finish.
274 // This is necessary at least on some browser/platform configurations. 274 // This is necessary at least on some browser/platform configurations.
275 WaitForSingleObject(process, kDefaultWaitForIEToTerminateMs); 275 WaitForSingleObject(process, kDefaultWaitForIEToTerminateMs);
276 } 276 }
277 } else { 277 } else {
278 LOG(ERROR) << "Terminating hung IE process"; 278 LOG(ERROR) << "Terminating hung IE process";
279 } 279 }
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
555 } 555 }
556 556
557 // Event callbacks 557 // Event callbacks
558 STDMETHODIMP_(void) IEEventSink::OnDownloadBegin() { 558 STDMETHODIMP_(void) IEEventSink::OnDownloadBegin() {
559 if (listener_) 559 if (listener_)
560 listener_->OnDownloadBegin(); 560 listener_->OnDownloadBegin();
561 } 561 }
562 562
563 STDMETHODIMP_(void) IEEventSink::OnNewWindow2(IDispatch** dispatch, 563 STDMETHODIMP_(void) IEEventSink::OnNewWindow2(IDispatch** dispatch,
564 VARIANT_BOOL* s) { 564 VARIANT_BOOL* s) {
565 DVLOG(1) << __FUNCTION__; 565 VLOG(1) << __FUNCTION__;
566 566
567 EXPECT_TRUE(dispatch); 567 EXPECT_TRUE(dispatch);
568 if (!dispatch) 568 if (!dispatch)
569 return; 569 return;
570 570
571 if (listener_) 571 if (listener_)
572 listener_->OnNewWindow2(dispatch, s); 572 listener_->OnNewWindow2(dispatch, s);
573 573
574 // Note that |dispatch| is an [in/out] argument. IE is asking listeners if 574 // Note that |dispatch| is an [in/out] argument. IE is asking listeners if
575 // they want to use a IWebBrowser2 of their choice for the new window. 575 // they want to use a IWebBrowser2 of their choice for the new window.
576 // Since we need to listen on events on the new browser, we create one 576 // Since we need to listen on events on the new browser, we create one
577 // if needed. 577 // if needed.
578 if (!*dispatch) { 578 if (!*dispatch) {
579 base::win::ScopedComPtr<IDispatch> new_browser; 579 base::win::ScopedComPtr<IDispatch> new_browser;
580 HRESULT hr = new_browser.CreateInstance(CLSID_InternetExplorer, NULL, 580 HRESULT hr = new_browser.CreateInstance(CLSID_InternetExplorer, NULL,
581 CLSCTX_LOCAL_SERVER); 581 CLSCTX_LOCAL_SERVER);
582 DCHECK(SUCCEEDED(hr) && new_browser); 582 DCHECK(SUCCEEDED(hr) && new_browser);
583 *dispatch = new_browser.Detach(); 583 *dispatch = new_browser.Detach();
584 } 584 }
585 585
586 if (*dispatch && listener_) 586 if (*dispatch && listener_)
587 listener_->OnNewBrowserWindow(*dispatch, ScopedBstr()); 587 listener_->OnNewBrowserWindow(*dispatch, ScopedBstr());
588 } 588 }
589 589
590 STDMETHODIMP_(void) IEEventSink::OnNavigateError(IDispatch* dispatch, 590 STDMETHODIMP_(void) IEEventSink::OnNavigateError(IDispatch* dispatch,
591 VARIANT* url, VARIANT* frame_name, VARIANT* status_code, VARIANT* cancel) { 591 VARIANT* url, VARIANT* frame_name, VARIANT* status_code, VARIANT* cancel) {
592 DVLOG(1) << __FUNCTION__; 592 VLOG(1) << __FUNCTION__;
593 if (listener_) 593 if (listener_)
594 listener_->OnNavigateError(dispatch, url, frame_name, status_code, cancel); 594 listener_->OnNavigateError(dispatch, url, frame_name, status_code, cancel);
595 } 595 }
596 596
597 STDMETHODIMP IEEventSink::OnBeforeNavigate2( 597 STDMETHODIMP IEEventSink::OnBeforeNavigate2(
598 IDispatch* dispatch, VARIANT* url, VARIANT* flags, 598 IDispatch* dispatch, VARIANT* url, VARIANT* flags,
599 VARIANT* target_frame_name, VARIANT* post_data, VARIANT* headers, 599 VARIANT* target_frame_name, VARIANT* post_data, VARIANT* headers,
600 VARIANT_BOOL* cancel) { 600 VARIANT_BOOL* cancel) {
601 DVLOG(1) << __FUNCTION__ 601 VLOG(1) << __FUNCTION__ << " "
602 << base::StringPrintf("%ls - 0x%08X", url->bstrVal, this); 602 << base::StringPrintf("%ls - 0x%08X", url->bstrVal, this);
603 // Reset any existing reference to chrome frame since this is a new 603 // Reset any existing reference to chrome frame since this is a new
604 // navigation. 604 // navigation.
605 DisconnectFromChromeFrame(); 605 DisconnectFromChromeFrame();
606 if (listener_) 606 if (listener_)
607 listener_->OnBeforeNavigate2(dispatch, url, flags, target_frame_name, 607 listener_->OnBeforeNavigate2(dispatch, url, flags, target_frame_name,
608 post_data, headers, cancel); 608 post_data, headers, cancel);
609 return S_OK; 609 return S_OK;
610 } 610 }
611 611
612 STDMETHODIMP_(void) IEEventSink::OnNavigateComplete2( 612 STDMETHODIMP_(void) IEEventSink::OnNavigateComplete2(
613 IDispatch* dispatch, VARIANT* url) { 613 IDispatch* dispatch, VARIANT* url) {
614 DVLOG(1) << __FUNCTION__; 614 VLOG(1) << __FUNCTION__;
615 ConnectToChromeFrame(); 615 ConnectToChromeFrame();
616 if (listener_) 616 if (listener_)
617 listener_->OnNavigateComplete2(dispatch, url); 617 listener_->OnNavigateComplete2(dispatch, url);
618 } 618 }
619 619
620 STDMETHODIMP_(void) IEEventSink::OnDocumentComplete( 620 STDMETHODIMP_(void) IEEventSink::OnDocumentComplete(
621 IDispatch* dispatch, VARIANT* url) { 621 IDispatch* dispatch, VARIANT* url) {
622 DVLOG(1) << __FUNCTION__; 622 VLOG(1) << __FUNCTION__;
623 EXPECT_TRUE(url); 623 EXPECT_TRUE(url);
624 if (!url) 624 if (!url)
625 return; 625 return;
626 if (listener_) 626 if (listener_)
627 listener_->OnDocumentComplete(dispatch, url); 627 listener_->OnDocumentComplete(dispatch, url);
628 } 628 }
629 629
630 STDMETHODIMP_(void) IEEventSink::OnFileDownload( 630 STDMETHODIMP_(void) IEEventSink::OnFileDownload(
631 VARIANT_BOOL active_doc, VARIANT_BOOL* cancel) { 631 VARIANT_BOOL active_doc, VARIANT_BOOL* cancel) {
632 DVLOG(1) << __FUNCTION__ 632 VLOG(1) << __FUNCTION__ << " "
633 << base::StringPrintf(" 0x%08X ad=%i", this, active_doc); 633 << base::StringPrintf(" 0x%08X ad=%i", this, active_doc);
634 if (listener_) { 634 if (listener_) {
635 listener_->OnFileDownload(active_doc, cancel); 635 listener_->OnFileDownload(active_doc, cancel);
636 } else { 636 } else {
637 *cancel = VARIANT_TRUE; 637 *cancel = VARIANT_TRUE;
638 } 638 }
639 } 639 }
640 640
641 STDMETHODIMP_(void) IEEventSink::OnNewWindow3( 641 STDMETHODIMP_(void) IEEventSink::OnNewWindow3(
642 IDispatch** dispatch, VARIANT_BOOL* cancel, DWORD flags, BSTR url_context, 642 IDispatch** dispatch, VARIANT_BOOL* cancel, DWORD flags, BSTR url_context,
643 BSTR url) { 643 BSTR url) {
644 DVLOG(1) << __FUNCTION__; 644 VLOG(1) << __FUNCTION__;
645 EXPECT_TRUE(dispatch); 645 EXPECT_TRUE(dispatch);
646 if (!dispatch) 646 if (!dispatch)
647 return; 647 return;
648 648
649 if (listener_) 649 if (listener_)
650 listener_->OnNewWindow3(dispatch, cancel, flags, url_context, url); 650 listener_->OnNewWindow3(dispatch, cancel, flags, url_context, url);
651 651
652 // Note that |dispatch| is an [in/out] argument. IE is asking listeners if 652 // Note that |dispatch| is an [in/out] argument. IE is asking listeners if
653 // they want to use a IWebBrowser2 of their choice for the new window. 653 // they want to use a IWebBrowser2 of their choice for the new window.
654 // Since we need to listen on events on the new browser, we create one 654 // Since we need to listen on events on the new browser, we create one
655 // if needed. 655 // if needed.
656 if (!*dispatch) { 656 if (!*dispatch) {
657 base::win::ScopedComPtr<IDispatch> new_browser; 657 base::win::ScopedComPtr<IDispatch> new_browser;
658 HRESULT hr = new_browser.CreateInstance(CLSID_InternetExplorer, NULL, 658 HRESULT hr = new_browser.CreateInstance(CLSID_InternetExplorer, NULL,
659 CLSCTX_LOCAL_SERVER); 659 CLSCTX_LOCAL_SERVER);
660 DCHECK(SUCCEEDED(hr) && new_browser); 660 DCHECK(SUCCEEDED(hr) && new_browser);
661 *dispatch = new_browser.Detach(); 661 *dispatch = new_browser.Detach();
662 } 662 }
663 663
664 if (*dispatch && listener_) 664 if (*dispatch && listener_)
665 listener_->OnNewBrowserWindow(*dispatch, url); 665 listener_->OnNewBrowserWindow(*dispatch, url);
666 } 666 }
667 667
668 STDMETHODIMP_(void) IEEventSink::OnQuit() { 668 STDMETHODIMP_(void) IEEventSink::OnQuit() {
669 DVLOG(1) << __FUNCTION__; 669 VLOG(1) << __FUNCTION__;
670 670
671 did_receive_on_quit_ = true; 671 did_receive_on_quit_ = true;
672 672
673 DispEventUnadvise(web_browser2_); 673 DispEventUnadvise(web_browser2_);
674 CoDisconnectObject(this, 0); 674 CoDisconnectObject(this, 0);
675 675
676 if (listener_) 676 if (listener_)
677 listener_->OnQuit(); 677 listener_->OnQuit();
678 } 678 }
679 679
680 STDMETHODIMP IEEventSink::Invoke(DISPID dispid, REFIID riid, LCID lcid, 680 STDMETHODIMP IEEventSink::Invoke(DISPID dispid, REFIID riid, LCID lcid,
681 WORD flags, DISPPARAMS* params, 681 WORD flags, DISPPARAMS* params,
682 VARIANT* result, EXCEPINFO* except_info, 682 VARIANT* result, EXCEPINFO* except_info,
683 UINT* arg_error) { 683 UINT* arg_error) {
684 VLOG(1) << __FUNCTION__ << L" event: " << g_dispIdToName.Get().Lookup(dispid); 684 VLOG(1) << __FUNCTION__ << L" event: " << g_dispIdToName.Get().Lookup(dispid);
685 return DispEventsImpl::Invoke(dispid, riid, lcid, flags, params, result, 685 return DispEventsImpl::Invoke(dispid, riid, lcid, flags, params, result,
686 except_info, arg_error); 686 except_info, arg_error);
687 } 687 }
688 688
689 HRESULT IEEventSink::OnLoad(const VARIANT* param) { 689 HRESULT IEEventSink::OnLoad(const VARIANT* param) {
690 DVLOG(1) << __FUNCTION__ << " " << param->bstrVal; 690 VLOG(1) << __FUNCTION__ << " " << param->bstrVal;
691 base::win::ScopedVariant stack_object(*param); 691 base::win::ScopedVariant stack_object(*param);
692 if (chrome_frame_) { 692 if (chrome_frame_) {
693 if (listener_) 693 if (listener_)
694 listener_->OnLoad(param->bstrVal); 694 listener_->OnLoad(param->bstrVal);
695 } else { 695 } else {
696 DLOG(WARNING) << "Invalid chrome frame pointer"; 696 LOG(WARNING) << "Invalid chrome frame pointer";
697 } 697 }
698 return S_OK; 698 return S_OK;
699 } 699 }
700 700
701 HRESULT IEEventSink::OnLoadError(const VARIANT* param) { 701 HRESULT IEEventSink::OnLoadError(const VARIANT* param) {
702 DVLOG(1) << __FUNCTION__ << " " << param->bstrVal; 702 VLOG(1) << __FUNCTION__ << " " << param->bstrVal;
703 if (chrome_frame_) { 703 if (chrome_frame_) {
704 if (listener_) 704 if (listener_)
705 listener_->OnLoadError(param->bstrVal); 705 listener_->OnLoadError(param->bstrVal);
706 } else { 706 } else {
707 DLOG(WARNING) << "Invalid chrome frame pointer"; 707 LOG(WARNING) << "Invalid chrome frame pointer";
708 } 708 }
709 return S_OK; 709 return S_OK;
710 } 710 }
711 711
712 HRESULT IEEventSink::OnMessage(const VARIANT* param) { 712 HRESULT IEEventSink::OnMessage(const VARIANT* param) {
713 DVLOG(1) << __FUNCTION__ << " " << param; 713 VLOG(1) << __FUNCTION__ << " " << param;
714 if (!chrome_frame_.get()) { 714 if (!chrome_frame_.get()) {
715 DLOG(WARNING) << "Invalid chrome frame pointer"; 715 LOG(WARNING) << "Invalid chrome frame pointer";
716 return S_OK; 716 return S_OK;
717 } 717 }
718 718
719 base::win::ScopedVariant data, origin, source; 719 base::win::ScopedVariant data, origin, source;
720 if (param && (V_VT(param) == VT_DISPATCH)) { 720 if (param && (V_VT(param) == VT_DISPATCH)) {
721 wchar_t* properties[] = { L"data", L"origin", L"source" }; 721 wchar_t* properties[] = { L"data", L"origin", L"source" };
722 const int prop_count = arraysize(properties); 722 const int prop_count = arraysize(properties);
723 DISPID ids[prop_count] = {0}; 723 DISPID ids[prop_count] = {0};
724 724
725 HRESULT hr = param->pdispVal->GetIDsOfNames(IID_NULL, properties, 725 HRESULT hr = param->pdispVal->GetIDsOfNames(IID_NULL, properties,
(...skipping 11 matching lines...) Expand all
737 source.Receive(), NULL, NULL)); 737 source.Receive(), NULL, NULL));
738 } 738 }
739 } 739 }
740 740
741 if (listener_) 741 if (listener_)
742 listener_->OnMessage(V_BSTR(&data), V_BSTR(&origin), V_BSTR(&source)); 742 listener_->OnMessage(V_BSTR(&data), V_BSTR(&origin), V_BSTR(&source));
743 return S_OK; 743 return S_OK;
744 } 744 }
745 745
746 } // namespace chrome_frame_test 746 } // namespace chrome_frame_test
OLDNEW
« no previous file with comments | « chrome_frame/test/chrome_frame_ui_test_utils.cc ('k') | chrome_frame/test/mock_ie_event_sink_test.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698