int DocumentHost::AddCookie(const std::string& cookie) { LOG(TRACE) << "Entering DocumentHost::AddCookie"; CComBSTR cookie_bstr(CA2W(cookie.c_str(), CP_UTF8)); CComPtr<IHTMLDocument2> doc; this->GetDocument(&doc); if (!doc) { LOG(WARN) << "Unable to get document"; return EUNHANDLEDERROR; } if (!this->IsHtmlPage(doc)) { LOG(WARN) << "Unable to add cookie, document does not appear to be an HTML page"; return ENOSUCHDOCUMENT; } HRESULT hr = doc->put_cookie(cookie_bstr); if (FAILED(hr)) { LOGHR(WARN, hr) << "Unable to put cookie to document, call to IHTMLDocument2::put_cookie failed"; return EUNHANDLEDERROR; } return SUCCESS; }
int BrowserWrapper::AddCookie(const std::wstring& cookie) { CComBSTR cookie_bstr(cookie.c_str()); CComPtr<IHTMLDocument2> doc; this->GetDocument(&doc); if (!doc) { return EUNHANDLEDERROR; } if (!this->IsHtmlPage(doc)) { return ENOSUCHDOCUMENT; } if (!SUCCEEDED(doc->put_cookie(cookie_bstr))) { return EUNHANDLEDERROR; } return SUCCESS; }