OSDN Git Service

クッキー意味不明で終了
[nlite/nlite.git] / nlite / nlite_addTomylistWindow.cpp
index 63b7991..10cd620 100644 (file)
@@ -4,9 +4,7 @@
 
 namespace nlite{
 
-       static const LPCTSTR ADDMYLIST_URL = TEXT("http://www.nicovideo.jp/mylist_add/video/");
-
-       CAddToMyListWindow::CAddToMyListWindow(CNicoVideoAuth &in_auth):refAuth(in_auth){}
+       static const LPCTSTR ADDMYLIST_URL = TEXT("MSHTML:<HTML><BODY><SCRIPT TYPE=\"text/javascript\">document.cookie=\"{0}\";window.open('http://www.nicovideo.jp/mylist_add/video/{1}', 'nicomylistadd', 'width=500,height=360');</SCRIPT></BODY></HTML>");
 
 
        BOOL CAddToMyListWindow::PreTranslateMessage(MSG* pMsg){
@@ -18,109 +16,53 @@ namespace nlite{
        }
 
 
-       INT_PTR CAddToMyListWindow::OnCreate(LPCREATESTRUCT lpCreateStruct){
-               LRESULT lRet = DefWindowProc();
-
-               HRESULT hRet = QueryControl(&m_pWB2);
-               if(SUCCEEDED(hRet)){
-                       DispEventAdvise(m_pWB2, &DIID_DWebBrowserEvents2);
-               }
-
-
-
-               return lRet;
-       }
-
-
-       VOID CAddToMyListWindow::OnDestroy(){
-               if(m_pWB2){
-                       DispEventUnadvise(m_pWB2, &DIID_DWebBrowserEvents2);
-               }
-
-               SetMsgHandled(false);
-       }
-
-       VOID WINAPI CAddToMyListWindow::OnBeforeNavigate2(IDispatch** dispatch, VARIANT* url, VARIANT* flags,VARIANT* frameName, VARIANT* postData, VARIANT* headers, VARIANT_BOOL* cancel){
-
-               dumpln(TEXT("event:Set"));
-               return;
+       VOID CAddToMyListWindow::ShowAddWindow(CNicoVideoAuth &refAuth,LPCTSTR lvNo){
+               liveNo = ADDMYLIST_URL;
+               liveNo.Replace(TEXT("{0}"),refAuth.GetUserSession());
+               liveNo.Replace(TEXT("{1}"), lvNo);
 
-       }
-       
-       VOID CAddToMyListWindow::Navigate(LPCTSTR lpszUrl){
                if(m_pWB2){
                        CComVariant v;
-                       CNLiteString userSession(refAuth.GetUserSession());
-                       CComVariant header(userSession);
-                       
+
                        
-                       //header.SetByRef((BSTR)userSession);
                        
-                       m_pWB2->Navigate(CNLiteString(lpszUrl), &v, &v, &v, &v);
+                       HRESULT rslt = this->CreateControlEx(liveNo);
+               
 
                        
                        
                }
        }
-       
-       CAddToMyListDialog::CAddToMyListDialog(CNicoVideoAuth &in_auth):refAuth(in_auth),addToMyListWindow(in_auth){
 
 
-       }
-       VOID CAddToMyListDialog::SetLiveNo(LPCTSTR lvNo){
-               liveNo = ADDMYLIST_URL;
-               liveNo += lvNo;
-       }
-
-       VOID CAddToMyListDialog::OnEndDialog(){
-
-               addToMyListWindow.DestroyWindow();
-       }
+       INT_PTR CAddToMyListWindow::OnCreate(LPCREATESTRUCT lpCreateStruct){
+               LRESULT lRet = DefWindowProc();
 
-       BOOL CAddToMyListDialog::OnInitDialog(CWindow wndFocus, LPARAM lInitParam){
-               
+               HRESULT hRet = QueryControl(&m_pWB2);
+               if(SUCCEEDED(hRet)){
+                       DispEventAdvise(m_pWB2, &DIID_DWebBrowserEvents2);
+               }
 
                
                
                
-               // \83X\83N\83\8a\81[\83\93\82Ì\92\86\89\9b\82É\94z\92u
-               CenterWindow();
-
-               /*
-               // \91å\82«\82¢\83A\83C\83R\83\93\90Ý\92è
-               HICON hIcon = AtlLoadIconImage(IDD_ADDMYLISTDIALOG, LR_DEFAULTCOLOR,
-                       ::GetSystemMetrics(SM_CXICON), ::GetSystemMetrics(SM_CYICON));
-               SetIcon(hIcon, TRUE);
-
-               // \8f¬\82³\82¢\83A\83C\83R\83\93\90Ý\92è
-               HICON hIconSmall = AtlLoadIconImage(IDD_ADDMYLISTDIALOG, LR_DEFAULTCOLOR,
-                       ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON));
-               SetIcon(hIconSmall, FALSE);
-               */
-               RECT selfRc;
-               this->GetClientRect(&selfRc);
-
-               addToMyListWindow.Create(m_hWnd, selfRc,_T("Shell.Explorer.2"),WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN, WS_EX_CLIENTEDGE, IDC_IE);
-               
-
-
 
+               return lRet;
+       }
 
 
-               addToMyListWindow.Navigate(liveNo);
+       VOID CAddToMyListWindow::OnDestroy(){
                
-               return TRUE;
-       }
-
-       VOID CAddToMyListDialog::OnOK(UINT uNotifyCode, int nID, CWindow wndCtl){
-               OnEndDialog();
-               EndDialog(nID);
-       }
+               
+               
+               if(m_pWB2){
+                       if(DispEventUnadvise(m_pWB2, &DIID_DWebBrowserEvents2) == S_OK){
+                               m_pWB2 = NULL;
+                       }
+               }
 
-       VOID CAddToMyListDialog::OnCancel(UINT uNotifyCode, int nID, CWindow wndCtl){
-               OnEndDialog();
-               EndDialog(nID);
+               SetMsgHandled(false);
        }
 
-
-}
\ No newline at end of file
+       
+}