bool StyleSheetContents::isCacheableForResource() const { // This would require dealing with multiple clients for load callbacks. if (!loadCompleted()) return false; // FIXME: StyleSheets with media queries can't be cached because their RuleSet // is processed differently based off the media queries, which might resolve // differently depending on the context of the parent CSSStyleSheet (e.g. // if they are in differently sized iframes). Once RuleSets are media query // agnostic, we can restore sharing of StyleSheetContents with medea queries. if (m_hasMediaQueries) return false; // FIXME: Support copying import rules. if (!m_importRules.isEmpty()) return false; // FIXME: Support cached stylesheets in import rules. if (m_ownerRule) return false; if (m_didLoadErrorOccur) return false; // It is not the original sheet anymore. if (m_isMutable) return false; // If the header is valid we are not going to need to check the // SecurityOrigin. // FIXME: Valid mime type avoids the check too. if (!m_hasSyntacticallyValidCSSHeader) return false; return true; }
Q_DECL_EXPORT int main(int argc, char *argv[]) { QScopedPointer<QApplication> app(createApplication(argc, argv)); QmlApplicationViewer viewer; viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockPortrait); viewer.setMainQmlFile(QLatin1String("qml/aeroUInokia/mainLoader.qml")); QGraphicsObject *item = viewer.rootObject(); QObject::connect(item, SIGNAL(loadCompleted()), &viewer, SLOT(setOrientationAuto())); viewer.showExpanded(); return app->exec(); }
bool OctreePersistThread::process() { if (!_initialLoadComplete) { quint64 loadStarted = usecTimestampNow(); qDebug() << "loading Octrees from file: " << _filename << "..."; bool persistantFileRead; _tree->lockForWrite(); { PerformanceWarning warn(true, "Loading Octree File", true); persistantFileRead = _tree->readFromSVOFile(_filename.toLocal8Bit().constData()); _tree->pruneTree(); } _tree->unlock(); quint64 loadDone = usecTimestampNow(); _loadTimeUSecs = loadDone - loadStarted; _tree->clearDirtyBit(); // the tree is clean since we just loaded it qDebug("DONE loading Octrees from file... fileRead=%s", debug::valueOf(persistantFileRead)); unsigned long nodeCount = OctreeElement::getNodeCount(); unsigned long internalNodeCount = OctreeElement::getInternalNodeCount(); unsigned long leafNodeCount = OctreeElement::getLeafNodeCount(); qDebug("Nodes after loading scene %lu nodes %lu internal %lu leaves", nodeCount, internalNodeCount, leafNodeCount); bool wantDebug = false; if (wantDebug) { double usecPerGet = (double)OctreeElement::getGetChildAtIndexTime() / (double)OctreeElement::getGetChildAtIndexCalls(); qDebug() << "getChildAtIndexCalls=" << OctreeElement::getGetChildAtIndexCalls() << " getChildAtIndexTime=" << OctreeElement::getGetChildAtIndexTime() << " perGet=" << usecPerGet; double usecPerSet = (double)OctreeElement::getSetChildAtIndexTime() / (double)OctreeElement::getSetChildAtIndexCalls(); qDebug() << "setChildAtIndexCalls=" << OctreeElement::getSetChildAtIndexCalls() << " setChildAtIndexTime=" << OctreeElement::getSetChildAtIndexTime() << " perSet=" << usecPerSet; } _initialLoadComplete = true; _lastBackup = _lastCheck = usecTimestampNow(); // we just loaded, no need to save again time(&_lastPersistTime); emit loadCompleted(); } if (isStillRunning()) { quint64 MSECS_TO_USECS = 1000; quint64 USECS_TO_SLEEP = 10 * MSECS_TO_USECS; // every 10ms usleep(USECS_TO_SLEEP); // do our updates then check to save... _tree->update(); quint64 now = usecTimestampNow(); quint64 sinceLastSave = now - _lastCheck; quint64 intervalToCheck = _persistInterval * MSECS_TO_USECS; if (sinceLastSave > intervalToCheck) { _lastCheck = now; persist(); } } // if we were asked to debugTimestampNow do that now... if (_debugTimestampNow) { quint64 now = usecTimestampNow(); quint64 sinceLastDebug = now - _lastTimeDebug; quint64 DEBUG_TIMESTAMP_INTERVAL = 600000000; // every 10 minutes if (sinceLastDebug > DEBUG_TIMESTAMP_INTERVAL) { _lastTimeDebug = usecTimestampNow(true); // ask for debug output } } return isStillRunning(); // keep running till they terminate us }