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

Side by Side Diff: third_party/WebKit/Source/core/html/HTMLImageElement.cpp

Issue 1667843003: Make Resource RefCountedWillBeGarbageCollectedFinalized, attempt #2 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase + address review comments Created 4 years, 10 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010 Apple Inc. All rights reserv ed. 4 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010 Apple Inc. All rights reserv ed.
5 * Copyright (C) 2010 Google Inc. All rights reserved. 5 * Copyright (C) 2010 Google Inc. All rights reserved.
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 Library General Public 8 * modify it under the terms of the GNU Library 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 362 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 void HTMLImageElement::attach(const AttachContext& context) 373 void HTMLImageElement::attach(const AttachContext& context)
374 { 374 {
375 HTMLElement::attach(context); 375 HTMLElement::attach(context);
376 376
377 if (layoutObject() && layoutObject()->isImage()) { 377 if (layoutObject() && layoutObject()->isImage()) {
378 LayoutImage* layoutImage = toLayoutImage(layoutObject()); 378 LayoutImage* layoutImage = toLayoutImage(layoutObject());
379 LayoutImageResource* layoutImageResource = layoutImage->imageResource(); 379 LayoutImageResource* layoutImageResource = layoutImage->imageResource();
380 if (m_isFallbackImage) { 380 if (m_isFallbackImage) {
381 float deviceScaleFactor = blink::deviceScaleFactor(layoutImage->fram e()); 381 float deviceScaleFactor = blink::deviceScaleFactor(layoutImage->fram e());
382 std::pair<Image*, float> brokenImageAndImageScaleFactor = ImageResou rce::brokenImage(deviceScaleFactor); 382 std::pair<Image*, float> brokenImageAndImageScaleFactor = ImageResou rce::brokenImage(deviceScaleFactor);
383 ImageResource* newImageResource = new ImageResource(brokenImageAndIm ageScaleFactor.first); 383 RefPtrWillBeRawPtr<ImageResource> newImageResource = ImageResource:: create(brokenImageAndImageScaleFactor.first);
384 layoutImage->imageResource()->setImageResource(newImageResource); 384 layoutImage->imageResource()->setImageResource(newImageResource.get( ));
385 } 385 }
386 if (layoutImageResource->hasImage()) 386 if (layoutImageResource->hasImage())
387 return; 387 return;
388 388
389 if (!imageLoader().image() && !layoutImageResource->cachedImage()) 389 if (!imageLoader().image() && !layoutImageResource->cachedImage())
390 return; 390 return;
391 layoutImageResource->setImageResource(imageLoader().image()); 391 layoutImageResource->setImageResource(imageLoader().image());
392 } 392 }
393 } 393 }
394 394
(...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after
812 { 812 {
813 ImageResource* image = cachedImage(); 813 ImageResource* image = cachedImage();
814 if (!image) 814 if (!image)
815 return IntSize(); 815 return IntSize();
816 LayoutSize lSize = image->imageSize(LayoutObject::shouldRespectImageOrientat ion(layoutObject()), 1.0f); 816 LayoutSize lSize = image->imageSize(LayoutObject::shouldRespectImageOrientat ion(layoutObject()), 1.0f);
817 ASSERT(lSize.fraction().isZero()); 817 ASSERT(lSize.fraction().isZero());
818 return IntSize(lSize.width(), lSize.height()); 818 return IntSize(lSize.width(), lSize.height());
819 } 819 }
820 820
821 } // namespace blink 821 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698