Changeset 56686 in webkit
- Timestamp:
- Mar 28, 2010 3:03:50 AM (14 years ago)
- Location:
- trunk/JavaScriptCore
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/ChangeLog
r56623 r56686 1 2010-03-28 Jedrzej Nowacki <jedrzej.nowacki@nokia.com> 2 3 Reviewed by Simon Hausmann. 4 5 QScriptEngine API was enriched by globalObject() method 6 which give an access to the global object. 7 8 [Qt] QScriptEngine doesn't give an access to global object 9 https://bugs.webkit.org/show_bug.cgi?id=36603 10 11 * qt/api/qscriptengine.cpp: 12 (QScriptEngine::globalObject): 13 * qt/api/qscriptengine.h: 14 * qt/api/qscriptengine_p.cpp: 15 (QScriptEnginePrivate::globalObject): 16 * qt/api/qscriptengine_p.h: 17 * qt/tests/qscriptengine/tst_qscriptengine.cpp: 18 (tst_QScriptEngine::globalObject): 19 1 20 2010-03-26 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 2 21 -
trunk/JavaScriptCore/qt/api/qscriptengine.cpp
r56333 r56686 144 144 return QScriptValue(this, QScriptValue::UndefinedValue); 145 145 } 146 147 /*! 148 Returns this engine's Global Object. 149 150 By default, the Global Object contains the built-in objects that are 151 part of \l{ECMA-262}, such as Math, Date and String. Additionally, 152 you can set properties of the Global Object to make your own 153 extensions available to all script code. Non-local variables in 154 script code will be created as properties of the Global Object, as 155 well as local variables in global code. 156 */ 157 QScriptValue QScriptEngine::globalObject() const 158 { 159 return QScriptValuePrivate::get(d_ptr->globalObject()); 160 } -
trunk/JavaScriptCore/qt/api/qscriptengine.h
r56333 r56686 48 48 QScriptValue nullValue(); 49 49 QScriptValue undefinedValue(); 50 QScriptValue globalObject() const; 50 51 private: 51 52 friend class QScriptEnginePrivate; -
trunk/JavaScriptCore/qt/api/qscriptengine_p.cpp
r56333 r56686 70 70 return new QScriptValuePrivate(this, evaluate(program->program(), program->file(), program->line())); 71 71 } 72 73 QScriptValuePrivate* QScriptEnginePrivate::globalObject() const 74 { 75 JSObjectRef globalObject = JSContextGetGlobalObject(context()); 76 return new QScriptValuePrivate(this, globalObject, globalObject); 77 } -
trunk/JavaScriptCore/qt/api/qscriptengine_p.h
r56333 r56686 53 53 inline JSValueRef makeJSValue(bool number) const; 54 54 inline JSValueRef makeJSValue(QScriptValue::SpecialValue value) const; 55 56 QScriptValuePrivate* globalObject() const; 55 57 56 58 inline QScriptStringPrivate* toStringHandle(const QString& str) const; -
trunk/JavaScriptCore/qt/tests/qscriptengine/tst_qscriptengine.cpp
r56333 r56686 36 36 37 37 private slots: 38 void globalObject(); 38 39 void evaluate(); 39 40 void collectGarbage(); … … 51 52 QVERIFY2(engine.evaluate("1+1").isValid(), "the expression should be evaluated and an valid result should be returned"); 52 53 QVERIFY2(engine.evaluate("ping").isValid(), "Script throwing an unhandled exception should return an exception value"); 54 } 55 56 void tst_QScriptEngine::globalObject() 57 { 58 QScriptEngine engine; 59 QScriptValue global = engine.globalObject(); 60 QScriptValue self = engine.evaluate("this"); 61 QVERIFY(global.isObject()); 62 QVERIFY(engine.globalObject().equals(engine.evaluate("this"))); 63 QEXPECT_FAIL("", "strictlyEquals is broken - bug 36600 in bugs.webkit.org", Continue); 64 QVERIFY(engine.globalObject().strictlyEquals(self)); 53 65 } 54 66
Note: See TracChangeset
for help on using the changeset viewer.