summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--webkit/build/V8Bindings/SConscript1
-rw-r--r--webkit/build/V8Bindings/V8Bindings.vcproj8
-rw-r--r--webkit/build/port/SConscript1
-rw-r--r--webkit/port/DerivedSources.make1
-rw-r--r--webkit/port/bindings/scripts/CodeGeneratorV8.pm2
-rw-r--r--webkit/port/bindings/v8/v8_custom.cpp28
-rw-r--r--webkit/port/bindings/v8/v8_custom.h1
-rw-r--r--webkit/port/bindings/v8/v8_index.cpp1
-rw-r--r--webkit/port/bindings/v8/v8_index.h1
-rw-r--r--webkit/port/bindings/v8/v8_proxy.cpp10
-rw-r--r--webkit/tools/layout_tests/test_lists/tests_fixable.txt7
-rw-r--r--webkit/webkit.xcodeproj/project.pbxproj6
12 files changed, 59 insertions, 8 deletions
diff --git a/webkit/build/V8Bindings/SConscript b/webkit/build/V8Bindings/SConscript
index c5b329d..e3182c5 100644
--- a/webkit/build/V8Bindings/SConscript
+++ b/webkit/build/V8Bindings/SConscript
@@ -306,6 +306,7 @@ inputs = [
'$DERIVED_DIR/V8WebKitAnimationEvent.cpp',
'$DERIVED_DIR/V8WebKitCSSKeyframeRule.cpp',
'$DERIVED_DIR/V8WebKitCSSKeyframesRule.cpp',
+ '$DERIVED_DIR/V8WebKitCSSMatrix.cpp',
'$DERIVED_DIR/V8WebKitCSSTransformValue.cpp',
'$DERIVED_DIR/V8WebKitTransitionEvent.cpp',
'$DERIVED_DIR/V8WheelEvent.cpp',
diff --git a/webkit/build/V8Bindings/V8Bindings.vcproj b/webkit/build/V8Bindings/V8Bindings.vcproj
index 09c414a..8e37bea 100644
--- a/webkit/build/V8Bindings/V8Bindings.vcproj
+++ b/webkit/build/V8Bindings/V8Bindings.vcproj
@@ -2232,6 +2232,14 @@
>
</File>
<File
+ RelativePath="$(IntDir)\DerivedSources\V8WebKitCSSMatrix.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(IntDir)\DerivedSources\V8WebKitCSSMatrix.h"
+ >
+ </File>
+ <File
RelativePath="$(IntDir)\DerivedSources\V8WebKitCSSTransformValue.cpp"
>
</File>
diff --git a/webkit/build/port/SConscript b/webkit/build/port/SConscript
index 2179e02..e5ccc14 100644
--- a/webkit/build/port/SConscript
+++ b/webkit/build/port/SConscript
@@ -176,6 +176,7 @@ idl_files = [
'css/StyleSheetList.idl',
'css/WebKitCSSKeyframeRule.idl',
'css/WebKitCSSKeyframesRule.idl',
+ 'css/WebKitCSSMatrix.idl',
'css/WebKitCSSTransformValue.idl',
'dom/Attr.idl',
diff --git a/webkit/port/DerivedSources.make b/webkit/port/DerivedSources.make
index b53fbf4..77f82da 100644
--- a/webkit/port/DerivedSources.make
+++ b/webkit/port/DerivedSources.make
@@ -894,6 +894,7 @@ all : \
V8WebKitAnimationEvent.h \
V8WebKitCSSKeyframeRule.h \
V8WebKitCSSKeyframesRule.h \
+ V8WebKitCSSMatrix.h \
V8WebKitCSSTransformValue.h \
V8WebKitTransitionEvent.h \
V8WheelEvent.h \
diff --git a/webkit/port/bindings/scripts/CodeGeneratorV8.pm b/webkit/port/bindings/scripts/CodeGeneratorV8.pm
index 779ac9d..c63f314 100644
--- a/webkit/port/bindings/scripts/CodeGeneratorV8.pm
+++ b/webkit/port/bindings/scripts/CodeGeneratorV8.pm
@@ -1567,6 +1567,7 @@ sub IsRefPtrType
return 1 if $type eq "TextMetrics";
return 1 if $type eq "TimeRanges";
return 1 if $type eq "TreeWalker";
+ return 1 if $type eq "WebKitCSSMatrix";
return 1 if $type eq "XPathExpression";
return 1 if $type eq "XPathNSResolver";
return 1 if $type eq "XPathResult";
@@ -1662,6 +1663,7 @@ my %typeCanFailConversion = (
"SVGRect" => 0,
"SVGTransform" => 0,
"VoidCallback" => 1,
+ "WebKitCSSMatrix" => 0,
"XPathEvaluator" => 0,
"XPathNSResolver" => 0,
"XPathResult" => 0,
diff --git a/webkit/port/bindings/v8/v8_custom.cpp b/webkit/port/bindings/v8/v8_custom.cpp
index c1be432..7b5242e 100644
--- a/webkit/port/bindings/v8/v8_custom.cpp
+++ b/webkit/port/bindings/v8/v8_custom.cpp
@@ -106,6 +106,7 @@
#include "Settings.h"
#include "StyleSheetList.h"
#include "TreeWalker.h"
+#include "WebKitCSSMatrix.h"
#include "WindowFeatures.h"
#include "XMLSerializer.h"
#include "XPathEvaluator.h"
@@ -307,6 +308,33 @@ CALLBACK_FUNC_DECL(MessageChannelConstructor) {
}
+CALLBACK_FUNC_DECL(WebKitCSSMatrixConstructor) {
+ INC_STATS("DOM.WebKitCSSMatrix.Constructor");
+ String s;
+ if (args.Length() >= 1)
+ s = ToWebCoreString(args[0]);
+
+ // Create the matrix.
+ ExceptionCode ec = 0;
+ RefPtr<WebKitCSSMatrix> matrix = WebKitCSSMatrix::create(s, ec);
+ if (ec != 0) {
+ V8Proxy::SetDOMException(ec);
+ return v8::Undefined();
+ }
+
+ // Transform the holder into a wrapper object for the matrix.
+ V8Proxy::SetDOMWrapper(args.Holder(),
+ V8ClassIndex::ToInt(V8ClassIndex::WEBKITCSSMATRIX),
+ matrix.get());
+ // Add the wrapper to the DOM object map.
+ matrix->ref();
+ V8Proxy::SetJSWrapperForDOMObject(
+ matrix.get(),
+ v8::Persistent<v8::Object>::New(args.Holder()));
+ return args.Holder();
+}
+
+
CALLBACK_FUNC_DECL(XMLSerializerConstructor) {
INC_STATS("DOM.XMLSerializer.Constructor");
return V8Proxy::ConstructDOMObject<V8ClassIndex::XMLSERIALIZER,
diff --git a/webkit/port/bindings/v8/v8_custom.h b/webkit/port/bindings/v8/v8_custom.h
index c839939..20c53d9 100644
--- a/webkit/port/bindings/v8/v8_custom.h
+++ b/webkit/port/bindings/v8/v8_custom.h
@@ -239,6 +239,7 @@ DECLARE_CALLBACK(DOMWindowOpen)
DECLARE_CALLBACK(DOMParserConstructor)
DECLARE_CALLBACK(MessageChannelConstructor)
+DECLARE_CALLBACK(WebKitCSSMatrixConstructor)
DECLARE_CALLBACK(XMLHttpRequestConstructor)
DECLARE_CALLBACK(XMLSerializerConstructor)
DECLARE_CALLBACK(XPathEvaluatorConstructor)
diff --git a/webkit/port/bindings/v8/v8_index.cpp b/webkit/port/bindings/v8/v8_index.cpp
index 29ff3aa..033506a 100644
--- a/webkit/port/bindings/v8/v8_index.cpp
+++ b/webkit/port/bindings/v8/v8_index.cpp
@@ -158,6 +158,7 @@
#include "V8WebKitAnimationEvent.h"
#include "V8WebKitCSSKeyframeRule.h"
#include "V8WebKitCSSKeyframesRule.h"
+#include "V8WebKitCSSMatrix.h"
#include "V8WebKitCSSTransformValue.h"
#include "V8WebKitTransitionEvent.h"
#include "V8WheelEvent.h"
diff --git a/webkit/port/bindings/v8/v8_index.h b/webkit/port/bindings/v8/v8_index.h
index 159932d..3e0a5ef1 100644
--- a/webkit/port/bindings/v8/v8_index.h
+++ b/webkit/port/bindings/v8/v8_index.h
@@ -303,6 +303,7 @@ typedef v8::Persistent<v8::FunctionTemplate> (*FunctionTemplateFactory)();
V(WEBKITANIMATIONEVENT, WebKitAnimationEvent) \
V(WEBKITCSSKEYFRAMERULE, WebKitCSSKeyframeRule) \
V(WEBKITCSSKEYFRAMESRULE, WebKitCSSKeyframesRule) \
+ V(WEBKITCSSMATRIX, WebKitCSSMatrix) \
V(WEBKITCSSTRANSFORMVALUE, WebKitCSSTransformValue) \
V(WEBKITTRANSITIONEVENT, WebKitTransitionEvent) \
V(WHEELEVENT, WheelEvent) \
diff --git a/webkit/port/bindings/v8/v8_proxy.cpp b/webkit/port/bindings/v8/v8_proxy.cpp
index 4e1be35..8dae140 100644
--- a/webkit/port/bindings/v8/v8_proxy.cpp
+++ b/webkit/port/bindings/v8/v8_proxy.cpp
@@ -134,7 +134,6 @@
#include "TextMetrics.h"
#include "TimeRanges.h"
#include "TreeWalker.h"
-#include "WebKitCSSTransformValue.h"
#include "XMLHttpRequest.h"
#include "XMLHttpRequestUpload.h"
#include "XMLHttpRequestException.h"
@@ -147,6 +146,8 @@
#include "WebKitAnimationEvent.h"
#include "WebKitCSSKeyframeRule.h"
#include "WebKitCSSKeyframesRule.h"
+#include "WebKitCSSMatrix.h"
+#include "WebKitCSSTransformValue.h"
#include "WebKitTransitionEvent.h"
#include "WheelEvent.h"
#include "XMLHttpRequestProgressEvent.h"
@@ -1765,12 +1766,13 @@ v8::Persistent<v8::FunctionTemplate> V8Proxy::GetTemplate(
break;
}
- // DOMParser, XMLSerializer, and XMLHttpRequest objects are created from
- // JS world, but we setup the constructor function lazily in
- // WindowNamedPropertyHandler::get.
+ // The following objects are created from JavaScript.
case V8ClassIndex::DOMPARSER:
desc->SetCallHandler(USE_CALLBACK(DOMParserConstructor));
break;
+ case V8ClassIndex::WEBKITCSSMATRIX:
+ desc->SetCallHandler(USE_CALLBACK(WebKitCSSMatrixConstructor));
+ break;
case V8ClassIndex::XMLSERIALIZER:
desc->SetCallHandler(USE_CALLBACK(XMLSerializerConstructor));
break;
diff --git a/webkit/tools/layout_tests/test_lists/tests_fixable.txt b/webkit/tools/layout_tests/test_lists/tests_fixable.txt
index c3bdd43..b652d23 100644
--- a/webkit/tools/layout_tests/test_lists/tests_fixable.txt
+++ b/webkit/tools/layout_tests/test_lists/tests_fixable.txt
@@ -1909,11 +1909,10 @@ LINUX : LayoutTests/svg/custom/animate-path-morphing.svg = PASS FAIL
LINUX : LayoutTests/svg/custom/circular-marker-reference-1.svg = PASS FAIL
LINUX : LayoutTests/transitions/change-values-during-transition.html = PASS FAIL
-// Merge 39913:39933 - new tests
-// This is bug 6475, css/WebKitCSSMatrix.idl needs to be added to the build.
+// This test passes but the expected results are wrong. The layout test
+// got updated but the new expected results were committed later in
+// Changeset 39974. Once we merge change in, this test will pass.
LayoutTests/transforms/2d/cssmatrix-interface.xhtml = FAIL
-// This one is probably related.
-LayoutTests/animations/combo-transform-translate+scale.html = FAIL
// Merge 39913:39933 - regressions
// See http://crbug.com/6482
diff --git a/webkit/webkit.xcodeproj/project.pbxproj b/webkit/webkit.xcodeproj/project.pbxproj
index 9ae8c03..6701e27 100644
--- a/webkit/webkit.xcodeproj/project.pbxproj
+++ b/webkit/webkit.xcodeproj/project.pbxproj
@@ -1248,6 +1248,7 @@
9384489D0F16B06E0075F4C5 /* V8WebKitAnimationEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DB299BD0EA4DD1E007EA4CF /* V8WebKitAnimationEvent.cpp */; };
9384489E0F16B06E0075F4C5 /* V8WebKitCSSKeyframeRule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DB7F9A40E9BEB9B00C66CE0 /* V8WebKitCSSKeyframeRule.cpp */; };
9384489F0F16B06E0075F4C5 /* V8WebKitCSSKeyframesRule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DB7F9A60E9BEB9B00C66CE0 /* V8WebKitCSSKeyframesRule.cpp */; };
+ 25B9F25199984DFE5E4A59AE /* V8WebKitCSSMatrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 688FFA9B9CEFE9B1B66F8671 /* V8WebKitCSSMatrix.cpp */; };
938448A00F16B06E0075F4C5 /* V8WebKitCSSTransformValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DB299BF0EA4DD1E007EA4CF /* V8WebKitCSSTransformValue.cpp */; };
938448A10F16B06E0075F4C5 /* V8WebKitTransitionEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DB299C10EA4DD1E007EA4CF /* V8WebKitTransitionEvent.cpp */; };
938448A20F16B06E0075F4C5 /* V8WheelEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B00936B0DAFEFE500F72082 /* V8WheelEvent.cpp */; };
@@ -1786,6 +1787,8 @@
4DB7F9A50E9BEB9B00C66CE0 /* V8WebKitCSSKeyframeRule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = V8WebKitCSSKeyframeRule.h; sourceTree = "<group>"; };
4DB7F9A60E9BEB9B00C66CE0 /* V8WebKitCSSKeyframesRule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = V8WebKitCSSKeyframesRule.cpp; sourceTree = "<group>"; };
4DB7F9A70E9BEB9B00C66CE0 /* V8WebKitCSSKeyframesRule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = V8WebKitCSSKeyframesRule.h; sourceTree = "<group>"; };
+ 688FFA9B9CEFE9B1B66F8671 /* V8WebKitCSSMatrix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = V8WebKitCSSMatrix.cpp; path = V8WebKitCSSMatrix.cpp; sourceTree = "<group>"; };
+ B4B7717F57DD81751BCEF85E /* V8WebKitCSSMatrix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = V8WebKitCSSMatrix.h; path = V8WebKitCSSMatrix.h; sourceTree = "<group>"; };
4DB7F9D70E9BEC9500C66CE0 /* AuthenticationChallengeBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AuthenticationChallengeBase.cpp; sourceTree = "<group>"; };
4DB7F9D80E9BEC9500C66CE0 /* AuthenticationChallengeBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AuthenticationChallengeBase.h; sourceTree = "<group>"; };
4DB7F9D90E9BEC9500C66CE0 /* NetworkStateNotifier.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkStateNotifier.cpp; sourceTree = "<group>"; };
@@ -7414,6 +7417,8 @@
4DB7F9A50E9BEB9B00C66CE0 /* V8WebKitCSSKeyframeRule.h */,
4DB7F9A60E9BEB9B00C66CE0 /* V8WebKitCSSKeyframesRule.cpp */,
4DB7F9A70E9BEB9B00C66CE0 /* V8WebKitCSSKeyframesRule.h */,
+ 688FFA9B9CEFE9B1B66F8671 /* V8WebKitCSSMatrix.cpp */,
+ B4B7717F57DD81751BCEF85E /* V8WebKitCSSMatrix.h */,
4DB299BF0EA4DD1E007EA4CF /* V8WebKitCSSTransformValue.cpp */,
4DB299C00EA4DD1E007EA4CF /* V8WebKitCSSTransformValue.h */,
4DB299C10EA4DD1E007EA4CF /* V8WebKitTransitionEvent.cpp */,
@@ -8521,6 +8526,7 @@
9384489D0F16B06E0075F4C5 /* V8WebKitAnimationEvent.cpp in Sources */,
9384489E0F16B06E0075F4C5 /* V8WebKitCSSKeyframeRule.cpp in Sources */,
9384489F0F16B06E0075F4C5 /* V8WebKitCSSKeyframesRule.cpp in Sources */,
+ 25B9F25199984DFE5E4A59AE /* V8WebKitCSSMatrix.cpp in Sources */,
938448A00F16B06E0075F4C5 /* V8WebKitCSSTransformValue.cpp in Sources */,
938448A10F16B06E0075F4C5 /* V8WebKitTransitionEvent.cpp in Sources */,
938448A20F16B06E0075F4C5 /* V8WheelEvent.cpp in Sources */,