OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 <htiframe.h> | 5 #include <htiframe.h> |
6 #include <mshtml.h> | 6 #include <mshtml.h> |
7 #include <shlobj.h> | 7 #include <shlobj.h> |
8 #include <wininet.h> | 8 #include <wininet.h> |
9 | 9 |
10 #include <atlsecurity.h> | 10 #include <atlsecurity.h> |
(...skipping 825 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
836 hr = browser_priv2->NavigateWithBindCtx2(uri_obj, NULL, NULL, NULL, | 836 hr = browser_priv2->NavigateWithBindCtx2(uri_obj, NULL, NULL, NULL, |
837 headers_var.AsInput(), bind_ctx, | 837 headers_var.AsInput(), bind_ctx, |
838 const_cast<wchar_t*>(fragment)); | 838 const_cast<wchar_t*>(fragment)); |
839 DLOG_IF(WARNING, FAILED(hr)) | 839 DLOG_IF(WARNING, FAILED(hr)) |
840 << base::StringPrintf(L"NavigateWithBindCtx2 0x%08X", hr); | 840 << base::StringPrintf(L"NavigateWithBindCtx2 0x%08X", hr); |
841 } | 841 } |
842 } else { | 842 } else { |
843 // IE6 | 843 // IE6 |
844 LPOLESTR url = NULL; | 844 LPOLESTR url = NULL; |
845 if (SUCCEEDED(hr = moniker->GetDisplayName(bind_ctx, NULL, &url))) { | 845 if (SUCCEEDED(hr = moniker->GetDisplayName(bind_ctx, NULL, &url))) { |
846 DLOG(INFO) << __FUNCTION__ << " " << url; | 846 DVLOG(1) << __FUNCTION__ << " " << url; |
847 ScopedComPtr<IWebBrowserPriv> browser_priv; | 847 ScopedComPtr<IWebBrowserPriv> browser_priv; |
848 if (SUCCEEDED(hr = browser_priv.QueryFrom(web_browser2))) { | 848 if (SUCCEEDED(hr = browser_priv.QueryFrom(web_browser2))) { |
849 GURL target_url(url); | 849 GURL target_url(url); |
850 // On IE6 if the original URL has a fragment then the navigation | 850 // On IE6 if the original URL has a fragment then the navigation |
851 // attempt is ignored. To workaround this we strip the fragment from | 851 // attempt is ignored. To workaround this we strip the fragment from |
852 // the url and initiate the navigation. When the active document loads | 852 // the url and initiate the navigation. When the active document loads |
853 // we retrieve the original url with the fragment from the Navigation | 853 // we retrieve the original url with the fragment from the Navigation |
854 // manager and use it. | 854 // manager and use it. |
855 if (target_url.has_ref()) { | 855 if (target_url.has_ref()) { |
856 url_parse::Component comp; | 856 url_parse::Component comp; |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
959 bool is_sub_frame_request = false; | 959 bool is_sub_frame_request = false; |
960 if (web_browser) { | 960 if (web_browser) { |
961 // Now check to see if we are in a sub-frame. | 961 // Now check to see if we are in a sub-frame. |
962 ScopedComPtr<IHTMLWindow2> current_frame, parent_frame; | 962 ScopedComPtr<IHTMLWindow2> current_frame, parent_frame; |
963 hr = DoQueryService(IID_IHTMLWindow2, service_provider, | 963 hr = DoQueryService(IID_IHTMLWindow2, service_provider, |
964 current_frame.Receive()); | 964 current_frame.Receive()); |
965 if (current_frame) { | 965 if (current_frame) { |
966 // Only the top level window will return self when get_parent is called. | 966 // Only the top level window will return self when get_parent is called. |
967 current_frame->get_parent(parent_frame.Receive()); | 967 current_frame->get_parent(parent_frame.Receive()); |
968 if (parent_frame != current_frame) { | 968 if (parent_frame != current_frame) { |
969 DLOG(INFO) << "Sub frame detected"; | 969 DVLOG(1) << "Sub frame detected"; |
970 is_sub_frame_request = true; | 970 is_sub_frame_request = true; |
971 } | 971 } |
972 } | 972 } |
973 } else { | 973 } else { |
974 DLOG(INFO) << "IsSubFrameRequest - no IWebBrowser2"; | 974 DVLOG(1) << "IsSubFrameRequest - no IWebBrowser2"; |
975 is_sub_frame_request = true; | 975 is_sub_frame_request = true; |
976 } | 976 } |
977 | 977 |
978 return is_sub_frame_request; | 978 return is_sub_frame_request; |
979 } | 979 } |
980 | 980 |
981 bool IsHeadlessMode() { | 981 bool IsHeadlessMode() { |
982 bool headless = GetConfigBool(false, kChromeFrameHeadlessMode); | 982 bool headless = GetConfigBool(false, kChromeFrameHeadlessMode); |
983 return headless; | 983 return headless; |
984 } | 984 } |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1115 ScopedComPtr<IWinInetHttpInfo> info; | 1115 ScopedComPtr<IWinInetHttpInfo> info; |
1116 if (FAILED(info.QueryFrom(binding))) { | 1116 if (FAILED(info.QueryFrom(binding))) { |
1117 DLOG(WARNING) << "Failed to QI for IWinInetHttpInfo"; | 1117 DLOG(WARNING) << "Failed to QI for IWinInetHttpInfo"; |
1118 return std::string(); | 1118 return std::string(); |
1119 } | 1119 } |
1120 | 1120 |
1121 return GetRawHttpHeaders(info); | 1121 return GetRawHttpHeaders(info); |
1122 } | 1122 } |
1123 | 1123 |
1124 int GetHttpResponseStatusFromBinding(IBinding* binding) { | 1124 int GetHttpResponseStatusFromBinding(IBinding* binding) { |
1125 DLOG(INFO) << __FUNCTION__; | 1125 DVLOG(1) << __FUNCTION__; |
1126 if (binding == NULL) { | 1126 if (binding == NULL) { |
1127 DLOG(WARNING) << "GetHttpResponseStatus - no binding_"; | 1127 DLOG(WARNING) << "GetHttpResponseStatus - no binding_"; |
1128 return 0; | 1128 return 0; |
1129 } | 1129 } |
1130 | 1130 |
1131 int http_status = 0; | 1131 int http_status = 0; |
1132 | 1132 |
1133 ScopedComPtr<IWinInetHttpInfo> info; | 1133 ScopedComPtr<IWinInetHttpInfo> info; |
1134 if (SUCCEEDED(info.QueryFrom(binding))) { | 1134 if (SUCCEEDED(info.QueryFrom(binding))) { |
1135 char status[10] = {0}; | 1135 char status[10] = {0}; |
(...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1518 void EnumerateKeyValues(HKEY parent_key, const wchar_t* sub_key_name, | 1518 void EnumerateKeyValues(HKEY parent_key, const wchar_t* sub_key_name, |
1519 std::vector<std::wstring>* values) { | 1519 std::vector<std::wstring>* values) { |
1520 DCHECK(values); | 1520 DCHECK(values); |
1521 RegistryValueIterator url_list(parent_key, sub_key_name); | 1521 RegistryValueIterator url_list(parent_key, sub_key_name); |
1522 while (url_list.Valid()) { | 1522 while (url_list.Valid()) { |
1523 values->push_back(url_list.Value()); | 1523 values->push_back(url_list.Value()); |
1524 ++url_list; | 1524 ++url_list; |
1525 } | 1525 } |
1526 } | 1526 } |
1527 | 1527 |
OLD | NEW |