Diff
Modified: trunk/Source/WTF/ChangeLog (201204 => 201205)
--- trunk/Source/WTF/ChangeLog 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WTF/ChangeLog 2016-05-20 01:50:51 UTC (rev 201205)
@@ -1,3 +1,23 @@
+2016-05-19 Chris Dumez <[email protected]>
+
+ Improve compile-time assertions in is<>() / downcast<>()
+ https://bugs.webkit.org/show_bug.cgi?id=157817
+
+ Reviewed by Darin Adler.
+
+ * wtf/Ref.h:
+ (WTF::is):
+ Add is<>() overloads taking a Ref<>() so that is<>() keeps working when
+ passing a Ref<>(), despite the new static assertions on the input type.
+ Some call sites were already leveraging this as it was working by
+ implicitly converting the Ref<T> into a T&.
+
+ * wtf/TypeCasts.h:
+ (WTF::is):
+ (WTF::downcast):
+ Make static assertions stricter in is<>() / downcast<>() to catch more
+ cases where those are either unnecessary or incorrect.
+
2016-05-19 Filip Pizlo <[email protected]>
Unreviewed, fix all of the builds. I failed a second time.
Modified: trunk/Source/WTF/wtf/Ref.h (201204 => 201205)
--- trunk/Source/WTF/wtf/Ref.h 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WTF/wtf/Ref.h 2016-05-20 01:50:51 UTC (rev 201205)
@@ -30,6 +30,7 @@
#include <wtf/GetPtr.h>
#include <wtf/Noncopyable.h>
#include <wtf/StdLibExtras.h>
+#include <wtf/TypeCasts.h>
#if ASAN_ENABLED
extern "C" void __asan_poison_memory_region(void const volatile *addr, size_t size);
@@ -193,6 +194,16 @@
}
+template<typename ExpectedType, typename ArgType> inline bool is(Ref<ArgType>& source)
+{
+ return is<ExpectedType>(source.get());
+}
+
+template<typename ExpectedType, typename ArgType> inline bool is(const Ref<ArgType>& source)
+{
+ return is<ExpectedType>(source.get());
+}
+
} // namespace WTF
using WTF::Ref;
Modified: trunk/Source/WTF/wtf/TypeCasts.h (201204 => 201205)
--- trunk/Source/WTF/wtf/TypeCasts.h 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WTF/wtf/TypeCasts.h 2016-05-20 01:50:51 UTC (rev 201205)
@@ -55,14 +55,14 @@
template <typename ExpectedType, typename ArgType>
inline bool is(ArgType& source)
{
- static_assert(!std::is_base_of<ExpectedType, ArgType>::value, "Unnecessary type check");
+ static_assert(std::is_base_of<ArgType, ExpectedType>::value, "Unnecessary type check");
return TypeCastTraits<const ExpectedType, const ArgType>::isOfType(source);
}
template <typename ExpectedType, typename ArgType>
inline bool is(ArgType* source)
{
- static_assert(!std::is_base_of<ExpectedType, ArgType>::value, "Unnecessary type check");
+ static_assert(std::is_base_of<ArgType, ExpectedType>::value, "Unnecessary type check");
return source && TypeCastTraits<const ExpectedType, const ArgType>::isOfType(*source);
}
@@ -76,14 +76,16 @@
template<typename Target, typename Source>
inline typename match_constness<Source, Target>::type& downcast(Source& source)
{
- static_assert(!std::is_base_of<Target, Source>::value, "Unnecessary cast");
+ static_assert(!std::is_same<Source, Target>::value, "Unnecessary cast to same type");
+ static_assert(std::is_base_of<Source, Target>::value, "Should be a downcast");
ASSERT_WITH_SECURITY_IMPLICATION(is<Target>(source));
return static_cast<typename match_constness<Source, Target>::type&>(source);
}
template<typename Target, typename Source>
inline typename match_constness<Source, Target>::type* downcast(Source* source)
{
- static_assert(!std::is_base_of<Target, Source>::value, "Unnecessary cast");
+ static_assert(!std::is_same<Source, Target>::value, "Unnecessary cast to same type");
+ static_assert(std::is_base_of<Source, Target>::value, "Should be a downcast");
ASSERT_WITH_SECURITY_IMPLICATION(!source || is<Target>(*source));
return static_cast<typename match_constness<Source, Target>::type*>(source);
}
Modified: trunk/Source/WebCore/ChangeLog (201204 => 201205)
--- trunk/Source/WebCore/ChangeLog 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/ChangeLog 2016-05-20 01:50:51 UTC (rev 201205)
@@ -1,3 +1,66 @@
+2016-05-19 Chris Dumez <[email protected]>
+
+ Improve compile-time assertions in is<>() / downcast<>()
+ https://bugs.webkit.org/show_bug.cgi?id=157817
+
+ Reviewed by Darin Adler.
+
+ Add missing includes and drop unnecessary is<WebVTTElement>() check
+ in SharingResolver::canShareStyleWithElement() that was identified
+ by the new assertions. WebVTTElement inherits Element but the check
+ was done on a StyledElement.
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ * accessibility/AccessibilitySVGElement.cpp:
+ * css/CSSDefaultStyleSheets.cpp:
+ * css/CSSParser.cpp:
+ * css/CSSStyleSheet.cpp:
+ * css/StyleResolver.cpp:
+ * cssjit/SelectorCompiler.cpp:
+ * dom/Document.cpp:
+ * dom/Element.cpp:
+ * dom/Node.cpp:
+ * dom/Position.cpp:
+ * editing/ApplyStyleCommand.cpp:
+ * editing/FrameSelection.cpp:
+ * editing/ReplaceSelectionCommand.cpp:
+ * editing/TextIterator.cpp:
+ * editing/VisiblePosition.cpp:
+ * editing/VisibleUnits.cpp:
+ * editing/cocoa/HTMLConverter.mm:
+ * editing/htmlediting.cpp:
+ * editing/markup.cpp:
+ * html/GenericCachedHTMLCollection.cpp:
+ * html/HTMLBodyElement.cpp:
+ * html/HTMLFormElement.cpp:
+ * html/HTMLLIElement.cpp:
+ * html/HTMLNameCollection.cpp:
+ * html/HTMLSelectElement.cpp:
+ * html/parser/HTMLTreeBuilder.cpp:
+ * inspector/InspectorDOMAgent.cpp:
+ * inspector/InspectorStyleSheet.cpp:
+ * loader/SubframeLoader.cpp:
+ * loader/archive/cf/LegacyWebArchive.cpp:
+ * mathml/MathMLElement.cpp:
+ * page/EventHandler.cpp:
+ * page/FrameView.cpp:
+ * page/PageSerializer.cpp:
+ * page/SpatialNavigation.cpp:
+ * page/mac/EventHandlerMac.mm:
+ * rendering/HitTestResult.cpp:
+ * rendering/RenderBlockFlow.cpp:
+ * rendering/RenderBox.cpp:
+ * rendering/RenderBoxModelObject.cpp:
+ * rendering/RenderElement.cpp:
+ * rendering/RenderFieldset.cpp:
+ * rendering/RenderLayer.cpp:
+ * rendering/svg/RenderSVGTransformableContainer.cpp:
+ * style/StyleSharingResolver.cpp:
+ (WebCore::Style::SharingResolver::canShareStyleWithElement):
+ * svg/SVGAnimationElement.cpp:
+ * svg/SVGFELightElement.cpp:
+ * svg/SVGTextPositioningElement.cpp:
+
2016-05-19 Zalan Bujtas <[email protected]>
Cleanup RenderObject::container()
Modified: trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp (201204 => 201205)
--- trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -45,17 +45,20 @@
#include "FrameSelection.h"
#include "HTMLAreaElement.h"
#include "HTMLAudioElement.h"
+#include "HTMLDetailsElement.h"
#include "HTMLFormElement.h"
#include "HTMLFrameElementBase.h"
#include "HTMLImageElement.h"
#include "HTMLInputElement.h"
#include "HTMLLabelElement.h"
#include "HTMLMapElement.h"
+#include "HTMLMeterElement.h"
#include "HTMLNames.h"
#include "HTMLOptGroupElement.h"
#include "HTMLOptionElement.h"
#include "HTMLOptionsCollection.h"
#include "HTMLSelectElement.h"
+#include "HTMLSummaryElement.h"
#include "HTMLTableElement.h"
#include "HTMLTextAreaElement.h"
#include "HTMLVideoElement.h"
Modified: trunk/Source/WebCore/accessibility/AccessibilitySVGElement.cpp (201204 => 201205)
--- trunk/Source/WebCore/accessibility/AccessibilitySVGElement.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/accessibility/AccessibilitySVGElement.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -34,7 +34,9 @@
#include "Language.h"
#include "RenderIterator.h"
#include "RenderText.h"
+#include "SVGAElement.h"
#include "SVGDescElement.h"
+#include "SVGGElement.h"
#include "SVGTitleElement.h"
#include "SVGUseElement.h"
#include "XLinkNames.h"
Modified: trunk/Source/WebCore/css/CSSDefaultStyleSheets.cpp (201204 => 201205)
--- trunk/Source/WebCore/css/CSSDefaultStyleSheets.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/css/CSSDefaultStyleSheets.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -34,6 +34,13 @@
#include "HTMLAnchorElement.h"
#include "HTMLAudioElement.h"
#include "HTMLBRElement.h"
+#include "HTMLBodyElement.h"
+#include "HTMLDivElement.h"
+#include "HTMLEmbedElement.h"
+#include "HTMLHeadElement.h"
+#include "HTMLHtmlElement.h"
+#include "HTMLObjectElement.h"
+#include "HTMLSpanElement.h"
#include "MathMLElement.h"
#include "MediaQueryEvaluator.h"
#include "Page.h"
Modified: trunk/Source/WebCore/css/CSSParser.cpp (201204 => 201205)
--- trunk/Source/WebCore/css/CSSParser.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/css/CSSParser.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -73,6 +73,7 @@
#include "Document.h"
#include "FloatConversion.h"
#include "GridArea.h"
+#include "HTMLOptGroupElement.h"
#include "HTMLParserIdioms.h"
#include "HashTools.h"
#include "MediaList.h"
Modified: trunk/Source/WebCore/css/CSSStyleSheet.cpp (201204 => 201205)
--- trunk/Source/WebCore/css/CSSStyleSheet.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/css/CSSStyleSheet.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -33,6 +33,7 @@
#include "Document.h"
#include "ExceptionCode.h"
#include "ExtensionStyleSheets.h"
+#include "HTMLLinkElement.h"
#include "HTMLNames.h"
#include "HTMLStyleElement.h"
#include "MediaList.h"
Modified: trunk/Source/WebCore/css/StyleResolver.cpp (201204 => 201205)
--- trunk/Source/WebCore/css/StyleResolver.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/css/StyleResolver.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -77,10 +77,12 @@
#include "HTMLDocument.h"
#include "HTMLIFrameElement.h"
#include "HTMLInputElement.h"
+#include "HTMLMarqueeElement.h"
#include "HTMLNames.h"
#include "HTMLOptGroupElement.h"
#include "HTMLOptionElement.h"
#include "HTMLProgressElement.h"
+#include "HTMLSlotElement.h"
#include "HTMLStyleElement.h"
#include "HTMLTableElement.h"
#include "HTMLTextAreaElement.h"
Modified: trunk/Source/WebCore/cssjit/SelectorCompiler.cpp (201204 => 201205)
--- trunk/Source/WebCore/cssjit/SelectorCompiler.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/cssjit/SelectorCompiler.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -37,6 +37,7 @@
#include "FunctionCall.h"
#include "HTMLDocument.h"
#include "HTMLNames.h"
+#include "HTMLOptGroupElement.h"
#include "HTMLParserIdioms.h"
#include "InspectorInstrumentation.h"
#include "NodeRenderStyle.h"
Modified: trunk/Source/WebCore/dom/Document.cpp (201204 => 201205)
--- trunk/Source/WebCore/dom/Document.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/dom/Document.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -79,6 +79,7 @@
#include "HTMLFrameOwnerElement.h"
#include "HTMLFrameSetElement.h"
#include "HTMLHeadElement.h"
+#include "HTMLHtmlElement.h"
#include "HTMLIFrameElement.h"
#include "HTMLImageElement.h"
#include "HTMLLinkElement.h"
Modified: trunk/Source/WebCore/dom/Element.cpp (201204 => 201205)
--- trunk/Source/WebCore/dom/Element.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/dom/Element.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -53,8 +53,12 @@
#include "HTMLCanvasElement.h"
#include "HTMLCollection.h"
#include "HTMLDocument.h"
+#include "HTMLEmbedElement.h"
+#include "HTMLHtmlElement.h"
+#include "HTMLIFrameElement.h"
#include "HTMLLabelElement.h"
#include "HTMLNameCollection.h"
+#include "HTMLObjectElement.h"
#include "HTMLParserIdioms.h"
#include "HTMLSelectElement.h"
#include "HTMLTemplateElement.h"
@@ -81,6 +85,7 @@
#include "SVGDocumentExtensions.h"
#include "SVGElement.h"
#include "SVGNames.h"
+#include "SVGSVGElement.h"
#include "ScrollLatchingState.h"
#include "SelectorQuery.h"
#include "Settings.h"
Modified: trunk/Source/WebCore/dom/Node.cpp (201204 => 201205)
--- trunk/Source/WebCore/dom/Node.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/dom/Node.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -42,6 +42,7 @@
#include "EventDispatcher.h"
#include "EventHandler.h"
#include "FrameView.h"
+#include "HTMLBodyElement.h"
#include "HTMLCollection.h"
#include "HTMLElement.h"
#include "HTMLImageElement.h"
Modified: trunk/Source/WebCore/dom/Position.cpp (201204 => 201205)
--- trunk/Source/WebCore/dom/Position.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/dom/Position.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -27,6 +27,9 @@
#include "Position.h"
#include "CSSComputedStyleDeclaration.h"
+#include "HTMLBRElement.h"
+#include "HTMLBodyElement.h"
+#include "HTMLHtmlElement.h"
#include "HTMLNames.h"
#include "HTMLTableElement.h"
#include "InlineElementBox.h"
Modified: trunk/Source/WebCore/editing/ApplyStyleCommand.cpp (201204 => 201205)
--- trunk/Source/WebCore/editing/ApplyStyleCommand.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/editing/ApplyStyleCommand.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -34,6 +34,7 @@
#include "ElementIterator.h"
#include "Frame.h"
#include "HTMLFontElement.h"
+#include "HTMLIFrameElement.h"
#include "HTMLInterchange.h"
#include "HTMLNames.h"
#include "HTMLSpanElement.h"
Modified: trunk/Source/WebCore/editing/FrameSelection.cpp (201204 => 201205)
--- trunk/Source/WebCore/editing/FrameSelection.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/editing/FrameSelection.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -45,7 +45,8 @@
#include "GraphicsContext.h"
#include "HTMLBodyElement.h"
#include "HTMLFormElement.h"
-#include "HTMLFrameElementBase.h"
+#include "HTMLFrameElement.h"
+#include "HTMLIFrameElement.h"
#include "HTMLInputElement.h"
#include "HTMLNames.h"
#include "HTMLSelectElement.h"
Modified: trunk/Source/WebCore/editing/ReplaceSelectionCommand.cpp (201204 => 201205)
--- trunk/Source/WebCore/editing/ReplaceSelectionCommand.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/editing/ReplaceSelectionCommand.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -40,9 +40,13 @@
#include "Frame.h"
#include "FrameSelection.h"
#include "HTMLBRElement.h"
+#include "HTMLBaseElement.h"
#include "HTMLInputElement.h"
#include "HTMLLIElement.h"
+#include "HTMLLinkElement.h"
+#include "HTMLMetaElement.h"
#include "HTMLNames.h"
+#include "HTMLStyleElement.h"
#include "HTMLTitleElement.h"
#include "NodeList.h"
#include "NodeRenderStyle.h"
Modified: trunk/Source/WebCore/editing/TextIterator.cpp (201204 => 201205)
--- trunk/Source/WebCore/editing/TextIterator.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/editing/TextIterator.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -31,9 +31,14 @@
#include "ExceptionCodePlaceholder.h"
#include "FontCascade.h"
#include "Frame.h"
+#include "HTMLBodyElement.h"
#include "HTMLElement.h"
+#include "HTMLInputElement.h"
+#include "HTMLLegendElement.h"
+#include "HTMLMeterElement.h"
#include "HTMLNames.h"
#include "HTMLParagraphElement.h"
+#include "HTMLProgressElement.h"
#include "HTMLTextFormControlElement.h"
#include "InlineTextBox.h"
#include "NodeTraversal.h"
@@ -263,7 +268,7 @@
if (is<Element>(renderer->node())) {
Element& element = downcast<Element>(*renderer->node());
- if (is<HTMLFormControlElement>(element) || is<HTMLLegendElement>(element) || is<HTMLMeterElement>(element) || is<HTMLProgressElement>(element))
+ if (is<HTMLFormControlElement>(element) || is<HTMLLegendElement>(element) || is<HTMLProgressElement>(element) || element.hasTagName(meterTag))
return true;
if (equalLettersIgnoringASCIICase(element.fastGetAttribute(roleAttr), "img"))
return true;
Modified: trunk/Source/WebCore/editing/VisiblePosition.cpp (201204 => 201205)
--- trunk/Source/WebCore/editing/VisiblePosition.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/editing/VisiblePosition.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -30,6 +30,7 @@
#include "Document.h"
#include "FloatQuad.h"
#include "HTMLElement.h"
+#include "HTMLHtmlElement.h"
#include "HTMLNames.h"
#include "InlineTextBox.h"
#include "Logging.h"
Modified: trunk/Source/WebCore/editing/VisibleUnits.cpp (201204 => 201205)
--- trunk/Source/WebCore/editing/VisibleUnits.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/editing/VisibleUnits.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -27,6 +27,7 @@
#include "VisibleUnits.h"
#include "Document.h"
+#include "HTMLBRElement.h"
#include "HTMLElement.h"
#include "HTMLNames.h"
#include "InlineTextBox.h"
Modified: trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm (201204 => 201205)
--- trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm 2016-05-20 01:50:51 UTC (rev 201205)
@@ -43,7 +43,8 @@
#import "FrameLoader.h"
#import "HTMLAttachmentElement.h"
#import "HTMLElement.h"
-#import "HTMLFrameElementBase.h"
+#import "HTMLFrameElement.h"
+#import "HTMLIFrameElement.h"
#import "HTMLImageElement.h"
#import "HTMLInputElement.h"
#import "HTMLMetaElement.h"
Modified: trunk/Source/WebCore/editing/gtk/EditorGtk.cpp (201204 => 201205)
--- trunk/Source/WebCore/editing/gtk/EditorGtk.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/editing/gtk/EditorGtk.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -31,13 +31,16 @@
#include "DataObjectGtk.h"
#include "DocumentFragment.h"
#include "Frame.h"
+#include "HTMLEmbedElement.h"
#include "HTMLImageElement.h"
#include "HTMLInputElement.h"
#include "HTMLNames.h"
+#include "HTMLObjectElement.h"
#include "HTMLParserIdioms.h"
#include "Pasteboard.h"
#include "RenderImage.h"
#include "SVGElement.h"
+#include "SVGImageElement.h"
#include "XLinkNames.h"
#include "markup.h"
Modified: trunk/Source/WebCore/editing/htmlediting.cpp (201204 => 201205)
--- trunk/Source/WebCore/editing/htmlediting.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/editing/htmlediting.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -32,6 +32,8 @@
#include "ExceptionCodePlaceholder.h"
#include "Frame.h"
#include "HTMLBRElement.h"
+#include "HTMLBodyElement.h"
+#include "HTMLDListElement.h"
#include "HTMLDivElement.h"
#include "HTMLElementFactory.h"
#include "HTMLInterchange.h"
Modified: trunk/Source/WebCore/editing/markup.cpp (201204 => 201205)
--- trunk/Source/WebCore/editing/markup.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/editing/markup.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -47,6 +47,8 @@
#include "HTMLBRElement.h"
#include "HTMLBodyElement.h"
#include "HTMLDivElement.h"
+#include "HTMLHeadElement.h"
+#include "HTMLHtmlElement.h"
#include "HTMLNames.h"
#include "HTMLTableElement.h"
#include "HTMLTextAreaElement.h"
Modified: trunk/Source/WebCore/html/GenericCachedHTMLCollection.cpp (201204 => 201205)
--- trunk/Source/WebCore/html/GenericCachedHTMLCollection.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/html/GenericCachedHTMLCollection.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -26,6 +26,7 @@
#include "config.h"
#include "GenericCachedHTMLCollection.h"
+#include "HTMLAppletElement.h"
#include "HTMLNames.h"
#include "HTMLObjectElement.h"
#include "HTMLOptionElement.h"
Modified: trunk/Source/WebCore/html/HTMLBodyElement.cpp (201204 => 201205)
--- trunk/Source/WebCore/html/HTMLBodyElement.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/html/HTMLBodyElement.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -30,7 +30,8 @@
#include "EventNames.h"
#include "Frame.h"
#include "FrameView.h"
-#include "HTMLFrameElementBase.h"
+#include "HTMLFrameElement.h"
+#include "HTMLIFrameElement.h"
#include "HTMLNames.h"
#include "HTMLParserIdioms.h"
#include "Page.h"
Modified: trunk/Source/WebCore/html/HTMLFormElement.cpp (201204 => 201205)
--- trunk/Source/WebCore/html/HTMLFormElement.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/html/HTMLFormElement.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -37,10 +37,12 @@
#include "Frame.h"
#include "FrameLoader.h"
#include "FrameLoaderClient.h"
+#include "HTMLFieldSetElement.h"
#include "HTMLFormControlsCollection.h"
#include "HTMLImageElement.h"
#include "HTMLInputElement.h"
#include "HTMLNames.h"
+#include "HTMLObjectElement.h"
#include "HTMLTableElement.h"
#include "NodeRareData.h"
#include "Page.h"
Modified: trunk/Source/WebCore/html/HTMLLIElement.cpp (201204 => 201205)
--- trunk/Source/WebCore/html/HTMLLIElement.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/html/HTMLLIElement.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -28,6 +28,8 @@
#include "CSSValueKeywords.h"
#include "ElementAncestorIterator.h"
#include "HTMLNames.h"
+#include "HTMLOListElement.h"
+#include "HTMLUListElement.h"
#include "RenderListItem.h"
namespace WebCore {
Modified: trunk/Source/WebCore/html/HTMLNameCollection.cpp (201204 => 201205)
--- trunk/Source/WebCore/html/HTMLNameCollection.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/html/HTMLNameCollection.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -24,8 +24,11 @@
#include "HTMLNameCollection.h"
#include "Element.h"
+#include "HTMLAppletElement.h"
#include "HTMLDocument.h"
+#include "HTMLEmbedElement.h"
#include "HTMLFormElement.h"
+#include "HTMLIFrameElement.h"
#include "HTMLImageElement.h"
#include "HTMLNames.h"
#include "HTMLObjectElement.h"
Modified: trunk/Source/WebCore/html/HTMLSelectElement.cpp (201204 => 201205)
--- trunk/Source/WebCore/html/HTMLSelectElement.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/html/HTMLSelectElement.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -40,6 +40,7 @@
#include "Frame.h"
#include "GenericCachedHTMLCollection.h"
#include "HTMLFormElement.h"
+#include "HTMLHRElement.h"
#include "HTMLNames.h"
#include "HTMLOptGroupElement.h"
#include "HTMLOptionElement.h"
Modified: trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp (201204 => 201205)
--- trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -33,7 +33,9 @@
#include "HTMLFormControlElement.h"
#include "HTMLFormElement.h"
#include "HTMLOptGroupElement.h"
+#include "HTMLOptionElement.h"
#include "HTMLParserIdioms.h"
+#include "HTMLTableElement.h"
#include "JSCustomElementInterface.h"
#include "LocalizedStrings.h"
#include "NotImplemented.h"
Modified: trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp (201204 => 201205)
--- trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -61,6 +61,8 @@
#include "HTMLElement.h"
#include "HTMLFrameOwnerElement.h"
#include "HTMLNames.h"
+#include "HTMLScriptElement.h"
+#include "HTMLStyleElement.h"
#include "HTMLTemplateElement.h"
#include "HitTestResult.h"
#include "InspectorClient.h"
Modified: trunk/Source/WebCore/inspector/InspectorStyleSheet.cpp (201204 => 201205)
--- trunk/Source/WebCore/inspector/InspectorStyleSheet.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/inspector/InspectorStyleSheet.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -48,6 +48,7 @@
#include "Node.h"
#include "SVGElement.h"
#include "SVGNames.h"
+#include "SVGStyleElement.h"
#include "StyleProperties.h"
#include "StyleResolver.h"
#include "StyleRule.h"
Modified: trunk/Source/WebCore/loader/SubframeLoader.cpp (201204 => 201205)
--- trunk/Source/WebCore/loader/SubframeLoader.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/loader/SubframeLoader.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -43,7 +43,8 @@
#include "FrameLoaderClient.h"
#include "HTMLAppletElement.h"
#include "HTMLAudioElement.h"
-#include "HTMLFrameElementBase.h"
+#include "HTMLFrameElement.h"
+#include "HTMLIFrameElement.h"
#include "HTMLNames.h"
#include "HTMLObjectElement.h"
#include "MIMETypeRegistry.h"
Modified: trunk/Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp (201204 => 201205)
--- trunk/Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -36,9 +36,11 @@
#include "FrameLoader.h"
#include "FrameSelection.h"
#include "FrameTree.h"
-#include "HTMLFrameElementBase.h"
+#include "HTMLFrameElement.h"
#include "HTMLFrameOwnerElement.h"
+#include "HTMLIFrameElement.h"
#include "HTMLNames.h"
+#include "HTMLObjectElement.h"
#include "IconDatabase.h"
#include "Image.h"
#include "URLHash.h"
Modified: trunk/Source/WebCore/mathml/MathMLElement.cpp (201204 => 201205)
--- trunk/Source/WebCore/mathml/MathMLElement.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/mathml/MathMLElement.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -33,14 +33,17 @@
#include "ElementIterator.h"
#include "HTMLElement.h"
+#include "HTMLHtmlElement.h"
#include "HTMLMapElement.h"
#include "HTMLNames.h"
#include "HTMLParserIdioms.h"
+#include "MathMLMathElement.h"
#include "MathMLNames.h"
#include "MathMLSelectElement.h"
#include "RenderTableCell.h"
#include "SVGElement.h"
#include "SVGNames.h"
+#include "SVGSVGElement.h"
namespace WebCore {
Modified: trunk/Source/WebCore/page/EventHandler.cpp (201204 => 201205)
--- trunk/Source/WebCore/page/EventHandler.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/page/EventHandler.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -52,9 +52,10 @@
#include "FrameSelection.h"
#include "FrameTree.h"
#include "FrameView.h"
-#include "htmlediting.h"
-#include "HTMLFrameElementBase.h"
+#include "HTMLFrameElement.h"
#include "HTMLFrameSetElement.h"
+#include "HTMLHtmlElement.h"
+#include "HTMLIFrameElement.h"
#include "HTMLInputElement.h"
#include "HTMLNames.h"
#include "HitTestRequest.h"
@@ -94,6 +95,7 @@
#include "VisibleUnits.h"
#include "WheelEvent.h"
#include "WindowsKeyboardCodes.h"
+#include "htmlediting.h"
#include <wtf/Assertions.h>
#include <wtf/CurrentTime.h>
#include <wtf/NeverDestroyed.h>
Modified: trunk/Source/WebCore/page/FrameView.cpp (201204 => 201205)
--- trunk/Source/WebCore/page/FrameView.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/page/FrameView.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -47,9 +47,13 @@
#include "GraphicsContext.h"
#include "HTMLBodyElement.h"
#include "HTMLDocument.h"
+#include "HTMLEmbedElement.h"
#include "HTMLFrameElement.h"
#include "HTMLFrameSetElement.h"
+#include "HTMLHtmlElement.h"
+#include "HTMLIFrameElement.h"
#include "HTMLNames.h"
+#include "HTMLObjectElement.h"
#include "HTMLPlugInImageElement.h"
#include "ImageDocument.h"
#include "InspectorClient.h"
Modified: trunk/Source/WebCore/page/PageSerializer.cpp (201204 => 201205)
--- trunk/Source/WebCore/page/PageSerializer.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/page/PageSerializer.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -44,6 +44,7 @@
#include "HTMLLinkElement.h"
#include "HTMLMetaCharsetParser.h"
#include "HTMLNames.h"
+#include "HTMLObjectElement.h"
#include "HTMLStyleElement.h"
#include "HTTPParsers.h"
#include "Image.h"
Modified: trunk/Source/WebCore/page/SpatialNavigation.cpp (201204 => 201205)
--- trunk/Source/WebCore/page/SpatialNavigation.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/page/SpatialNavigation.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -35,6 +35,7 @@
#include "HTMLImageElement.h"
#include "HTMLMapElement.h"
#include "HTMLNames.h"
+#include "HTMLSelectElement.h"
#include "IntRect.h"
#include "MainFrame.h"
#include "Node.h"
Modified: trunk/Source/WebCore/page/mac/EventHandlerMac.mm (201204 => 201205)
--- trunk/Source/WebCore/page/mac/EventHandlerMac.mm 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/page/mac/EventHandlerMac.mm 2016-05-20 01:50:51 UTC (rev 201205)
@@ -38,7 +38,10 @@
#include "Frame.h"
#include "FrameLoader.h"
#include "FrameView.h"
+#include "HTMLBodyElement.h"
#include "HTMLDocument.h"
+#include "HTMLFrameSetElement.h"
+#include "HTMLHtmlElement.h"
#include "HTMLIFrameElement.h"
#include "KeyboardEvent.h"
#include "MainFrame.h"
Modified: trunk/Source/WebCore/rendering/HitTestResult.cpp (201204 => 201205)
--- trunk/Source/WebCore/rendering/HitTestResult.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/rendering/HitTestResult.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -33,10 +33,12 @@
#include "HTMLAreaElement.h"
#include "HTMLAttachmentElement.h"
#include "HTMLAudioElement.h"
+#include "HTMLEmbedElement.h"
#include "HTMLImageElement.h"
#include "HTMLInputElement.h"
#include "HTMLMediaElement.h"
#include "HTMLNames.h"
+#include "HTMLObjectElement.h"
#include "HTMLParserIdioms.h"
#include "HTMLPlugInImageElement.h"
#include "HTMLTextAreaElement.h"
Modified: trunk/Source/WebCore/rendering/RenderBlockFlow.cpp (201204 => 201205)
--- trunk/Source/WebCore/rendering/RenderBlockFlow.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/rendering/RenderBlockFlow.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -29,6 +29,8 @@
#include "Frame.h"
#include "FrameSelection.h"
#include "HTMLElement.h"
+#include "HTMLInputElement.h"
+#include "HTMLTextAreaElement.h"
#include "HitTestLocation.h"
#include "InlineTextBox.h"
#include "LayoutRepainter.h"
Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (201204 => 201205)
--- trunk/Source/WebCore/rendering/RenderBox.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -35,12 +35,15 @@
#include "Frame.h"
#include "FrameView.h"
#include "GraphicsContext.h"
+#include "HTMLAnchorElement.h"
#include "HTMLBodyElement.h"
#include "HTMLButtonElement.h"
#include "HTMLFrameOwnerElement.h"
#include "HTMLHtmlElement.h"
#include "HTMLInputElement.h"
+#include "HTMLLegendElement.h"
#include "HTMLNames.h"
+#include "HTMLSelectElement.h"
#include "HTMLTextAreaElement.h"
#include "HitTestResult.h"
#include "InlineElementBox.h"
Modified: trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp (201204 => 201205)
--- trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -33,6 +33,7 @@
#include "GeometryUtilities.h"
#include "GraphicsContext.h"
#include "HTMLFrameOwnerElement.h"
+#include "HTMLFrameSetElement.h"
#include "HTMLNames.h"
#include "ImageBuffer.h"
#include "ImageQualityController.h"
Modified: trunk/Source/WebCore/rendering/RenderElement.cpp (201204 => 201205)
--- trunk/Source/WebCore/rendering/RenderElement.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/rendering/RenderElement.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -35,6 +35,7 @@
#include "FocusController.h"
#include "Frame.h"
#include "FrameSelection.h"
+#include "HTMLAnchorElement.h"
#include "HTMLBodyElement.h"
#include "HTMLHtmlElement.h"
#include "HTMLNames.h"
Modified: trunk/Source/WebCore/rendering/RenderFieldset.cpp (201204 => 201205)
--- trunk/Source/WebCore/rendering/RenderFieldset.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/rendering/RenderFieldset.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -27,6 +27,7 @@
#include "CSSPropertyNames.h"
#include "GraphicsContext.h"
#include "HTMLFieldSetElement.h"
+#include "HTMLLegendElement.h"
#include "HTMLNames.h"
#include "PaintInfo.h"
#include "RenderChildIterator.h"
Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (201204 => 201205)
--- trunk/Source/WebCore/rendering/RenderLayer.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -74,6 +74,7 @@
#include "HTMLFormControlElement.h"
#include "HTMLFrameElement.h"
#include "HTMLFrameOwnerElement.h"
+#include "HTMLIFrameElement.h"
#include "HTMLNames.h"
#include "HitTestingTransformState.h"
#include "HitTestRequest.h"
Modified: trunk/Source/WebCore/rendering/svg/RenderSVGTransformableContainer.cpp (201204 => 201205)
--- trunk/Source/WebCore/rendering/svg/RenderSVGTransformableContainer.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGTransformableContainer.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -22,6 +22,7 @@
#include "config.h"
#include "RenderSVGTransformableContainer.h"
+#include "SVGGElement.h"
#include "SVGNames.h"
#include "SVGUseElement.h"
Modified: trunk/Source/WebCore/style/StyleSharingResolver.cpp (201204 => 201205)
--- trunk/Source/WebCore/style/StyleSharingResolver.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/style/StyleSharingResolver.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -290,12 +290,6 @@
return false;
#endif
-#if ENABLE(VIDEO_TRACK)
- // Deny sharing styles between WebVTT and non-WebVTT nodes.
- if (is<WebVTTElement>(element))
- return false;
-#endif
-
#if ENABLE(FULLSCREEN_API)
if (&element == m_document.webkitCurrentFullScreenElement() || &element == m_document.webkitCurrentFullScreenElement())
return false;
Modified: trunk/Source/WebCore/style/StyleTreeResolver.cpp (201204 => 201205)
--- trunk/Source/WebCore/style/StyleTreeResolver.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/style/StyleTreeResolver.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -33,6 +33,7 @@
#include "ElementIterator.h"
#include "HTMLBodyElement.h"
#include "HTMLMeterElement.h"
+#include "HTMLNames.h"
#include "HTMLProgressElement.h"
#include "HTMLSlotElement.h"
#include "LoaderStrategy.h"
@@ -221,7 +222,7 @@
m_document.setTextColor(update.style->visitedDependentColor(CSSPropertyColor));
// FIXME: These elements should not change renderer based on appearance property.
- if (is<HTMLMeterElement>(element) || is<HTMLProgressElement>(element)) {
+ if (element.hasTagName(HTMLNames::meterTag) || is<HTMLProgressElement>(element)) {
if (existingStyle && update.style->appearance() != existingStyle->appearance())
update.change = Detach;
}
Modified: trunk/Source/WebCore/svg/SVGAnimationElement.cpp (201204 => 201205)
--- trunk/Source/WebCore/svg/SVGAnimationElement.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/svg/SVGAnimationElement.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -32,6 +32,7 @@
#include "Document.h"
#include "FloatConversion.h"
#include "RenderObject.h"
+#include "SVGAnimateColorElement.h"
#include "SVGAnimateElement.h"
#include "SVGElement.h"
#include "SVGNames.h"
Modified: trunk/Source/WebCore/svg/SVGFELightElement.cpp (201204 => 201205)
--- trunk/Source/WebCore/svg/SVGFELightElement.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/svg/SVGFELightElement.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -26,7 +26,10 @@
#include "RenderObject.h"
#include "RenderSVGResource.h"
#include "SVGFEDiffuseLightingElement.h"
+#include "SVGFEDistantLightElement.h"
+#include "SVGFEPointLightElement.h"
#include "SVGFESpecularLightingElement.h"
+#include "SVGFESpotLightElement.h"
#include "SVGFilterElement.h"
#include "SVGFilterPrimitiveStandardAttributes.h"
#include "SVGNames.h"
Modified: trunk/Source/WebCore/svg/SVGTextPositioningElement.cpp (201204 => 201205)
--- trunk/Source/WebCore/svg/SVGTextPositioningElement.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebCore/svg/SVGTextPositioningElement.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -29,6 +29,9 @@
#include "SVGLengthList.h"
#include "SVGNames.h"
#include "SVGNumberList.h"
+#include "SVGTRefElement.h"
+#include "SVGTSpanElement.h"
+#include "SVGTextElement.h"
namespace WebCore {
Modified: trunk/Source/WebKit2/ChangeLog (201204 => 201205)
--- trunk/Source/WebKit2/ChangeLog 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebKit2/ChangeLog 2016-05-20 01:50:51 UTC (rev 201205)
@@ -1,3 +1,15 @@
+2016-05-19 Chris Dumez <[email protected]>
+
+ Improve compile-time assertions in is<>() / downcast<>()
+ https://bugs.webkit.org/show_bug.cgi?id=157817
+
+ Reviewed by Darin Adler.
+
+ Add missing includes.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ * WebProcess/WebPage/WebPage.cpp:
+
2016-05-19 Tim Horton <[email protected]>
Mail crashes under TiledCoreAnimationDrawingAreaProxy::createFenceForGeometryUpdate() when the Web process crashes
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebFrame.cpp (201204 => 201205)
--- trunk/Source/WebKit2/WebProcess/WebPage/WebFrame.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebFrame.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -61,6 +61,7 @@
#include <WebCore/HTMLFrameOwnerElement.h>
#include <WebCore/HTMLInputElement.h>
#include <WebCore/HTMLNames.h>
+#include <WebCore/HTMLSelectElement.h>
#include <WebCore/HTMLTextAreaElement.h>
#include <WebCore/ImageBuffer.h>
#include <WebCore/JSCSSStyleDeclaration.h>
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (201204 => 201205)
--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2016-05-20 01:22:31 UTC (rev 201204)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2016-05-20 01:50:51 UTC (rev 201205)
@@ -125,6 +125,7 @@
#include <WebCore/FrameLoaderTypes.h>
#include <WebCore/FrameView.h>
#include <WebCore/HTMLFormElement.h>
+#include <WebCore/HTMLImageElement.h>
#include <WebCore/HTMLInputElement.h>
#include <WebCore/HTMLPlugInElement.h>
#include <WebCore/HTMLPlugInImageElement.h>