| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 379 break; | 379 break; |
| 380 } | 380 } |
| 381 } | 381 } |
| 382 | 382 |
| 383 bool FrameSerializer::shouldAddURL(const KURL& url) | 383 bool FrameSerializer::shouldAddURL(const KURL& url) |
| 384 { | 384 { |
| 385 return url.isValid() && !m_resourceURLs.contains(url) && !url.protocolIsData
() | 385 return url.isValid() && !m_resourceURLs.contains(url) && !url.protocolIsData
() |
| 386 && !m_delegate.shouldSkipResourceWithURL(url); | 386 && !m_delegate.shouldSkipResourceWithURL(url); |
| 387 } | 387 } |
| 388 | 388 |
| 389 void FrameSerializer::addToResources(const Resource& resource, PassRefPtr<Shared
Buffer> data, const KURL& url) | 389 void FrameSerializer::addToResources(const Resource& resource, PassRefPtr<const
SharedBuffer> data, const KURL& url) |
| 390 { | 390 { |
| 391 if (m_delegate.shouldSkipResource(resource)) | 391 if (m_delegate.shouldSkipResource(resource)) |
| 392 return; | 392 return; |
| 393 | 393 |
| 394 if (!data) { | 394 if (!data) { |
| 395 DLOG(ERROR) << "No data for resource " << url.getString(); | 395 DLOG(ERROR) << "No data for resource " << url.getString(); |
| 396 return; | 396 return; |
| 397 } | 397 } |
| 398 | 398 |
| 399 String mimeType = resource.response().mimeType(); | 399 String mimeType = resource.response().mimeType(); |
| 400 m_resources->append(SerializedResource(url, mimeType, std::move(data))); | 400 m_resources->append(SerializedResource(url, mimeType, std::move(data))); |
| 401 m_resourceURLs.add(url); | 401 m_resourceURLs.add(url); |
| 402 } | 402 } |
| 403 | 403 |
| 404 void FrameSerializer::addImageToResources(ImageResource* image, const KURL& url) | 404 void FrameSerializer::addImageToResources(ImageResource* image, const KURL& url) |
| 405 { | 405 { |
| 406 if (!image || !image->hasImage() || image->errorOccurred() || !shouldAddURL(
url)) | 406 if (!image || !image->hasImage() || image->errorOccurred() || !shouldAddURL(
url)) |
| 407 return; | 407 return; |
| 408 | 408 |
| 409 RefPtr<SharedBuffer> data = image->getImage()->data(); | 409 RefPtr<const SharedBuffer> data = image->getImage()->data(); |
| 410 addToResources(*image, data, url); | 410 addToResources(*image, data, url); |
| 411 } | 411 } |
| 412 | 412 |
| 413 void FrameSerializer::addFontToResources(FontResource* font) | 413 void FrameSerializer::addFontToResources(FontResource* font) |
| 414 { | 414 { |
| 415 if (!font || !font->isLoaded() || !font->resourceBuffer() || !shouldAddURL(f
ont->url())) | 415 if (!font || !font->isLoaded() || !font->resourceBuffer() || !shouldAddURL(f
ont->url())) |
| 416 return; | 416 return; |
| 417 | 417 |
| 418 RefPtr<SharedBuffer> data(font->resourceBuffer()); | 418 RefPtr<const SharedBuffer> data(font->resourceBuffer()); |
| 419 | 419 |
| 420 addToResources(*font, data, font->url()); | 420 addToResources(*font, data, font->url()); |
| 421 } | 421 } |
| 422 | 422 |
| 423 void FrameSerializer::retrieveResourcesForProperties(const StylePropertySet* sty
leDeclaration, Document& document) | 423 void FrameSerializer::retrieveResourcesForProperties(const StylePropertySet* sty
leDeclaration, Document& document) |
| 424 { | 424 { |
| 425 if (!styleDeclaration) | 425 if (!styleDeclaration) |
| 426 return; | 426 return; |
| 427 | 427 |
| 428 // The background-image and list-style-image (for ul or ol) are the CSS prop
erties | 428 // The background-image and list-style-image (for ul or ol) are the CSS prop
erties |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 476 continue; | 476 continue; |
| 477 } | 477 } |
| 478 emitsMinus = ch == '-'; | 478 emitsMinus = ch == '-'; |
| 479 builder.append(ch); | 479 builder.append(ch); |
| 480 } | 480 } |
| 481 CString escapedUrl = builder.toString().ascii(); | 481 CString escapedUrl = builder.toString().ascii(); |
| 482 return String::format("saved from url=(%04d)%s", static_cast<int>(escapedUrl
.length()), escapedUrl.data()); | 482 return String::format("saved from url=(%04d)%s", static_cast<int>(escapedUrl
.length()), escapedUrl.data()); |
| 483 } | 483 } |
| 484 | 484 |
| 485 } // namespace blink | 485 } // namespace blink |
| OLD | NEW |