15a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines// Copyright 2010 the V8 project authors. All rights reserved. 25a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines// Use of this source code is governed by a BSD-style license that can be 35a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines// found in the LICENSE file. 45a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines 55a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines#ifndef V8_EXTENSIONS_EXTERNALIZE_STRING_EXTENSION_H_ 65a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines#define V8_EXTENSIONS_EXTERNALIZE_STRING_EXTENSION_H_ 75a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines 85a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines#include "include/v8.h" 95a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines 105a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hinesnamespace v8 { 115a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hinesnamespace internal { 125a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines 135a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hinesclass ExternalizeStringExtension : public v8::Extension { 145a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines public: 155a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines ExternalizeStringExtension() : v8::Extension("v8/externalize", kSource) {} 165a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines virtual v8::Local<v8::FunctionTemplate> GetNativeFunctionTemplate( 175a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines v8::Isolate* isolate, v8::Local<v8::String> name); 185a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines static void Externalize(const v8::FunctionCallbackInfo<v8::Value>& args); 195a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines static void IsOneByte(const v8::FunctionCallbackInfo<v8::Value>& args); 205a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines 215a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines private: 225a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines static const char* const kSource; 235a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines}; 245a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines 255a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines} // namespace internal 265a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines} // namespace v8 275a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines 285a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines#endif // V8_EXTENSIONS_EXTERNALIZE_STRING_EXTENSION_H_ 295a47020542c52af3e879c1cd67674ca979ff0a18Stephen Hines