Unreviewed, add baselines for exif-orientation-image-document.

* platform/chromium-linux/platform/chromium/virtual/deferred/fast/images/exif-orientation-image-document-expected.png: Added.
* platform/chromium-mac-lion/platform/chromium/virtual/deferred/fast/images/exif-orientation-image-document-expected.png: Added.
* platform/chromium-mac-snowleopard/platform/chromium/virtual/deferred/fast/images/exif-orientation-image-document-expected.png: Added.
* platform/chromium-mac/platform/chromium/virtual/deferred/fast/images/exif-orientation-image-document-expected.png: Added.
* platform/chromium-win/platform/chromium/virtual/deferred/fast/images/exif-orientation-image-document-expected.png: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132901 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: adds isOwnProperty to remote protocol
https://bugs.webkit.org/show_bug.cgi?id=100664

Patch by Andrey Lushnikov <lushnikov@google.com> on 2012-10-30
Reviewed by Pavel Feldman.

Source/WebCore:

Test: inspector/runtime/runtime-getProperties-isOwnProperty.html

Adds requested 'isOwn' property to the 'PropertyDescriptor' class of the
remote debugging protocol.

* inspector/InjectedScriptSource.js:
(.):
* inspector/Inspector.json:

LayoutTests:

* inspector/runtime/runtime-getProperties-isOwnProperty-expected.txt: Added.
* inspector/runtime/runtime-getProperties-isOwnProperty.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132902 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Shaders] Reject vertex shaders with custom attributes
https://bugs.webkit.org/show_bug.cgi?id=98973

Patch by Max Vujovic <mvujovic@adobe.com> on 2012-10-30
Reviewed by Dean Jackson.

Source/WebCore:

Improved CSS Custom Filters shader validation. With this patch:
(1) Shaders with custom attributes do not execute (e.g. attribute float my_attribute;).
(2) Shaders with a_triangleCoord defined do not execute with an attached mesh.

Most of the changes are from renaming CustomFilterOperation::MeshType to
CustomFilterMeshType, and moving the enumeration to CustomFilterConstants.h. This avoids
pulling in CustomFilterOperation for classes that only care about the mesh type.

Note that in CSS Custom Filters, the a_triangleCoord attribute is only available in detached
meshes. In detached meshes, no vertices are shared between triangles. Thus, each vertex
belongs to a specific triangle, which a_triangleCoord identifies. In attached meshes,
vertices can belong to many triangles, which a_triangleCoord cannot identify because it's
only a vec3.

Tests:
Add two new checks to the test file:
    css3/filters/custom/invalid-custom-filter-attribute-types.html
Add two new shaders:
    css3/filters/resources/invalid-custom-attribute.vs
    css3/filters/resources/invalid-a-triangle-coord-with-attached-mesh.vs

* WebCore.xcodeproj/project.pbxproj:
    Update a broken reference to CustomFilterConstants.h in the Xcode project file.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::valueForFilter):
    Replace CustomFilterOperation::MeshType with CustomFilterMeshType.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::createCustomFilterOperation): Ditto.
* platform/graphics/filters/CustomFilterConstants.h:
    Add CustomFilterMeshType enum to share across the Custom Filters codebase, so that we
    don't have to include CustomFilterOperation just to access the old
    CustomFilterOperation::MeshType enum.
* platform/graphics/filters/CustomFilterMesh.cpp:
(WebCore::CustomFilterMesh::CustomFilterMesh):
    Replace CustomFilterOperation::MeshType with CustomFilterMeshType.
* platform/graphics/filters/CustomFilterMesh.h:
(WebCore::CustomFilterMesh::create): Ditto.
(WebCore::CustomFilterMesh::meshType): Ditto.
(CustomFilterMesh): Ditto.
* platform/graphics/filters/CustomFilterMeshGenerator.cpp: Ditto.
(WebCore::CustomFilterMeshGenerator::CustomFilterMeshGenerator): Ditto.
(WebCore::CustomFilterMeshGenerator::dumpBuffers): Ditto.
* platform/graphics/filters/CustomFilterMeshGenerator.h:
(CustomFilterMeshGenerator): Ditto.
(WebCore::CustomFilterMeshGenerator::floatsPerVertex): Ditto.
(WebCore::CustomFilterMeshGenerator::verticesCount): Ditto.
* platform/graphics/filters/CustomFilterOperation.cpp:
(WebCore::CustomFilterOperation::CustomFilterOperation): Ditto.
* platform/graphics/filters/CustomFilterOperation.h:
(WebCore::CustomFilterOperation::create): Ditto.
(WebCore::CustomFilterOperation::meshType): Ditto.
(CustomFilterOperation): Ditto.
* platform/graphics/filters/CustomFilterProgram.cpp:
(WebCore::CustomFilterProgram::CustomFilterProgram):
    Add a meshType constructor parameter because the program now needs to know the meshType
    to properly validate.
(WebCore::CustomFilterProgram::programInfo):
    Pass meshType to CustomFilterProgram constructor.
(WebCore::CustomFilterProgram::operator==):
    Check the meshType in the equals operator.
* platform/graphics/filters/CustomFilterProgram.h:
    Make vertexShaderString() and fragmentShaderString() public so that we don't have to ask
    for a programInfo object just to get the shader strings in
    CoordinatedGraphicsArgumentCoders.cpp.
* platform/graphics/filters/CustomFilterProgramInfo.cpp:
(WebCore::CustomFilterProgramInfo::CustomFilterProgramInfo):
    Add a meshType constructor parameter.
(WebCore::CustomFilterProgramInfo::hash):
    Include the meshType in the validated program hash, since the same shader code can pass
    or fail validation based on the meshType.
(WebCore::CustomFilterProgramInfo::operator==):
    Check the meshType in the equals operator.
* platform/graphics/filters/CustomFilterProgramInfo.h:
(CustomFilterProgramInfo):
    Update method prototype.
(WebCore::CustomFilterProgramInfo::meshType):
    Add meshType getter.
* platform/graphics/filters/CustomFilterValidatedProgram.cpp:
(WebCore::CustomFilterValidatedProgram::validateSymbols):
    If the author defines attribute that is is not found in the built-in attribute map,
    reject the shader.
    If the author defines a_triangleCoord without a detached mesh type, reject the shader.
    Also, make this previously file-static function into a method of
    CustomFilterValidatedProgram because it now needs to access the m_meshType.
* platform/graphics/filters/CustomFilterValidatedProgram.h:
(CustomFilterValidatedProgram):
    Add a meshType constructor parameter because the program now needs to know the meshType
    to properly validate.
* platform/graphics/filters/FECustomFilter.cpp:
(WebCore::FECustomFilter::FECustomFilter):
    Replace CustomFilterOperation::MeshType with CustomFilterMeshType.
(WebCore::FECustomFilter::create): Ditto.
(WebCore::FECustomFilter::bindProgramAndBuffers): Ditto.
(WebCore::FECustomFilter::unbindVertexAttributes): Ditto.
* platform/graphics/filters/FECustomFilter.h:
(FECustomFilter): Ditto.
* rendering/style/StyleCustomFilterProgram.h:
(WebCore::StyleCustomFilterProgram::create):
    Add a meshType constructor parameter.
(WebCore::StyleCustomFilterProgram::StyleCustomFilterProgram): Ditto.

Source/WebKit2:

Replace CustomFilterOperation::MeshType with CustomFilterMeshType from
CustomFilterConstants.h.

* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::::encode):
    Read the shader strings directly from the CustomFilterProgram instead of asking for a
    CustomFilterProgramInfo object. Also, encode the meshType earlier so that decoding can
    can use it to create a WebCustomFilterProgram, which now requires a meshType.
(CoreIPC::::decode):
    Decode the meshType earlier to pass it to the new WebCustomFilterProgram constructor.
* Shared/CoordinatedGraphics/WebCustomFilterProgram.h:
(WebKit::WebCustomFilterProgram::create):
    Add a meshType parameter to pass to the base class constructor.
(WebKit::WebCustomFilterProgram::WebCustomFilterProgram): Ditto.

LayoutTests:

Add checks to verify:
(1) Shaders with custom attributes do not execute (e.g. attribute float my_attribute;).
(2) Shaders with a_triangleCoord defined do not execute with an attached mesh.

Note that in CSS Custom Filters, the a_triangleCoord attribute is only available in detached
meshes. In detached meshes, no vertices are shared between triangles. Thus, each vertex
belongs to a specific triangle, which a_triangleCoord identifies. In attached meshes,
vertices can belong to many triangles, which a_triangleCoord cannot identify because it's
only a vec3.

CSS Filters Spec, Vertex Attributes:
https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#vertex-attribute-variables

* css3/filters/custom/invalid-custom-filter-attribute-types-expected.html:
* css3/filters/custom/invalid-custom-filter-attribute-types.html:
    Add two checks for two new vertex shaders. Update the a_triangleCoord type check to use
    a detached mesh, so the vertex shader fails to validate because a_triangleCoord is
    defined with an incorrect type, not because it defines a_triangleCoord in an attached
    mesh.
* css3/filters/resources/invalid-a-triangle-coord-with-attached-mesh.vs:
    Added. This vertex shader defines a_triangleCoord with the correct type. However, this
    shader is run with an an attached mesh, so it should not execute.
* css3/filters/resources/invalid-custom-attribute.vs:
    Added. This vertex shader defines a custom attribute. The associated test verifies
    that it does not execute.
* css3/filters/resources/invalid-type-a-mesh-coord.vs:
    Remove some empty lines to improve readability.
* css3/filters/resources/invalid-type-a-position.vs: Ditto.
* css3/filters/resources/invalid-type-a-tex-coord.vs: Ditto.
* css3/filters/resources/invalid-type-a-triangle-coord.vs:
    Add a comment that this shader should be run with a detached mesh.
* css3/filters/resources/invalid-type-attribute-array.vs:
    Remove some empty lines to improve readability.
* css3/filters/resources/invalid-type-a-triangle-coord.vs: Ditto.

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