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

Side by Side Diff: chrome_frame/utils.cc

Issue 2620001: A new way of hooking internet protocols. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 6 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
« no previous file with comments | « chrome_frame/utils.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 "base/file_util.h" 10 #include "base/file_util.h"
(...skipping 1060 matching lines...) Expand 10 before | Expand all | Expand 10 after
1071 return cf == GetTextHtmlClipboardFormat(); 1071 return cf == GetTextHtmlClipboardFormat();
1072 } 1072 }
1073 1073
1074 ProtocolPatchMethod GetPatchMethod() { 1074 ProtocolPatchMethod GetPatchMethod() {
1075 ProtocolPatchMethod patch_method = 1075 ProtocolPatchMethod patch_method =
1076 static_cast<ProtocolPatchMethod>( 1076 static_cast<ProtocolPatchMethod>(
1077 GetConfigInt(PATCH_METHOD_MONIKER, kPatchProtocols)); 1077 GetConfigInt(PATCH_METHOD_MONIKER, kPatchProtocols));
1078 return patch_method; 1078 return patch_method;
1079 } 1079 }
1080 1080
1081 bool MonikerPatchEnabled() { 1081 bool IsIBrowserServicePatchEnabled() {
1082 ProtocolPatchMethod patch_method = GetPatchMethod(); 1082 ProtocolPatchMethod patch_method = GetPatchMethod();
1083 return patch_method == PATCH_METHOD_MONIKER; 1083 return patch_method == PATCH_METHOD_IBROWSER;
1084 } 1084 }
1085 1085
1086 std::string BindStatus2Str(ULONG bind_status) {
1087 std::string s;
1088 static const char* const bindstatus_txt[] = {
1089 "BINDSTATUS_FINDINGRESOURCE",
1090 "BINDSTATUS_CONNECTING",
1091 "BINDSTATUS_REDIRECTING",
1092 "BINDSTATUS_BEGINDOWNLOADDATA",
1093 "BINDSTATUS_DOWNLOADINGDATA",
1094 "BINDSTATUS_ENDDOWNLOADDATA",
1095 "BINDSTATUS_BEGINDOWNLOADCOMPONENTS",
1096 "BINDSTATUS_INSTALLINGCOMPONENTS",
1097 "BINDSTATUS_ENDDOWNLOADCOMPONENTS",
1098 "BINDSTATUS_USINGCACHEDCOPY",
1099 "BINDSTATUS_SENDINGREQUEST",
1100 "BINDSTATUS_CLASSIDAVAILABLE",
1101 "BINDSTATUS_MIMETYPEAVAILABLE",
1102 "BINDSTATUS_CACHEFILENAMEAVAILABLE",
1103 "BINDSTATUS_BEGINSYNCOPERATION",
1104 "BINDSTATUS_ENDSYNCOPERATION",
1105 "BINDSTATUS_BEGINUPLOADDATA",
1106 "BINDSTATUS_UPLOADINGDATA",
1107 "BINDSTATUS_ENDUPLOADINGDATA",
1108 "BINDSTATUS_PROTOCOLCLASSID",
1109 "BINDSTATUS_ENCODING",
1110 "BINDSTATUS_VERFIEDMIMETYPEAVAILABLE",
1111 "BINDSTATUS_CLASSINSTALLLOCATION",
1112 "BINDSTATUS_DECODING",
1113 "BINDSTATUS_LOADINGMIMEHANDLER",
1114 "BINDSTATUS_CONTENTDISPOSITIONATTACH",
1115 "BINDSTATUS_FILTERREPORTMIMETYPE",
1116 "BINDSTATUS_CLSIDCANINSTANTIATE",
1117 "BINDSTATUS_IUNKNOWNAVAILABLE",
1118 "BINDSTATUS_DIRECTBIND",
1119 "BINDSTATUS_RAWMIMETYPE",
1120 "BINDSTATUS_PROXYDETECTING",
1121 "BINDSTATUS_ACCEPTRANGES",
1122 "BINDSTATUS_COOKIE_SENT",
1123 "BINDSTATUS_COMPACT_POLICY_RECEIVED",
1124 "BINDSTATUS_COOKIE_SUPPRESSED",
1125 "BINDSTATUS_COOKIE_STATE_UNKNOWN",
1126 "BINDSTATUS_COOKIE_STATE_ACCEPT",
1127 "BINDSTATUS_COOKIE_STATE_REJECT",
1128 "BINDSTATUS_COOKIE_STATE_PROMPT",
1129 "BINDSTATUS_COOKIE_STATE_LEASH",
1130 "BINDSTATUS_COOKIE_STATE_DOWNGRADE",
1131 "BINDSTATUS_POLICY_HREF",
1132 "BINDSTATUS_P3P_HEADER",
1133 "BINDSTATUS_SESSION_COOKIE_RECEIVED",
1134 "BINDSTATUS_PERSISTENT_COOKIE_RECEIVED",
1135 "BINDSTATUS_SESSION_COOKIES_ALLOWED",
1136 "BINDSTATUS_CACHECONTROL",
1137 "BINDSTATUS_CONTENTDISPOSITIONFILENAME",
1138 "BINDSTATUS_MIMETEXTPLAINMISMATCH",
1139 "BINDSTATUS_PUBLISHERAVAILABLE",
1140 "BINDSTATUS_DISPLAYNAMEAVAILABLE",
1141 "BINDSTATUS_SSLUX_NAVBLOCKED",
1142 "BINDSTATUS_SERVER_MIMETYPEAVAILABLE",
1143 "BINDSTATUS_SNIFFED_CLASSIDAVAILABLE",
1144 "BINDSTATUS_64BIT_PROGRESS"
1145 };
1146 if (bind_status >= 1 && bind_status <= BINDSTATUS_64BIT_PROGRESS)
1147 s = bindstatus_txt[bind_status - 1];
1148 else
1149 s = StringPrintf("UnDoc[%#x]", bind_status);
1150 return s;
1151 }
1152
1153 std::string PiFlags2Str(DWORD flags) {
1154 #define ADD_PI_FLAG(x) if (flags & x) { s.append(#x ## " "); flags &= ~x; }
1155 std::string s = " flags ";
1156 ADD_PI_FLAG(PI_PARSE_URL);
1157 ADD_PI_FLAG(PI_FILTER_MODE);
1158 ADD_PI_FLAG(PI_FORCE_ASYNC);
1159 ADD_PI_FLAG(PI_USE_WORKERTHREAD);
1160 ADD_PI_FLAG(PI_MIMEVERIFICATION);
1161 ADD_PI_FLAG(PI_CLSIDLOOKUP);
1162 ADD_PI_FLAG(PI_DATAPROGRESS);
1163 ADD_PI_FLAG(PI_SYNCHRONOUS);
1164 ADD_PI_FLAG(PI_APARTMENTTHREADED);
1165 ADD_PI_FLAG(PI_CLASSINSTALL);
1166 ADD_PI_FLAG(PI_PASSONBINDCTX);
1167 ADD_PI_FLAG(PI_NOMIMEHANDLER);
1168 ADD_PI_FLAG(PI_LOADAPPDIRECT);
1169 ADD_PI_FLAG(PD_FORCE_SWITCH);
1170 ADD_PI_FLAG(PI_PREFERDEFAULTHANDLER);
1171
1172 if (flags)
1173 s += StringPrintf("+UnDoc[%#x]", flags);
1174 return s;
1175 #undef ADD_PI_FLAG
1176 }
1177
1178 std::string Bscf2Str(DWORD flags) {
1179 #define ADD_BSCF_FLAG(x) if (flags & x) { s.append(#x ## " "); flags &= ~x; }
1180 std::string s = " flags ";
1181 ADD_BSCF_FLAG(BSCF_FIRSTDATANOTIFICATION)
1182 ADD_BSCF_FLAG(BSCF_INTERMEDIATEDATANOTIFICATION)
1183 ADD_BSCF_FLAG(BSCF_LASTDATANOTIFICATION)
1184 ADD_BSCF_FLAG(BSCF_DATAFULLYAVAILABLE)
1185 ADD_BSCF_FLAG(BSCF_AVAILABLEDATASIZEUNKNOWN)
1186 ADD_BSCF_FLAG(BSCF_SKIPDRAINDATAFORFILEURLS)
1187 ADD_BSCF_FLAG(BSCF_64BITLENGTHDOWNLOAD)
1188
1189 if (flags)
1190 s += StringPrintf("+UnDoc[%#x]", flags);
1191 return s;
1192 #undef ADD_BSCF_FLAG
1193 }
OLDNEW
« no previous file with comments | « chrome_frame/utils.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698