| OLD | NEW | 
|    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, 2010 Apple Inc. All rights reserved. |    4  * Copyright (C) 2004, 2005, 2006, 2007, 2010 Apple Inc. All rights reserved. | 
|    5  * |    5  * | 
|    6  * This library is free software; you can redistribute it and/or |    6  * This library is free software; you can redistribute it and/or | 
|    7  * modify it under the terms of the GNU Library General Public |    7  * modify it under the terms of the GNU Library General Public | 
|    8  * License as published by the Free Software Foundation; either |    8  * License as published by the Free Software Foundation; either | 
|    9  * version 2 of the License, or (at your option) any later version. |    9  * version 2 of the License, or (at your option) any later version. | 
|   10  * |   10  * | 
|   11  * This library is distributed in the hope that it will be useful, |   11  * This library is distributed in the hope that it will be useful, | 
|   12  * but WITHOUT ANY WARRANTY; without even the implied warranty of |   12  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|   13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU |   13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
|   14  * Library General Public License for more details. |   14  * Library General Public License for more details. | 
|   15  * |   15  * | 
|   16  * You should have received a copy of the GNU Library General Public License |   16  * You should have received a copy of the GNU Library General Public License | 
|   17  * along with this library; see the file COPYING.LIB.  If not, write to |   17  * along with this library; see the file COPYING.LIB.  If not, write to | 
|   18  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |   18  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 
|   19  * Boston, MA 02110-1301, USA. |   19  * Boston, MA 02110-1301, USA. | 
|   20  */ |   20  */ | 
|   21  |   21  | 
|   22 #include "core/html/HTMLImageLoader.h" |   22 #include "core/html/HTMLImageLoader.h" | 
|   23  |   23  | 
|   24 #include "core/HTMLNames.h" |   24 #include "core/HTMLNames.h" | 
|   25 #include "core/dom/Element.h" |   25 #include "core/dom/Element.h" | 
|   26 #include "core/events/Event.h" |   26 #include "core/events/Event.h" | 
|   27 #include "core/fetch/ImageResource.h" |   27 #include "core/fetch/ImageResource.h" | 
 |   28 #include "core/fetch/ResourceLoadingLog.h" | 
|   28 #include "core/html/HTMLImageElement.h" |   29 #include "core/html/HTMLImageElement.h" | 
|   29 #include "core/html/HTMLInputElement.h" |   30 #include "core/html/HTMLInputElement.h" | 
|   30 #include "core/html/HTMLObjectElement.h" |   31 #include "core/html/HTMLObjectElement.h" | 
|   31 #include "core/html/parser/HTMLParserIdioms.h" |   32 #include "core/html/parser/HTMLParserIdioms.h" | 
|   32 #include "platform/Logging.h" |  | 
|   33  |   33  | 
|   34 namespace blink { |   34 namespace blink { | 
|   35  |   35  | 
|   36 using namespace HTMLNames; |   36 using namespace HTMLNames; | 
|   37  |   37  | 
|   38 HTMLImageLoader::HTMLImageLoader(Element* element) |   38 HTMLImageLoader::HTMLImageLoader(Element* element) | 
|   39     : ImageLoader(element) |   39     : ImageLoader(element) | 
|   40 { |   40 { | 
|   41 } |   41 } | 
|   42  |   42  | 
|   43 HTMLImageLoader::~HTMLImageLoader() |   43 HTMLImageLoader::~HTMLImageLoader() | 
|   44 { |   44 { | 
|   45 } |   45 } | 
|   46  |   46  | 
|   47 void HTMLImageLoader::dispatchLoadEvent() |   47 void HTMLImageLoader::dispatchLoadEvent() | 
|   48 { |   48 { | 
|   49     WTF_LOG(ResourceLoading, "HTMLImageLoader::dispatchLoadEvent %p", this); |   49     RESOURCE_LOADING_DVLOG(1) << "HTMLImageLoader::dispatchLoadEvent " << this; | 
|   50  |   50  | 
|   51     // HTMLVideoElement uses this class to load the poster image, but it should 
     not fire events for loading or failure. |   51     // HTMLVideoElement uses this class to load the poster image, but it should 
     not fire events for loading or failure. | 
|   52     if (isHTMLVideoElement(*element())) |   52     if (isHTMLVideoElement(*element())) | 
|   53         return; |   53         return; | 
|   54  |   54  | 
|   55     bool errorOccurred = image()->errorOccurred(); |   55     bool errorOccurred = image()->errorOccurred(); | 
|   56     if (isHTMLObjectElement(*element()) && !errorOccurred) |   56     if (isHTMLObjectElement(*element()) && !errorOccurred) | 
|   57         errorOccurred = (image()->response().httpStatusCode() >= 400); // An <ob
     ject> considers a 404 to be an error and should fire onerror. |   57         errorOccurred = (image()->response().httpStatusCode() >= 400); // An <ob
     ject> considers a 404 to be an error and should fire onerror. | 
|   58     element()->dispatchEvent(Event::create(errorOccurred ? EventTypeNames::error
      : EventTypeNames::load)); |   58     element()->dispatchEvent(Event::create(errorOccurred ? EventTypeNames::error
      : EventTypeNames::load)); | 
|   59 } |   59 } | 
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   97     if ((loadError || cachedImage->response().httpStatusCode() >= 400) && isHTML
     ObjectElement(*element)) |   97     if ((loadError || cachedImage->response().httpStatusCode() >= 400) && isHTML
     ObjectElement(*element)) | 
|   98         toHTMLObjectElement(element)->renderFallbackContent(); |   98         toHTMLObjectElement(element)->renderFallbackContent(); | 
|   99 } |   99 } | 
|  100  |  100  | 
|  101 void HTMLImageLoader::ensureFallbackContent() |  101 void HTMLImageLoader::ensureFallbackContent() | 
|  102 { |  102 { | 
|  103     loadFallbackContentForElement(element()); |  103     loadFallbackContentForElement(element()); | 
|  104 } |  104 } | 
|  105  |  105  | 
|  106 } // namespace blink |  106 } // namespace blink | 
| OLD | NEW |