Chromium Code Reviews| 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>(); |