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

Side by Side Diff: chrome_frame/urlmon_url_request.cc

Issue 6360011: ChromeFrame full tab mode was not supporting the PROPFIND verb correctly, in ... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 11 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 | « no previous file | 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/urlmon_url_request.h" 5 #include "chrome_frame/urlmon_url_request.h"
6 6
7 #include <wininet.h> 7 #include <wininet.h>
8 #include <urlmon.h> 8 #include <urlmon.h>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after
430 430
431 // TODO(ananta) 431 // TODO(ananta)
432 // Look into whether the other load flags need to be supported in chrome 432 // Look into whether the other load flags need to be supported in chrome
433 // frame. 433 // frame.
434 if (load_flags_ & net::LOAD_VALIDATE_CACHE) 434 if (load_flags_ & net::LOAD_VALIDATE_CACHE)
435 *bind_flags |= BINDF_RESYNCHRONIZE; 435 *bind_flags |= BINDF_RESYNCHRONIZE;
436 436
437 if (load_flags_ & net::LOAD_BYPASS_CACHE) 437 if (load_flags_ & net::LOAD_BYPASS_CACHE)
438 *bind_flags |= BINDF_GETNEWESTVERSION; 438 *bind_flags |= BINDF_GETNEWESTVERSION;
439 439
440 bool upload_data = false;
441 440
442 if (LowerCaseEqualsASCII(method(), "get")) { 441 if (LowerCaseEqualsASCII(method(), "get")) {
443 bind_info->dwBindVerb = BINDVERB_GET; 442 bind_info->dwBindVerb = BINDVERB_GET;
444 } else if (LowerCaseEqualsASCII(method(), "post")) { 443 } else if (LowerCaseEqualsASCII(method(), "post")) {
445 bind_info->dwBindVerb = BINDVERB_POST; 444 bind_info->dwBindVerb = BINDVERB_POST;
446 upload_data = true;
447 } else if (LowerCaseEqualsASCII(method(), "put")) { 445 } else if (LowerCaseEqualsASCII(method(), "put")) {
448 bind_info->dwBindVerb = BINDVERB_PUT; 446 bind_info->dwBindVerb = BINDVERB_PUT;
449 upload_data = true;
450 } else { 447 } else {
451 std::wstring verb(ASCIIToWide(StringToUpperASCII(method()))); 448 std::wstring verb(ASCIIToWide(StringToUpperASCII(method())));
452 bind_info->dwBindVerb = BINDVERB_CUSTOM; 449 bind_info->dwBindVerb = BINDVERB_CUSTOM;
453 bind_info->szCustomVerb = reinterpret_cast<wchar_t*>( 450 bind_info->szCustomVerb = reinterpret_cast<wchar_t*>(
454 ::CoTaskMemAlloc((verb.length() + 1) * sizeof(wchar_t))); 451 ::CoTaskMemAlloc((verb.length() + 1) * sizeof(wchar_t)));
455 lstrcpyW(bind_info->szCustomVerb, verb.c_str()); 452 lstrcpyW(bind_info->szCustomVerb, verb.c_str());
456 } 453 }
457 454
458 if (upload_data) { 455 if (post_data_len()) {
459 // Bypass caching proxies on POSTs and PUTs and avoid writing responses to 456 // Bypass caching proxies on upload requests and avoid writing responses to
460 // these requests to the browser's cache 457 // the browser's cache.
461 *bind_flags |= BINDF_GETNEWESTVERSION | BINDF_PRAGMA_NO_CACHE; 458 *bind_flags |= BINDF_GETNEWESTVERSION | BINDF_PRAGMA_NO_CACHE;
462 459
463 // Attempt to avoid storing the response for XHR request. 460 // Attempt to avoid storing the response for upload requests.
464 // See http://crbug.com/55918 461 // See http://crbug.com/55918
465 if (resource_type_ != ResourceType::MAIN_FRAME) 462 if (resource_type_ != ResourceType::MAIN_FRAME)
466 *bind_flags |= BINDF_NOWRITECACHE; 463 *bind_flags |= BINDF_NOWRITECACHE;
467 464
468 // Initialize the STGMEDIUM. 465 // Initialize the STGMEDIUM.
469 memset(&bind_info->stgmedData, 0, sizeof(STGMEDIUM)); 466 memset(&bind_info->stgmedData, 0, sizeof(STGMEDIUM));
470 bind_info->grfBindInfoF = 0; 467 bind_info->grfBindInfoF = 0;
471 bind_info->szCustomVerb = NULL; 468
469 if (bind_info->dwBindVerb != BINDVERB_CUSTOM)
470 bind_info->szCustomVerb = NULL;
472 471
473 if (get_upload_data(&bind_info->stgmedData.pstm) == S_OK) { 472 if (get_upload_data(&bind_info->stgmedData.pstm) == S_OK) {
474 bind_info->stgmedData.tymed = TYMED_ISTREAM; 473 bind_info->stgmedData.tymed = TYMED_ISTREAM;
475 DVLOG(1) << __FUNCTION__ << me() << method() 474 DVLOG(1) << __FUNCTION__ << me() << method()
476 << " request with " << base::Int64ToString(post_data_len()) 475 << " request with " << base::Int64ToString(post_data_len())
477 << " bytes. url=" << url(); 476 << " bytes. url=" << url();
478 } else { 477 } else {
479 DVLOG(1) << __FUNCTION__ << me() << "POST request with no data!"; 478 DVLOG(1) << __FUNCTION__ << me() << "POST request with no data!";
480 } 479 }
481 } 480 }
(...skipping 757 matching lines...) Expand 10 before | Expand all | Expand 10 after
1239 privacy_info_.privacy_records[UTF8ToWide(url)]; 1238 privacy_info_.privacy_records[UTF8ToWide(url)];
1240 1239
1241 privacy_entry.flags |= flags; 1240 privacy_entry.flags |= flags;
1242 privacy_entry.policy_ref = UTF8ToWide(policy_ref); 1241 privacy_entry.policy_ref = UTF8ToWide(policy_ref);
1243 1242
1244 if (fire_privacy_event && IsWindow(notification_window_)) { 1243 if (fire_privacy_event && IsWindow(notification_window_)) {
1245 PostMessage(notification_window_, WM_FIRE_PRIVACY_CHANGE_NOTIFICATION, 1, 1244 PostMessage(notification_window_, WM_FIRE_PRIVACY_CHANGE_NOTIFICATION, 1,
1246 0); 1245 0);
1247 } 1246 }
1248 } 1247 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698