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

Side by Side Diff: content/common/page_state_serialization.cc

Issue 63253002: Rename WebKit namespace to blink (part 3) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "content/common/page_state_serialization.h" 5 #include "content/common/page_state_serialization.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 9
10 #include "base/pickle.h" 10 #include "base/pickle.h"
11 #include "base/strings/string_number_conversions.h" 11 #include "base/strings/string_number_conversions.h"
12 #include "base/strings/string_util.h" 12 #include "base/strings/string_util.h"
13 #include "base/strings/utf_string_conversions.h" 13 #include "base/strings/utf_string_conversions.h"
14 #include "ui/gfx/screen.h" 14 #include "ui/gfx/screen.h"
15 15
16 namespace content { 16 namespace content {
17 namespace { 17 namespace {
18 18
19 #if defined(OS_ANDROID) 19 #if defined(OS_ANDROID)
20 float g_device_scale_factor_for_testing = 0.0; 20 float g_device_scale_factor_for_testing = 0.0;
21 #endif 21 #endif
22 22
23 //----------------------------------------------------------------------------- 23 //-----------------------------------------------------------------------------
24 24
25 void AppendDataToHttpBody(ExplodedHttpBody* http_body, const char* data, 25 void AppendDataToHttpBody(ExplodedHttpBody* http_body, const char* data,
26 int data_length) { 26 int data_length) {
27 ExplodedHttpBodyElement element; 27 ExplodedHttpBodyElement element;
28 element.type = WebKit::WebHTTPBody::Element::TypeData; 28 element.type = blink::WebHTTPBody::Element::TypeData;
29 element.data.assign(data, data_length); 29 element.data.assign(data, data_length);
30 http_body->elements.push_back(element); 30 http_body->elements.push_back(element);
31 } 31 }
32 32
33 void AppendFileRangeToHttpBody(ExplodedHttpBody* http_body, 33 void AppendFileRangeToHttpBody(ExplodedHttpBody* http_body,
34 const base::NullableString16& file_path, 34 const base::NullableString16& file_path,
35 int file_start, 35 int file_start,
36 int file_length, 36 int file_length,
37 double file_modification_time) { 37 double file_modification_time) {
38 ExplodedHttpBodyElement element; 38 ExplodedHttpBodyElement element;
39 element.type = WebKit::WebHTTPBody::Element::TypeFile; 39 element.type = blink::WebHTTPBody::Element::TypeFile;
40 element.file_path = file_path; 40 element.file_path = file_path;
41 element.file_start = file_start; 41 element.file_start = file_start;
42 element.file_length = file_length; 42 element.file_length = file_length;
43 element.file_modification_time = file_modification_time; 43 element.file_modification_time = file_modification_time;
44 http_body->elements.push_back(element); 44 http_body->elements.push_back(element);
45 } 45 }
46 46
47 void AppendURLRangeToHttpBody(ExplodedHttpBody* http_body, 47 void AppendURLRangeToHttpBody(ExplodedHttpBody* http_body,
48 const GURL& url, 48 const GURL& url,
49 int file_start, 49 int file_start,
50 int file_length, 50 int file_length,
51 double file_modification_time) { 51 double file_modification_time) {
52 ExplodedHttpBodyElement element; 52 ExplodedHttpBodyElement element;
53 element.type = WebKit::WebHTTPBody::Element::TypeFileSystemURL; 53 element.type = blink::WebHTTPBody::Element::TypeFileSystemURL;
54 element.filesystem_url = url; 54 element.filesystem_url = url;
55 element.file_start = file_start; 55 element.file_start = file_start;
56 element.file_length = file_length; 56 element.file_length = file_length;
57 element.file_modification_time = file_modification_time; 57 element.file_modification_time = file_modification_time;
58 http_body->elements.push_back(element); 58 http_body->elements.push_back(element);
59 } 59 }
60 60
61 void AppendBlobToHttpBody(ExplodedHttpBody* http_body, 61 void AppendBlobToHttpBody(ExplodedHttpBody* http_body,
62 const std::string& uuid) { 62 const std::string& uuid) {
63 ExplodedHttpBodyElement element; 63 ExplodedHttpBodyElement element;
64 element.type = WebKit::WebHTTPBody::Element::TypeBlob; 64 element.type = blink::WebHTTPBody::Element::TypeBlob;
65 element.blob_uuid = uuid; 65 element.blob_uuid = uuid;
66 http_body->elements.push_back(element); 66 http_body->elements.push_back(element);
67 } 67 }
68 68
69 //---------------------------------------------------------------------------- 69 //----------------------------------------------------------------------------
70 70
71 void AppendReferencedFilesFromHttpBody( 71 void AppendReferencedFilesFromHttpBody(
72 const std::vector<ExplodedHttpBodyElement>& elements, 72 const std::vector<ExplodedHttpBodyElement>& elements,
73 std::vector<base::NullableString16>* referenced_files) { 73 std::vector<base::NullableString16>* referenced_files) {
74 for (size_t i = 0; i < elements.size(); ++i) { 74 for (size_t i = 0; i < elements.size(); ++i) {
75 if (elements[i].type == WebKit::WebHTTPBody::Element::TypeFile) 75 if (elements[i].type == blink::WebHTTPBody::Element::TypeFile)
76 referenced_files->push_back(elements[i].file_path); 76 referenced_files->push_back(elements[i].file_path);
77 } 77 }
78 } 78 }
79 79
80 bool AppendReferencedFilesFromDocumentState( 80 bool AppendReferencedFilesFromDocumentState(
81 const std::vector<base::NullableString16>& document_state, 81 const std::vector<base::NullableString16>& document_state,
82 std::vector<base::NullableString16>* referenced_files) { 82 std::vector<base::NullableString16>* referenced_files) {
83 if (document_state.empty()) 83 if (document_state.empty())
84 return true; 84 return true;
85 85
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after
404 void WriteHttpBody(const ExplodedHttpBody& http_body, SerializeObject* obj) { 404 void WriteHttpBody(const ExplodedHttpBody& http_body, SerializeObject* obj) {
405 WriteBoolean(!http_body.is_null, obj); 405 WriteBoolean(!http_body.is_null, obj);
406 406
407 if (http_body.is_null) 407 if (http_body.is_null)
408 return; 408 return;
409 409
410 WriteAndValidateVectorSize(http_body.elements, obj); 410 WriteAndValidateVectorSize(http_body.elements, obj);
411 for (size_t i = 0; i < http_body.elements.size(); ++i) { 411 for (size_t i = 0; i < http_body.elements.size(); ++i) {
412 const ExplodedHttpBodyElement& element = http_body.elements[i]; 412 const ExplodedHttpBodyElement& element = http_body.elements[i];
413 WriteInteger(element.type, obj); 413 WriteInteger(element.type, obj);
414 if (element.type == WebKit::WebHTTPBody::Element::TypeData) { 414 if (element.type == blink::WebHTTPBody::Element::TypeData) {
415 WriteData(element.data.data(), static_cast<int>(element.data.size()), 415 WriteData(element.data.data(), static_cast<int>(element.data.size()),
416 obj); 416 obj);
417 } else if (element.type == WebKit::WebHTTPBody::Element::TypeFile) { 417 } else if (element.type == blink::WebHTTPBody::Element::TypeFile) {
418 WriteString(element.file_path, obj); 418 WriteString(element.file_path, obj);
419 WriteInteger64(element.file_start, obj); 419 WriteInteger64(element.file_start, obj);
420 WriteInteger64(element.file_length, obj); 420 WriteInteger64(element.file_length, obj);
421 WriteReal(element.file_modification_time, obj); 421 WriteReal(element.file_modification_time, obj);
422 } else if (element.type == 422 } else if (element.type ==
423 WebKit::WebHTTPBody::Element::TypeFileSystemURL) { 423 blink::WebHTTPBody::Element::TypeFileSystemURL) {
424 WriteGURL(element.filesystem_url, obj); 424 WriteGURL(element.filesystem_url, obj);
425 WriteInteger64(element.file_start, obj); 425 WriteInteger64(element.file_start, obj);
426 WriteInteger64(element.file_length, obj); 426 WriteInteger64(element.file_length, obj);
427 WriteReal(element.file_modification_time, obj); 427 WriteReal(element.file_modification_time, obj);
428 } else { 428 } else {
429 DCHECK(element.type == WebKit::WebHTTPBody::Element::TypeBlob); 429 DCHECK(element.type == blink::WebHTTPBody::Element::TypeBlob);
430 WriteStdString(element.blob_uuid, obj); 430 WriteStdString(element.blob_uuid, obj);
431 } 431 }
432 } 432 }
433 WriteInteger64(http_body.identifier, obj); 433 WriteInteger64(http_body.identifier, obj);
434 WriteBoolean(http_body.contains_passwords, obj); 434 WriteBoolean(http_body.contains_passwords, obj);
435 } 435 }
436 436
437 void ReadHttpBody(SerializeObject* obj, ExplodedHttpBody* http_body) { 437 void ReadHttpBody(SerializeObject* obj, ExplodedHttpBody* http_body) {
438 // An initial boolean indicates if we have an HTTP body. 438 // An initial boolean indicates if we have an HTTP body.
439 if (!ReadBoolean(obj)) 439 if (!ReadBoolean(obj))
440 return; 440 return;
441 http_body->is_null = false; 441 http_body->is_null = false;
442 442
443 int num_elements = ReadInteger(obj); 443 int num_elements = ReadInteger(obj);
444 444
445 for (int i = 0; i < num_elements; ++i) { 445 for (int i = 0; i < num_elements; ++i) {
446 int type = ReadInteger(obj); 446 int type = ReadInteger(obj);
447 if (type == WebKit::WebHTTPBody::Element::TypeData) { 447 if (type == blink::WebHTTPBody::Element::TypeData) {
448 const void* data; 448 const void* data;
449 int length = -1; 449 int length = -1;
450 ReadData(obj, &data, &length); 450 ReadData(obj, &data, &length);
451 if (length >= 0) { 451 if (length >= 0) {
452 AppendDataToHttpBody(http_body, static_cast<const char*>(data), 452 AppendDataToHttpBody(http_body, static_cast<const char*>(data),
453 length); 453 length);
454 } 454 }
455 } else if (type == WebKit::WebHTTPBody::Element::TypeFile) { 455 } else if (type == blink::WebHTTPBody::Element::TypeFile) {
456 base::NullableString16 file_path = ReadString(obj); 456 base::NullableString16 file_path = ReadString(obj);
457 int64 file_start = ReadInteger64(obj); 457 int64 file_start = ReadInteger64(obj);
458 int64 file_length = ReadInteger64(obj); 458 int64 file_length = ReadInteger64(obj);
459 double file_modification_time = ReadReal(obj); 459 double file_modification_time = ReadReal(obj);
460 AppendFileRangeToHttpBody(http_body, file_path, file_start, file_length, 460 AppendFileRangeToHttpBody(http_body, file_path, file_start, file_length,
461 file_modification_time); 461 file_modification_time);
462 } else if (type == WebKit::WebHTTPBody::Element::TypeFileSystemURL) { 462 } else if (type == blink::WebHTTPBody::Element::TypeFileSystemURL) {
463 GURL url = ReadGURL(obj); 463 GURL url = ReadGURL(obj);
464 int64 file_start = ReadInteger64(obj); 464 int64 file_start = ReadInteger64(obj);
465 int64 file_length = ReadInteger64(obj); 465 int64 file_length = ReadInteger64(obj);
466 double file_modification_time = ReadReal(obj); 466 double file_modification_time = ReadReal(obj);
467 AppendURLRangeToHttpBody(http_body, url, file_start, file_length, 467 AppendURLRangeToHttpBody(http_body, url, file_start, file_length,
468 file_modification_time); 468 file_modification_time);
469 } else if (type == WebKit::WebHTTPBody::Element::TypeBlob) { 469 } else if (type == blink::WebHTTPBody::Element::TypeBlob) {
470 if (obj->version >= 16) { 470 if (obj->version >= 16) {
471 std::string blob_uuid = ReadStdString(obj); 471 std::string blob_uuid = ReadStdString(obj);
472 AppendBlobToHttpBody(http_body, blob_uuid); 472 AppendBlobToHttpBody(http_body, blob_uuid);
473 } else { 473 } else {
474 ReadGURL(obj); // Skip the obsolete blob url value. 474 ReadGURL(obj); // Skip the obsolete blob url value.
475 } 475 }
476 } 476 }
477 } 477 }
478 http_body->identifier = ReadInteger64(obj); 478 http_body->identifier = ReadInteger64(obj);
479 479
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
636 // De-dupe 636 // De-dupe
637 state->referenced_files.erase( 637 state->referenced_files.erase(
638 std::unique(state->referenced_files.begin(), 638 std::unique(state->referenced_files.begin(),
639 state->referenced_files.end()), 639 state->referenced_files.end()),
640 state->referenced_files.end()); 640 state->referenced_files.end());
641 } 641 }
642 642
643 } // namespace 643 } // namespace
644 644
645 ExplodedHttpBodyElement::ExplodedHttpBodyElement() 645 ExplodedHttpBodyElement::ExplodedHttpBodyElement()
646 : type(WebKit::WebHTTPBody::Element::TypeData), 646 : type(blink::WebHTTPBody::Element::TypeData),
647 file_start(0), 647 file_start(0),
648 file_length(-1), 648 file_length(-1),
649 file_modification_time(std::numeric_limits<double>::quiet_NaN()) { 649 file_modification_time(std::numeric_limits<double>::quiet_NaN()) {
650 } 650 }
651 651
652 ExplodedHttpBodyElement::~ExplodedHttpBodyElement() { 652 ExplodedHttpBodyElement::~ExplodedHttpBodyElement() {
653 } 653 }
654 654
655 ExplodedHttpBody::ExplodedHttpBody() 655 ExplodedHttpBody::ExplodedHttpBody()
656 : identifier(0), 656 : identifier(0),
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
702 float device_scale_factor, 702 float device_scale_factor,
703 ExplodedPageState* exploded) { 703 ExplodedPageState* exploded) {
704 g_device_scale_factor_for_testing = device_scale_factor; 704 g_device_scale_factor_for_testing = device_scale_factor;
705 bool rv = DecodePageState(encoded, exploded); 705 bool rv = DecodePageState(encoded, exploded);
706 g_device_scale_factor_for_testing = 0.0; 706 g_device_scale_factor_for_testing = 0.0;
707 return rv; 707 return rv;
708 } 708 }
709 #endif 709 #endif
710 710
711 } // namespace content 711 } // namespace content
OLDNEW
« no previous file with comments | « content/common/page_state_serialization.h ('k') | content/common/page_state_serialization_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698