Ignore:
Timestamp:
May 5, 2011, 5:36:53 AM (14 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.7.2 sources from branches/vendor/nokia/qt.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/src/script/api/qscriptvalueiterator.cpp

    r651 r846  
    11/****************************************************************************
    22**
    3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
     3** Copyright (C) 201 Nokia Corporation and/or its subsidiary(-ies).
    44** All rights reserved.
    55** Contact: Nokia Corporation ([email protected])
     
    8585        : initialized(false)
    8686    {}
     87
     88
     89
     90
     91
     92
     93
     94
     95
     96
     97
     98
     99
     100
     101
     102
     103
     104
     105
     106
     107
     108
    87109    void ensureInitialized()
    88110    {
    89111        if (initialized)
    90112            return;
    91         QScriptEnginePrivate *eng_p = QScriptEnginePrivate::get(object.engine());
     113        QScriptEnginePrivate *eng_p = engine();
     114        QScript::APIShim shim(eng_p);
    92115        JSC::ExecState *exec = eng_p->globalExec();
    93116        JSC::PropertyNameArray propertyNamesArray(exec);
    94         propertyNamesArray.setShouldCache(false);
    95         JSC::asObject(QScriptValuePrivate::get(object)->jscValue)->getOwnPropertyNames(exec, propertyNamesArray, /*includeNonEnumerable=*/true);
     117        JSC::asObject(object()->jscValue)->getOwnPropertyNames(exec, propertyNamesArray, JSC::IncludeDontEnumProperties);
    96118
    97119        JSC::PropertyNameArray::const_iterator propertyNamesIt = propertyNamesArray.begin();
    98120        for(; propertyNamesIt != propertyNamesArray.end(); ++propertyNamesIt) {
    99             propertyNames.append(propertyNamesIt->ustring());
     121            propertyNames.append();
    100122        }
    101123        it = propertyNames.begin();
     
    103125    }
    104126
    105     QScriptValue object;
    106     QLinkedList<JSC::UString> propertyNames;
    107     QLinkedList<JSC::UString>::iterator it;
    108     QLinkedList<JSC::UString>::iterator current;
     127    QScriptValue object;
     128    QLinkedList<JSC::> propertyNames;
     129    QLinkedList<JSC::>::iterator it;
     130    QLinkedList<JSC::>::iterator current;
    109131    bool initialized;
    110132};
     
    120142    if (object.isObject()) {
    121143        d_ptr.reset(new QScriptValueIteratorPrivate());
    122         d_ptr->object = object;
     144        d_ptr->object = object;
    123145    }
    124146}
     
    241263{
    242264    Q_D(const QScriptValueIterator);
    243     if (!d || !d->initialized)
     265    if (!d || !d->initialized)
    244266        return QString();
    245     return *d->current;
     267    return ;
    246268}
    247269
     
    255277{
    256278    Q_D(const QScriptValueIterator);
    257     if (!d || !d->initialized)
     279    if (!d || !d->initialized)
    258280        return QScriptString();
    259     return d->object.engine()->toStringHandle(name());
     281    return d->);
    260282}
    261283
     
    269291{
    270292    Q_D(const QScriptValueIterator);
    271     if (!d || !d->initialized)
     293    if (!d || !d->initialized)
    272294        return QScriptValue();
    273     return d->object.property(name());
     295    QScript::APIShim shim(d->engine());
     296    JSC::JSValue jsValue = d->object()->property(*d->current);
     297    return d->engine()->scriptValueFromJSCValue(jsValue);
    274298}
    275299
     
    283307{
    284308    Q_D(QScriptValueIterator);
    285     if (!d || !d->initialized)
    286         return;
    287     d->object.setProperty(name(), value);
     309    if (!d || !d->initialized || !d->engine())
     310        return;
     311    QScript::APIShim shim(d->engine());
     312    JSC::JSValue jsValue = d->engine()->scriptValueToJSCValue(value);
     313    d->object()->setProperty(*d->current, jsValue);
    288314}
    289315
     
    297323{
    298324    Q_D(const QScriptValueIterator);
    299     if (!d || !d->initialized)
     325    if (!d || !d->initialized)
    300326        return 0;
    301     return d->object.propertyFlags(name());
     327    QScript::APIShim shim(d->engine());
     328    return d->object()->propertyFlags(*d->current);
    302329}
    303330
     
    311338{
    312339    Q_D(QScriptValueIterator);
    313     if (!d || !d->initialized)
    314         return;
    315     d->object.setProperty(name(), QScriptValue());
     340    if (!d || !d->initialized || !d->engine())
     341        return;
     342    QScript::APIShim shim(d->engine());
     343    d->object()->setProperty(*d->current, JSC::JSValue());
    316344    d->propertyNames.erase(d->current);
    317345}
     
    327355    if (object.isObject()) {
    328356        d_ptr.reset(new QScriptValueIteratorPrivate());
    329         d_ptr->object = object;
     357        d_ptr->object = object;
    330358    }
    331359    return *this;
Note: See TracChangeset for help on using the changeset viewer.