Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(462)

Side by Side Diff: Source/bindings/tests/results/V8TestObjectPython.cpp

Issue 116983005: Use v8AtomicString instead of v8::String::NewFromUtf8 (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 1516 matching lines...) Expand 10 before | Expand all | Expand 10 after
1527 if (contextData && contextData->activityLogger()) { 1527 if (contextData && contextData->activityLogger()) {
1528 v8::Handle<v8::Value> loggerArg[] = { jsValue }; 1528 v8::Handle<v8::Value> loggerArg[] = { jsValue };
1529 contextData->activityLogger()->log("TestObjectPython.activityLoggingSett erForAllWorldsLongAttribute", 1, &loggerArg[0], "Setter"); 1529 contextData->activityLogger()->log("TestObjectPython.activityLoggingSett erForAllWorldsLongAttribute", 1, &loggerArg[0], "Setter");
1530 } 1530 }
1531 TestObjectPythonV8Internal::activityLoggingSetterForAllWorldsLongAttributeAt tributeSetter(jsValue, info); 1531 TestObjectPythonV8Internal::activityLoggingSetterForAllWorldsLongAttributeAt tributeSetter(jsValue, info);
1532 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1532 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution");
1533 } 1533 }
1534 1534
1535 static void cachedAttributeAnyAttributeAttributeGetter(const v8::PropertyCallbac kInfo<v8::Value>& info) 1535 static void cachedAttributeAnyAttributeAttributeGetter(const v8::PropertyCallbac kInfo<v8::Value>& info)
1536 { 1536 {
1537 v8::Handle<v8::String> propertyName = v8::String::NewFromUtf8(info.GetIsolat e(), "cachedAttributeAnyAttribute", v8::String::kInternalizedString); 1537 v8::Handle<v8::String> propertyName = v8AtomicString(info.GetIsolate(), "cac hedAttributeAnyAttribute");
1538 TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1538 TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder());
1539 if (!imp->isValueDirty()) { 1539 if (!imp->isValueDirty()) {
1540 v8::Handle<v8::Value> jsValue = info.Holder()->GetHiddenValue(propertyNa me); 1540 v8::Handle<v8::Value> jsValue = info.Holder()->GetHiddenValue(propertyNa me);
1541 if (!jsValue.IsEmpty()) { 1541 if (!jsValue.IsEmpty()) {
1542 v8SetReturnValue(info, jsValue); 1542 v8SetReturnValue(info, jsValue);
1543 return; 1543 return;
1544 } 1544 }
1545 } 1545 }
1546 ScriptValue jsValue = imp->cachedAttributeAnyAttribute(); 1546 ScriptValue jsValue = imp->cachedAttributeAnyAttribute();
1547 info.Holder()->SetHiddenValue(propertyName, jsValue.v8Value()); 1547 info.Holder()->SetHiddenValue(propertyName, jsValue.v8Value());
1548 v8SetReturnValue(info, jsValue.v8Value()); 1548 v8SetReturnValue(info, jsValue.v8Value());
1549 } 1549 }
1550 1550
1551 static void cachedAttributeAnyAttributeAttributeGetterCallback(v8::Local<v8::Str ing>, const v8::PropertyCallbackInfo<v8::Value>& info) 1551 static void cachedAttributeAnyAttributeAttributeGetterCallback(v8::Local<v8::Str ing>, const v8::PropertyCallbackInfo<v8::Value>& info)
1552 { 1552 {
1553 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 1553 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1554 TestObjectPythonV8Internal::cachedAttributeAnyAttributeAttributeGetter(info) ; 1554 TestObjectPythonV8Internal::cachedAttributeAnyAttributeAttributeGetter(info) ;
1555 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1555 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution");
1556 } 1556 }
1557 1557
1558 static void cachedAttributeAnyAttributeAttributeSetter(v8::Local<v8::Value> jsVa lue, const v8::PropertyCallbackInfo<void>& info) 1558 static void cachedAttributeAnyAttributeAttributeSetter(v8::Local<v8::Value> jsVa lue, const v8::PropertyCallbackInfo<void>& info)
1559 { 1559 {
1560 TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1560 TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder());
1561 V8TRYCATCH_VOID(ScriptValue, cppValue, ScriptValue(jsValue, info.GetIsolate( ))); 1561 V8TRYCATCH_VOID(ScriptValue, cppValue, ScriptValue(jsValue, info.GetIsolate( )));
1562 imp->setCachedAttributeAnyAttribute(cppValue); 1562 imp->setCachedAttributeAnyAttribute(cppValue);
1563 info.Holder()->DeleteHiddenValue(v8::String::NewFromUtf8(info.GetIsolate(), "cachedAttributeAnyAttribute", v8::String::kInternalizedString)); // Invalidate the cached value. 1563 info.Holder()->DeleteHiddenValue(v8AtomicString(info.GetIsolate(), "cachedAt tributeAnyAttribute")); // Invalidate the cached value.
1564 } 1564 }
1565 1565
1566 static void cachedAttributeAnyAttributeAttributeSetterCallback(v8::Local<v8::Str ing>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1566 static void cachedAttributeAnyAttributeAttributeSetterCallback(v8::Local<v8::Str ing>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info)
1567 { 1567 {
1568 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 1568 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1569 TestObjectPythonV8Internal::cachedAttributeAnyAttributeAttributeSetter(jsVal ue, info); 1569 TestObjectPythonV8Internal::cachedAttributeAnyAttributeAttributeSetter(jsVal ue, info);
1570 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1570 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution");
1571 } 1571 }
1572 1572
1573 static void callWithExecutionContextAnyAttributeAttributeGetter(const v8::Proper tyCallbackInfo<v8::Value>& info) 1573 static void callWithExecutionContextAnyAttributeAttributeGetter(const v8::Proper tyCallbackInfo<v8::Value>& info)
(...skipping 5015 matching lines...) Expand 10 before | Expand all | Expand 10 after
6589 if (RuntimeEnabledFeatures::featureNameEnabled()) 6589 if (RuntimeEnabledFeatures::featureNameEnabled())
6590 prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "runtimeEnabledV oidMethod", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::runtimeEnabledVoidMethodMethodCallback, v8Undefined (), defaultSignature, 0)); 6590 prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "runtimeEnabledV oidMethod", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::runtimeEnabledVoidMethodMethodCallback, v8Undefined (), defaultSignature, 0));
6591 if (currentWorldType == MainWorld) { 6591 if (currentWorldType == MainWorld) {
6592 if (RuntimeEnabledFeatures::featureNameEnabled()) 6592 if (RuntimeEnabledFeatures::featureNameEnabled())
6593 prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "perWorldBin dingsRuntimeEnabledVoidMethod", v8::String::kInternalizedString), v8::FunctionTe mplate::New(isolate, TestObjectPythonV8Internal::perWorldBindingsRuntimeEnabledV oidMethodMethodCallbackForMainWorld, v8Undefined(), defaultSignature, 0)); 6593 prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "perWorldBin dingsRuntimeEnabledVoidMethod", v8::String::kInternalizedString), v8::FunctionTe mplate::New(isolate, TestObjectPythonV8Internal::perWorldBindingsRuntimeEnabledV oidMethodMethodCallbackForMainWorld, v8Undefined(), defaultSignature, 0));
6594 } else { 6594 } else {
6595 if (RuntimeEnabledFeatures::featureNameEnabled()) 6595 if (RuntimeEnabledFeatures::featureNameEnabled())
6596 prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "perWorldBin dingsRuntimeEnabledVoidMethod", v8::String::kInternalizedString), v8::FunctionTe mplate::New(isolate, TestObjectPythonV8Internal::perWorldBindingsRuntimeEnabledV oidMethodMethodCallback, v8Undefined(), defaultSignature, 0)); 6596 prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "perWorldBin dingsRuntimeEnabledVoidMethod", v8::String::kInternalizedString), v8::FunctionTe mplate::New(isolate, TestObjectPythonV8Internal::perWorldBindingsRuntimeEnabledV oidMethodMethodCallback, v8Undefined(), defaultSignature, 0));
6597 } 6597 }
6598 instanceTemplate->Set(v8::String::NewFromUtf8(isolate, "unforgeableVoidMetho d", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObj ectPythonV8Internal::unforgeableVoidMethodMethodCallback, v8Undefined(), default Signature, 0)); 6598 instanceTemplate->Set(v8::String::NewFromUtf8(isolate, "unforgeableVoidMetho d", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObj ectPythonV8Internal::unforgeableVoidMethodMethodCallback, v8Undefined(), default Signature, 0));
6599 functionTemplate->SetNativeDataProperty(v8::String::NewFromUtf8(isolate, "st aticStringAttribute", v8::String::kInternalizedString), TestObjectPythonV8Intern al::staticStringAttributeAttributeGetterCallback, TestObjectPythonV8Internal::st aticStringAttributeAttributeSetterCallback, v8::External::New(isolate, 0), stati c_cast<v8::PropertyAttribute>(v8::None), v8::Handle<v8::AccessorSignature>(), st atic_cast<v8::AccessControl>(v8::DEFAULT)); 6599 functionTemplate->SetNativeDataProperty(v8AtomicString(isolate, "staticStrin gAttribute"), TestObjectPythonV8Internal::staticStringAttributeAttributeGetterCa llback, TestObjectPythonV8Internal::staticStringAttributeAttributeSetterCallback , v8::External::New(isolate, 0), static_cast<v8::PropertyAttribute>(v8::None), v 8::Handle<v8::AccessorSignature>(), static_cast<v8::AccessControl>(v8::DEFAULT)) ;
6600 functionTemplate->SetNativeDataProperty(v8::String::NewFromUtf8(isolate, "st aticLongAttribute", v8::String::kInternalizedString), TestObjectPythonV8Internal ::staticLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::static LongAttributeAttributeSetterCallback, v8::External::New(isolate, 0), static_cast <v8::PropertyAttribute>(v8::None), v8::Handle<v8::AccessorSignature>(), static_c ast<v8::AccessControl>(v8::DEFAULT)); 6600 functionTemplate->SetNativeDataProperty(v8AtomicString(isolate, "staticLongA ttribute"), TestObjectPythonV8Internal::staticLongAttributeAttributeGetterCallba ck, TestObjectPythonV8Internal::staticLongAttributeAttributeSetterCallback, v8:: External::New(isolate, 0), static_cast<v8::PropertyAttribute>(v8::None), v8::Han dle<v8::AccessorSignature>(), static_cast<v8::AccessControl>(v8::DEFAULT));
6601 6601
6602 // Custom toString template 6602 // Custom toString template
6603 functionTemplate->Set(v8::String::NewFromUtf8(isolate, "toString", v8::Strin g::kInternalizedString), V8PerIsolateData::current()->toStringTemplate()); 6603 functionTemplate->Set(v8::String::NewFromUtf8(isolate, "toString", v8::Strin g::kInternalizedString), V8PerIsolateData::current()->toStringTemplate());
6604 return functionTemplate; 6604 return functionTemplate;
6605 } 6605 }
6606 6606
6607 v8::Handle<v8::FunctionTemplate> V8TestObjectPython::domTemplate(v8::Isolate* is olate, WrapperWorldType currentWorldType) 6607 v8::Handle<v8::FunctionTemplate> V8TestObjectPython::domTemplate(v8::Isolate* is olate, WrapperWorldType currentWorldType)
6608 { 6608 {
6609 V8PerIsolateData* data = V8PerIsolateData::from(isolate); 6609 V8PerIsolateData* data = V8PerIsolateData::from(isolate);
6610 V8PerIsolateData::TemplateMap::iterator result = data->templateMap(currentWo rldType).find(&wrapperTypeInfo); 6610 V8PerIsolateData::TemplateMap::iterator result = data->templateMap(currentWo rldType).find(&wrapperTypeInfo);
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
6675 fromInternalPointer(object)->deref(); 6675 fromInternalPointer(object)->deref();
6676 } 6676 }
6677 6677
6678 template<> 6678 template<>
6679 v8::Handle<v8::Value> toV8NoInline(TestObjectPython* impl, v8::Handle<v8::Object > creationContext, v8::Isolate* isolate) 6679 v8::Handle<v8::Value> toV8NoInline(TestObjectPython* impl, v8::Handle<v8::Object > creationContext, v8::Isolate* isolate)
6680 { 6680 {
6681 return toV8(impl, creationContext, isolate); 6681 return toV8(impl, creationContext, isolate);
6682 } 6682 }
6683 6683
6684 } // namespace WebCore 6684 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698