Index: src/extensions/experimental/i18n-extension.cc |
=================================================================== |
--- src/extensions/experimental/i18n-extension.cc (revision 7241) |
+++ src/extensions/experimental/i18n-extension.cc (working copy) |
@@ -1,4 +1,4 @@ |
-// Copyright 2010 the V8 project authors. All rights reserved. |
+// Copyright 2011 the V8 project authors. All rights reserved. |
// Redistribution and use in source and binary forms, with or without |
// modification, are permitted provided that the following conditions are |
// met: |
@@ -31,6 +31,7 @@ |
#include <string> |
#include "break-iterator.h" |
+#include "collator.h" |
#include "unicode/locid.h" |
#include "unicode/uloc.h" |
@@ -105,6 +106,15 @@ |
"};" |
"v8Locale.prototype.v8CreateBreakIterator = function(type) {" |
" return new v8Locale.v8BreakIterator(this.locale, type);" |
+ "};" |
+ "v8Locale.Collator = function(locale, options) {" |
+ " native function NativeJSCollator();" |
+ " var collator = NativeJSCollator(locale, options);" |
+ " collator.options = options;" |
Nebojša Ćirić
2011/04/11 23:10:33
Why are you hanging all options here? Only those w
|
+ " return collator;" |
+ "};" |
+ "v8Locale.prototype.createCollator = function(options) {" |
+ " return new v8Locale.Collator(this.locale, options);" |
"};"; |
v8::Handle<v8::FunctionTemplate> I18NExtension::GetNativeFunction( |
@@ -127,6 +137,8 @@ |
return v8::FunctionTemplate::New(JSDisplayName); |
} else if (name->Equals(v8::String::New("NativeJSBreakIterator"))) { |
return v8::FunctionTemplate::New(BreakIterator::JSBreakIterator); |
+ } else if (name->Equals(v8::String::New("NativeJSCollator"))) { |
+ return v8::FunctionTemplate::New(Collator::JSCollator); |
} |
return v8::Handle<v8::FunctionTemplate>(); |