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

Side by Side Diff: WebCore/xml/XMLHttpRequest.cpp

Issue 1769002: BlobBuilder/FormData refactor attempt (Closed)
Patch Set: back to simple FormData 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
« no previous file with comments | « WebCore/platform/network/mac/FormDataStreamMac.mm ('k') | WebKit/chromium/ChangeLog » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2004, 2006, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2004, 2006, 2008 Apple Inc. All rights reserved.
3 * Copyright (C) 2005-2007 Alexey Proskuryakov <ap@webkit.org> 3 * Copyright (C) 2005-2007 Alexey Proskuryakov <ap@webkit.org>
4 * Copyright (C) 2007, 2008 Julien Chaffraix <jchaffraix@webkit.org> 4 * Copyright (C) 2007, 2008 Julien Chaffraix <jchaffraix@webkit.org>
5 * Copyright (C) 2008 David Levin <levin@chromium.org> 5 * Copyright (C) 2008 David Levin <levin@chromium.org>
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public 8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 460 matching lines...) Expand 10 before | Expand all | Expand 10 after
471 471
472 void XMLHttpRequest::send(Blob* body, ExceptionCode& ec) 472 void XMLHttpRequest::send(Blob* body, ExceptionCode& ec)
473 { 473 {
474 if (!initSend(ec)) 474 if (!initSend(ec))
475 return; 475 return;
476 476
477 if (m_method != "GET" && m_method != "HEAD" && m_url.protocolInHTTPFamily()) { 477 if (m_method != "GET" && m_method != "HEAD" && m_url.protocolInHTTPFamily()) {
478 // FIXME: Should we set a Content-Type if one is not set. 478 // FIXME: Should we set a Content-Type if one is not set.
479 // FIXME: add support for uploading bundles. 479 // FIXME: add support for uploading bundles.
480 m_requestEntityBody = FormData::create(); 480 m_requestEntityBody = FormData::create();
481 #if ENABLE(BLOB_SLICE) 481 m_requestEntityBody->appendItems(body->items());
482 m_requestEntityBody->appendFileRange(body->path(), body->start(), body-> length(), body->modificationTime());
483 #else
484 m_requestEntityBody->appendFile(body->path(), false);
485 #endif
486 } 482 }
487 483
488 createRequest(ec); 484 createRequest(ec);
489 } 485 }
490 486
491 void XMLHttpRequest::send(DOMFormData* body, ExceptionCode& ec) 487 void XMLHttpRequest::send(DOMFormData* body, ExceptionCode& ec)
492 { 488 {
493 if (!initSend(ec)) 489 if (!initSend(ec))
494 return; 490 return;
495 491
496 if (m_method != "GET" && m_method != "HEAD" && m_url.protocolInHTTPFamily()) { 492 if (m_method != "GET" && m_method != "HEAD" && m_url.protocolInHTTPFamily()) {
497 m_requestEntityBody = FormData::createMultiPart(*body, document()); 493 m_requestEntityBody = FormData::createMultiPart(body->items(), body->enc oding(), document());
498 494
499 // We need to ask the client to provide the generated file names if need ed. When FormData fills the element 495 // We need to ask the client to provide the generated file names if need ed. When FormData fills the element
500 // for the file, it could set a flag to use the generated file name, i.e . a package file on Mac. 496 // for the file, it could set a flag to use the generated file name, i.e . a package file on Mac.
501 m_requestEntityBody->generateFiles(document()); 497 m_requestEntityBody->generateFiles(document());
502 498
503 String contentType = getRequestHeader("Content-Type"); 499 String contentType = getRequestHeader("Content-Type");
504 if (contentType.isEmpty()) { 500 if (contentType.isEmpty()) {
505 contentType = "multipart/form-data; boundary="; 501 contentType = "multipart/form-data; boundary=";
506 contentType += m_requestEntityBody->boundary().data(); 502 contentType += m_requestEntityBody->boundary().data();
507 setRequestHeaderInternal("Content-Type", contentType); 503 setRequestHeaderInternal("Content-Type", contentType);
(...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after
1025 { 1021 {
1026 return &m_eventTargetData; 1022 return &m_eventTargetData;
1027 } 1023 }
1028 1024
1029 EventTargetData* XMLHttpRequest::ensureEventTargetData() 1025 EventTargetData* XMLHttpRequest::ensureEventTargetData()
1030 { 1026 {
1031 return &m_eventTargetData; 1027 return &m_eventTargetData;
1032 } 1028 }
1033 1029
1034 } // namespace WebCore 1030 } // namespace WebCore
OLDNEW
« no previous file with comments | « WebCore/platform/network/mac/FormDataStreamMac.mm ('k') | WebKit/chromium/ChangeLog » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698