summaryrefslogtreecommitdiffstats
path: root/Source/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp')
-rw-r--r--Source/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp152
1 files changed, 80 insertions, 72 deletions
diff --git a/Source/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
index 1b06e2e..f364b28 100644
--- a/Source/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
@@ -32,7 +32,6 @@
#include "InspectorClientQt.h"
#include "Frame.h"
-#include "InspectorBackendDispatcher.h"
#include "InspectorController.h"
#include "InspectorFrontend.h"
#include "InspectorServerQt.h"
@@ -55,9 +54,6 @@ namespace WebCore {
static const QLatin1String settingStoragePrefix("Qt/QtWebKit/QWebInspector/");
static const QLatin1String settingStorageTypeSuffix(".type");
-static String variantToSetting(const QVariant& qvariant);
-static QVariant settingToVariant(const String& value);
-
class InspectorClientWebPage : public QWebPage {
Q_OBJECT
friend class InspectorClientQt;
@@ -97,6 +93,85 @@ public slots:
}
};
+namespace {
+
+#if ENABLE(INSPECTOR)
+class InspectorFrontendSettingsQt : public InspectorFrontendClientLocal::Settings {
+public:
+ virtual ~InspectorFrontendSettingsQt() { }
+ virtual String getProperty(const String& name)
+ {
+#ifdef QT_NO_SETTINGS
+ Q_UNUSED(name)
+ Q_UNUSED(value)
+ qWarning("QWebInspector: QSettings is not supported by Qt.");
+ return String();
+#else
+ QSettings qsettings;
+ if (qsettings.status() == QSettings::AccessError) {
+ // QCoreApplication::setOrganizationName and QCoreApplication::setApplicationName haven't been called
+ qWarning("QWebInspector: QSettings couldn't read configuration setting [%s].",
+ qPrintable(static_cast<QString>(name)));
+ return String();
+ }
+
+ QString settingKey(settingStoragePrefix + QString(name));
+ QString storedValueType = qsettings.value(settingKey + settingStorageTypeSuffix).toString();
+ QVariant storedValue = qsettings.value(settingKey);
+ storedValue.convert(QVariant::nameToType(storedValueType.toAscii().data()));
+ return variantToSetting(storedValue);
+#endif // QT_NO_SETTINGS
+ }
+
+ virtual void setProperty(const String& name, const String& value)
+ {
+#ifdef QT_NO_SETTINGS
+ Q_UNUSED(name)
+ Q_UNUSED(value)
+ qWarning("QWebInspector: QSettings is not supported by Qt.");
+#else
+ QSettings qsettings;
+ if (qsettings.status() == QSettings::AccessError) {
+ qWarning("QWebInspector: QSettings couldn't persist configuration setting [%s].",
+ qPrintable(static_cast<QString>(name)));
+ return;
+ }
+
+ QVariant valueToStore = settingToVariant(value);
+ QString settingKey(settingStoragePrefix + QString(name));
+ qsettings.setValue(settingKey, valueToStore);
+ qsettings.setValue(settingKey + settingStorageTypeSuffix, QVariant::typeToName(valueToStore.type()));
+#endif // QT_NO_SETTINGS
+ }
+
+private:
+ static String variantToSetting(const QVariant& qvariant)
+ {
+ String retVal;
+
+ switch (qvariant.type()) {
+ case QVariant::Bool:
+ retVal = qvariant.toBool() ? "true" : "false";
+ case QVariant::String:
+ retVal = qvariant.toString();
+ default:
+ break;
+ }
+
+ return retVal;
+ }
+
+ static QVariant settingToVariant(const String& setting)
+ {
+ QVariant retVal;
+ retVal.setValue(static_cast<QString>(setting));
+ return retVal;
+ }
+};
+#endif // ENABLE(INSPECTOR)
+
+}
+
#if USE(V8)
static void ensureDebuggerScriptLoaded()
{
@@ -213,50 +288,6 @@ void InspectorClientQt::hideHighlight()
notImplemented();
}
-void InspectorClientQt::populateSetting(const String& key, String* setting)
-{
-#ifdef QT_NO_SETTINGS
- Q_UNUSED(key)
- Q_UNUSED(setting)
- qWarning("QWebInspector: QSettings is not supported by Qt.");
-#else
- QSettings qsettings;
- if (qsettings.status() == QSettings::AccessError) {
- // QCoreApplication::setOrganizationName and QCoreApplication::setApplicationName haven't been called
- qWarning("QWebInspector: QSettings couldn't read configuration setting [%s].",
- qPrintable(static_cast<QString>(key)));
- return;
- }
-
- QString settingKey(settingStoragePrefix + QString(key));
- QString storedValueType = qsettings.value(settingKey + settingStorageTypeSuffix).toString();
- QVariant storedValue = qsettings.value(settingKey);
- storedValue.convert(QVariant::nameToType(storedValueType.toAscii().data()));
- *setting = variantToSetting(storedValue);
-#endif // QT_NO_SETTINGS
-}
-
-void InspectorClientQt::storeSetting(const String& key, const String& setting)
-{
-#ifdef QT_NO_SETTINGS
- Q_UNUSED(key)
- Q_UNUSED(setting)
- qWarning("QWebInspector: QSettings is not supported by Qt.");
-#else
- QSettings qsettings;
- if (qsettings.status() == QSettings::AccessError) {
- qWarning("QWebInspector: QSettings couldn't persist configuration setting [%s].",
- qPrintable(static_cast<QString>(key)));
- return;
- }
-
- QVariant valueToStore = settingToVariant(setting);
- QString settingKey(settingStoragePrefix + QString(key));
- qsettings.setValue(settingKey, valueToStore);
- qsettings.setValue(settingKey + settingStorageTypeSuffix, QVariant::typeToName(valueToStore.type()));
-#endif // QT_NO_SETTINGS
-}
-
bool InspectorClientQt::sendMessageToFrontend(const String& message)
{
#if ENABLE(INSPECTOR)
@@ -276,32 +307,9 @@ bool InspectorClientQt::sendMessageToFrontend(const String& message)
#endif
}
-static String variantToSetting(const QVariant& qvariant)
-{
- String retVal;
-
- switch (qvariant.type()) {
- case QVariant::Bool:
- retVal = qvariant.toBool() ? "true" : "false";
- case QVariant::String:
- retVal = qvariant.toString();
- default:
- break;
- }
-
- return retVal;
-}
-
-static QVariant settingToVariant(const String& setting)
-{
- QVariant retVal;
- retVal.setValue(static_cast<QString>(setting));
- return retVal;
-}
-
#if ENABLE(INSPECTOR)
InspectorFrontendClientQt::InspectorFrontendClientQt(QWebPage* inspectedWebPage, PassOwnPtr<QWebView> inspectorView, InspectorClientQt* inspectorClient)
- : InspectorFrontendClientLocal(inspectedWebPage->d->page->inspectorController(), inspectorView->page()->d->page)
+ : InspectorFrontendClientLocal(inspectedWebPage->d->page->inspectorController(), inspectorView->page()->d->page, new InspectorFrontendSettingsQt())
, m_inspectedWebPage(inspectedWebPage)
, m_inspectorView(inspectorView)
, m_destroyingInspectorView(false)