ginebra2/ChromeDOM.h
changeset 0 1450b09d0cfd
child 3 0954f5dd2cd0
child 5 0f2326c2a325
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ginebra2/ChromeDOM.h	Tue May 04 12:39:35 2010 +0300
@@ -0,0 +1,65 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef _GINEBRA_CHROME_DOM_H_
+#define _GINEBRA_CHROME_DOM_H_
+
+#include <QObject>
+#include <QtCore/qvariant.h>
+#include <QList>
+#include <QHash>
+#include <QWebElement>
+#include "CachedHandler.h"
+
+class QWebPage;
+class QGraphicsItem;
+
+namespace GVA {
+
+class ChromeSnippet;
+class ChromeWidget;
+class ChromeRenderer;
+
+class ChromeDOM : public QObject //TBD: Need QObject here?
+{
+  Q_OBJECT
+
+public:
+  ChromeDOM(QWebPage * page, ChromeWidget * chrome);
+  ~ChromeDOM();
+  QVariant evalInChromeContext(QString js);
+  QWebElement getElementById(const QString &id);
+  QSize getElementSize(const QString &id);
+  QRect getElementRect(const QString &id);
+  QString getElementAttribute(const QString &id, const QString &attribute);
+  QList <QWebElement> getInitialElements();
+  ChromeSnippet * getSnippet(const QString &docElementId, QGraphicsItem* parent = 0);
+  //QString getCacheableScript();
+  QList<CachedHandler> getCachedHandlers(const QString &elementId, const QRectF & ownerArea);
+  int height() { return m_height; }
+private:
+  QWebPage * m_page;
+  ChromeRenderer * m_renderer;
+  ChromeWidget * m_chrome;
+  int m_height;
+  int m_bytes;
+};
+
+} // end of namespace GVA
+
+#endif