Changeset 60583 in webkit


Ignore:
Timestamp:
Jun 2, 2010 5:27:42 PM (14 years ago)
Author:
eric@webkit.org
Message:

2010-06-02 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>

Reviewed by Kenneth Rohde Christiansen.

New function QScriptEngine::newObject.

The function creates a object of class Object and returns it
as a QScriptValue.

[Qt] QScriptEngine API should contain a newObject function
https://bugs.webkit.org/show_bug.cgi?id=39114

  • qt/api/qscriptengine.cpp: (QScriptEngine::newObject):
  • qt/api/qscriptengine.h:
  • qt/api/qscriptengine_p.cpp: (QScriptEnginePrivate::newObject):
  • qt/api/qscriptengine_p.h:
  • qt/tests/qscriptengine/tst_qscriptengine.cpp: (tst_QScriptEngine::newObject):
Location:
trunk/JavaScriptCore
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r60577 r60583  
     12010-06-02  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
     2
     3        Reviewed by Kenneth Rohde Christiansen.
     4
     5        New function QScriptEngine::newObject.
     6
     7        The function creates a object of class Object and returns it
     8        as a QScriptValue.
     9
     10        [Qt] QScriptEngine API should contain a newObject function
     11        https://bugs.webkit.org/show_bug.cgi?id=39114
     12
     13        * qt/api/qscriptengine.cpp:
     14        (QScriptEngine::newObject):
     15        * qt/api/qscriptengine.h:
     16        * qt/api/qscriptengine_p.cpp:
     17        (QScriptEnginePrivate::newObject):
     18        * qt/api/qscriptengine_p.h:
     19        * qt/tests/qscriptengine/tst_qscriptengine.cpp:
     20        (tst_QScriptEngine::newObject):
     21
    1222010-06-02  Gabor Loki  <loki@webkit.org>
    223
  • trunk/JavaScriptCore/qt/api/qscriptengine.cpp

    r59503 r60583  
    194194
    195195/*!
     196  Creates a QtScript object of class Object.
     197
     198  The prototype of the created object will be the Object
     199  prototype object.
     200
     201  \sa newArray(), QScriptValue::setProperty()
     202*/
     203QScriptValue QScriptEngine::newObject()
     204{
     205    return QScriptValuePrivate::get(d_ptr->newObject());
     206}
     207
     208/*!
    196209  Returns this engine's Global Object.
    197210
  • trunk/JavaScriptCore/qt/api/qscriptengine.h

    r59503 r60583  
    5151    QScriptValue nullValue();
    5252    QScriptValue undefinedValue();
     53    QScriptValue newObject();
    5354    QScriptValue globalObject() const;
    5455private:
  • trunk/JavaScriptCore/qt/api/qscriptengine_p.cpp

    r57637 r60583  
    7878}
    7979
     80QScriptValuePrivate* QScriptEnginePrivate::newObject() const
     81{
     82    return new QScriptValuePrivate(this, JSObjectMake(context(), /* jsClass */ 0, /* userData */ 0));
     83}
     84
    8085QScriptValuePrivate* QScriptEnginePrivate::globalObject() const
    8186{
  • trunk/JavaScriptCore/qt/api/qscriptengine_p.h

    r58483 r60583  
    5757    inline JSValueRef makeJSValue(QScriptValue::SpecialValue value) const;
    5858
     59    QScriptValuePrivate* newObject() const;
    5960    QScriptValuePrivate* globalObject() const;
    6061
  • trunk/JavaScriptCore/qt/tests/qscriptengine/tst_qscriptengine.cpp

    r59503 r60583  
    3636
    3737private slots:
     38    void newObject();
    3839    void globalObject();
    3940    void evaluate();
     
    5556    QVERIFY2(engine.evaluate("1+1").isValid(), "the expression should be evaluated and an valid result should be returned");
    5657    QVERIFY2(engine.evaluate("ping").isValid(), "Script throwing an unhandled exception should return an exception value");
     58}
     59
     60void tst_QScriptEngine::newObject()
     61{
     62    QScriptEngine engine;
     63    QScriptValue object = engine.newObject();
     64    QVERIFY(object.isObject());
     65    QVERIFY(object.engine() == &engine);
     66    QVERIFY(!object.isError());
     67    QVERIFY(!object.equals(engine.newObject()));
     68    QVERIFY(!object.strictlyEquals(engine.newObject()));
     69    QCOMPARE(object.toString(), QString::fromAscii("[object Object]"));
    5770}
    5871
Note: See TracChangeset for help on using the changeset viewer.