Devirtualize isHTMLUnknownElement().
<https://webkit.org/b/131269>

We were hitting isHTMLUnknownElement() pretty hard when marking
out-of-document Nodes. (The check is part of isHTMLAudioElement()
which is called by JSNodeOwner::isReachableFromOpaqueRoots().)

This patch uses a Node flag for the unknown element instead.
I'm also adding HTMLUnknownElement.{h,idl} to the Xcode project
since they were suspiciously missing.

Reviewed by Benjamin Poulain.

* WebCore.xcodeproj/project.pbxproj:
* dom/Node.h:
* html/HTMLElement.h:
(WebCore::HTMLElement::isHTMLUnknownElement):
* html/HTMLUnknownElement.h:
(WebCore::toHTMLUnknownElement): Deleted.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166839 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Canvas strokeText and fillText with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
https://bugs.webkit.org/show_bug.cgi?id=66766

Reviewed by Andreas Kling.

Source/WebCore:

Use transparency layers to draw text with certain compositing modes on
the canvas. This follows the Canvas specification and makes WebKit fully
compatible with IE. It also makes it more compatible with Firefox, even though
Firefox still has some bugs.

Test: fast/canvas/canvas-composite-text-alpha.html

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawTextInternal):

LayoutTests:

330 tests check compositing on Canvas with text.

* fast/canvas/canvas-composite-text-alpha-expected.txt: Added.
* fast/canvas/canvas-composite-text-alpha.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166840 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove unused type casting helpers for HTMLUnknownElement...

...to fix the debug build.

* html/HTMLUnknownElement.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166841 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CMake] Include X11's include dirs in TestNetscapePlugin
https://bugs.webkit.org/show_bug.cgi?id=131270

Reviewed by Martin Robinson.

* DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt: Include X11_INCLUDE_DIR since
TestNetscapePlugin includes WebCore code that includes X headers.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166842 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Xcode] Clean up the platform/graphics group
https://bugs.webkit.org/show_bug.cgi?id=131271

Reviewed by Eric Carlson.

* WebCore.xcodeproj/project.pbxproj: Created an opentype group and moved opentype file
references into it. Removed duplicate file references.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166843 268f45cc-cd09-0410-ab3c-d52691b4dbfc