diff options
-rw-r--r-- | webkit/build/V8Bindings/SConscript | 1 | ||||
-rw-r--r-- | webkit/build/V8Bindings/V8Bindings.vcproj | 8 | ||||
-rw-r--r-- | webkit/build/port/SConscript | 1 | ||||
-rw-r--r-- | webkit/port/DerivedSources.make | 1 | ||||
-rw-r--r-- | webkit/port/bindings/scripts/CodeGeneratorV8.pm | 2 | ||||
-rw-r--r-- | webkit/port/bindings/v8/v8_custom.cpp | 28 | ||||
-rw-r--r-- | webkit/port/bindings/v8/v8_custom.h | 1 | ||||
-rw-r--r-- | webkit/port/bindings/v8/v8_index.cpp | 1 | ||||
-rw-r--r-- | webkit/port/bindings/v8/v8_index.h | 1 | ||||
-rw-r--r-- | webkit/port/bindings/v8/v8_proxy.cpp | 10 | ||||
-rw-r--r-- | webkit/tools/layout_tests/test_lists/tests_fixable.txt | 7 | ||||
-rw-r--r-- | webkit/webkit.xcodeproj/project.pbxproj | 6 |
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 */, |