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

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: Fix known issues 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 352 matching lines...) Expand 10 before | Expand all | Expand 10 after
363 void HTMLImageElement::attach(const AttachContext& context) 363 void HTMLImageElement::attach(const AttachContext& context)
364 { 364 {
365 HTMLElement::attach(context); 365 HTMLElement::attach(context);
366 366
367 if (layoutObject() && layoutObject()->isImage()) { 367 if (layoutObject() && layoutObject()->isImage()) {
368 LayoutImage* layoutImage = toLayoutImage(layoutObject()); 368 LayoutImage* layoutImage = toLayoutImage(layoutObject());
369 LayoutImageResource* layoutImageResource = layoutImage->imageResource(); 369 LayoutImageResource* layoutImageResource = layoutImage->imageResource();
370 if (m_isFallbackImage) { 370 if (m_isFallbackImage) {
371 float deviceScaleFactor = blink::deviceScaleFactor(layoutImage->fram e()); 371 float deviceScaleFactor = blink::deviceScaleFactor(layoutImage->fram e());
372 std::pair<Image*, float> brokenImageAndImageScaleFactor = ImageResou rce::brokenImage(deviceScaleFactor); 372 std::pair<Image*, float> brokenImageAndImageScaleFactor = ImageResou rce::brokenImage(deviceScaleFactor);
373 ImageResource* newImageResource = new ImageResource(brokenImageAndIm ageScaleFactor.first); 373 RefPtrWillBeRawPtr<ImageResource> newImageResource = ImageResource:: create(brokenImageAndImageScaleFactor.first);
374 layoutImage->imageResource()->setImageResource(newImageResource); 374 layoutImage->imageResource()->setImageResource(newImageResource.get( ));
375 } 375 }
376 if (layoutImageResource->hasImage()) 376 if (layoutImageResource->hasImage())
377 return; 377 return;
378 378
379 if (!imageLoader().image() && !layoutImageResource->cachedImage()) 379 if (!imageLoader().image() && !layoutImageResource->cachedImage())
380 return; 380 return;
381 layoutImageResource->setImageResource(imageLoader().image()); 381 layoutImageResource->setImageResource(imageLoader().image());
382 } 382 }
383 } 383 }
384 384
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after
806 { 806 {
807 ImageResource* image = cachedImage(); 807 ImageResource* image = cachedImage();
808 if (!image) 808 if (!image)
809 return IntSize(); 809 return IntSize();
810 LayoutSize lSize = image->imageSize(LayoutObject::shouldRespectImageOrientat ion(layoutObject()), 1.0f); 810 LayoutSize lSize = image->imageSize(LayoutObject::shouldRespectImageOrientat ion(layoutObject()), 1.0f);
811 ASSERT(lSize.fraction().isZero()); 811 ASSERT(lSize.fraction().isZero());
812 return IntSize(lSize.width(), lSize.height()); 812 return IntSize(lSize.width(), lSize.height());
813 } 813 }
814 814
815 } // namespace blink 815 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698