[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
abecsi at webkit.org
abecsi at webkit.org
Wed Dec 22 15:59:28 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 7358e59eff88a876aef9d4ed95fb14c62fd0dbff
Author: abecsi at webkit.org <abecsi at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Nov 17 18:40:11 2010 +0000
2010-11-17 Andras Becsi <abecsi at webkit.org>
Reviewed by Andreas Kling.
[Qt][WK2] Make it possible to set custom user agent strings in MiniBrowser.
https://bugs.webkit.org/show_bug.cgi?id=49627
Add a user agent dialog and a resource file for useragentlist.txt to MiniBrowser.
* MiniBrowser/MiniBrowser.qrc: Added.
Add it here to prevent qmake from detecting it
since it needs to be copied to the build directory.
* MiniBrowser/qt/BrowserWindow.cpp:
(BrowserWindow::BrowserWindow):
(BrowserWindow::updateUserAgentList):
(BrowserWindow::showUserAgentDialog):
* MiniBrowser/qt/BrowserWindow.h:
* MiniBrowser/qt/MiniBrowser.pro:
2010-11-17 Andras Becsi <abecsi at webkit.org>
Reviewed by Andreas Kling.
[Qt][WK2] Make it possible to set custom user agent strings in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=49627
Copy the MiniBrowser.qrc and QtTestBrowser's useragentlist.txt file
to the build directory of MiniBrowser because it has to be in a
subdirectory of the resource file.
Add a method to QWKPage to retrieve the custom user agent string.
* DerivedSources.pro:
* UIProcess/API/qt/qwkpage.cpp:
(QWKPage::customUserAgent):
* UIProcess/API/qt/qwkpage.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72220 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 0bb7ded..3de0545 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,20 @@
+2010-11-17 Andras Becsi <abecsi at webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] Make it possible to set custom user agent strings in MiniBrowser
+ https://bugs.webkit.org/show_bug.cgi?id=49627
+
+ Copy the MiniBrowser.qrc and QtTestBrowser's useragentlist.txt file
+ to the build directory of MiniBrowser because it has to be in a
+ subdirectory of the resource file.
+ Add a method to QWKPage to retrieve the custom user agent string.
+
+ * DerivedSources.pro:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::customUserAgent):
+ * UIProcess/API/qt/qwkpage.h:
+
2010-11-17 Simon Fraser <simon.fraser at apple.com>
Reviewed by Adam Roben.
diff --git a/WebKit2/DerivedSources.pro b/WebKit2/DerivedSources.pro
index 57ec528..f44fe37 100644
--- a/WebKit2/DerivedSources.pro
+++ b/WebKit2/DerivedSources.pro
@@ -39,7 +39,8 @@ DIRS = \
$$OUTPUT_DIR/include/JavaScriptCore \
$$OUTPUT_DIR/include/WebCore \
$$OUTPUT_DIR/include/WebKit2 \
- $$OUTPUT_DIR/WebKit2/generated
+ $$OUTPUT_DIR/WebKit2/generated \
+ $$OUTPUT_DIR/WebKitTools/MiniBrowser/qt
for(DIR, DIRS) {
!exists($$DIR): system($$QMAKE_MKDIR $$DIR)
@@ -109,6 +110,20 @@ SCRIPTS = \
$$PWD/Scripts/webkit2/__init__.py \
$$PWD/Scripts/webkit2/messages.py
+ualist_copier.commands = $(COPY_FILE) $${SRC_ROOT_DIR}/WebKitTools/QtTestBrowser/useragentlist.txt $$OUTPUT_DIR/WebKitTools/MiniBrowser/qt/useragentlist.txt
+ualist_copier.depends = $${SRC_ROOT_DIR}/WebKitTools/QtTestBrowser/useragentlist.txt $$OUTPUT_DIR/WebKitTools/MiniBrowser/qt/MiniBrowser.qrc
+ualist_copier.input = $${SRC_ROOT_DIR}/WebKitTools/QtTestBrowser/useragentlist.txt
+ualist_copier.output = $$OUTPUT_DIR/WebKitTools/MiniBrowser/qt/useragentlist.txt
+generated_files.depends += ualist_copier
+QMAKE_EXTRA_TARGETS += ualist_copier
+
+qrc_copier.commands = $(COPY_FILE) $${SRC_ROOT_DIR}/WebKitTools/MiniBrowser/MiniBrowser.qrc $$OUTPUT_DIR/WebKitTools/MiniBrowser/qt/MiniBrowser.qrc
+qrc_copier.depends = $$OUTPUT_DIR/WebKitTools/MiniBrowser/qt/useragentlist.txt $${SRC_ROOT_DIR}/WebKitTools/MiniBrowser/MiniBrowser.qrc
+qrc_copier.input = $${SRC_ROOT_DIR}/WebKitTools/MiniBrowser/MiniBrowser.qrc
+qrc_copier.output = $$OUTPUT_DIR/WebKitTools/MiniBrowser/qt/MiniBrowser.qrc
+generated_files.depends += qrc_copier
+QMAKE_EXTRA_TARGETS += qrc_copier
+
message_header_generator.commands = $${PYTHON} $${SRC_ROOT_DIR}WebKit2/Scripts/generate-messages-header.py ${QMAKE_FILE_IN} > ${QMAKE_FILE_OUT}
message_header_generator.input = MESSAGE_RECEIVERS
message_header_generator.depends = $$SCRIPTS
diff --git a/WebKit2/UIProcess/API/qt/qwkpage.cpp b/WebKit2/UIProcess/API/qt/qwkpage.cpp
index 2eb507a..4a1f2ce 100644
--- a/WebKit2/UIProcess/API/qt/qwkpage.cpp
+++ b/WebKit2/UIProcess/API/qt/qwkpage.cpp
@@ -476,6 +476,11 @@ void QWKPage::setCustomUserAgent(const QString& userAgent)
WKPageSetCustomUserAgent(pageRef(), wkUserAgent.get());
}
+QString QWKPage::customUserAgent() const
+{
+ return WKStringCopyQString(WKPageCopyCustomUserAgent(pageRef()));
+}
+
void QWKPage::load(const QUrl& url)
{
WKRetainPtr<WKURLRef> wkurl(WKURLCreateWithQUrl(url));
diff --git a/WebKit2/UIProcess/API/qt/qwkpage.h b/WebKit2/UIProcess/API/qt/qwkpage.h
index 8f63bbc..866f84f 100644
--- a/WebKit2/UIProcess/API/qt/qwkpage.h
+++ b/WebKit2/UIProcess/API/qt/qwkpage.h
@@ -93,6 +93,7 @@ public:
void setCreateNewPageFunction(CreateNewPageFn function);
void setCustomUserAgent(const QString&);
+ QString customUserAgent() const;
qreal textZoomFactor() const;
qreal pageZoomFactor() const;
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index f0aac78..4c61156 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,22 @@
+2010-11-17 Andras Becsi <abecsi at webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] Make it possible to set custom user agent strings in MiniBrowser.
+ https://bugs.webkit.org/show_bug.cgi?id=49627
+
+ Add a user agent dialog and a resource file for useragentlist.txt to MiniBrowser.
+
+ * MiniBrowser/MiniBrowser.qrc: Added.
+ Add it here to prevent qmake from detecting it
+ since it needs to be copied to the build directory.
+ * MiniBrowser/qt/BrowserWindow.cpp:
+ (BrowserWindow::BrowserWindow):
+ (BrowserWindow::updateUserAgentList):
+ (BrowserWindow::showUserAgentDialog):
+ * MiniBrowser/qt/BrowserWindow.h:
+ * MiniBrowser/qt/MiniBrowser.pro:
+
2010-11-17 Adam Roben <aroben at apple.com>
Make changes to the Mac WebKit2 Skipped file trigger Windows builds
diff --git a/WebKitTools/MiniBrowser/qt/BrowserWindow.cpp b/WebKitTools/MiniBrowser/qt/BrowserWindow.cpp
index 1af18a3..4c56c3b 100644
--- a/WebKitTools/MiniBrowser/qt/BrowserWindow.cpp
+++ b/WebKitTools/MiniBrowser/qt/BrowserWindow.cpp
@@ -40,6 +40,9 @@ BrowserWindow::BrowserWindow(QGraphicsWKView::BackingStoreType type)
m_addressBar = new QLineEdit();
m_menu->addAction("New Window", this, SLOT(newWindow()));
+ m_menu->addAction("Change User Agent", this, SLOT(showUserAgentDialog()));
+
+ m_menu->addSeparator();
m_menu->addAction("Quit", this, SLOT(close()));
m_browser->setFocus(Qt::OtherFocusReason);
@@ -122,6 +125,53 @@ void BrowserWindow::urlChanged(const QUrl& url)
m_addressBar->setText(url.toString());
}
+void BrowserWindow::updateUserAgentList()
+{
+ QWKPage* page = m_browser->view()->page();
+
+ QFile file(":/useragentlist.txt");
+
+ if (file.open(QIODevice::ReadOnly)) {
+ while (!file.atEnd())
+ m_userAgentList << file.readLine().trimmed();
+ file.close();
+ }
+
+ Q_ASSERT(!m_userAgentList.isEmpty());
+
+ if (!(page->customUserAgent().isEmpty() || m_userAgentList.contains(page->customUserAgent())))
+ m_userAgentList << page->customUserAgent();
+}
+
+void BrowserWindow::showUserAgentDialog()
+{
+ updateUserAgentList();
+
+ QDialog dialog(this);
+ dialog.setWindowTitle("Change User Agent");
+ dialog.resize(size().width() * 0.7, dialog.size().height());
+ QVBoxLayout* layout = new QVBoxLayout(&dialog);
+ dialog.setLayout(layout);
+
+ QComboBox* combo = new QComboBox(&dialog);
+ combo->setSizeAdjustPolicy(QComboBox::AdjustToMinimumContentsLength);
+ combo->setEditable(true);
+ combo->insertItems(0, m_userAgentList);
+ layout->addWidget(combo);
+
+ int index = combo->findText(m_browser->view()->page()->customUserAgent());
+ combo->setCurrentIndex(index);
+
+ QDialogButtonBox* buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel
+ , Qt::Horizontal, &dialog);
+ connect(buttonBox, SIGNAL(accepted()), &dialog, SLOT(accept()));
+ connect(buttonBox, SIGNAL(rejected()), &dialog, SLOT(reject()));
+ layout->addWidget(buttonBox);
+
+ if (dialog.exec() && !combo->currentText().isEmpty())
+ m_browser->view()->page()->setCustomUserAgent(combo->currentText());
+}
+
BrowserWindow::~BrowserWindow()
{
delete m_addressBar;
diff --git a/WebKitTools/MiniBrowser/qt/BrowserWindow.h b/WebKitTools/MiniBrowser/qt/BrowserWindow.h
index b171a50..fe94d6b 100644
--- a/WebKitTools/MiniBrowser/qt/BrowserWindow.h
+++ b/WebKitTools/MiniBrowser/qt/BrowserWindow.h
@@ -29,11 +29,10 @@
#ifndef BrowserWindow_h
#define BrowserWindow_h
-#define PLATFORM(x) 0
-
#include "BrowserView.h"
-#include <qgraphicswkview.h>
+#include <QStringList>
#include <QtGui>
+#include <qgraphicswkview.h>
class BrowserWindow : public QMainWindow {
Q_OBJECT
@@ -52,11 +51,15 @@ protected slots:
void loadProgress(int progress);
void titleChanged(const QString&);
void urlChanged(const QUrl&);
+ void showUserAgentDialog();
private:
+ void updateUserAgentList();
+
BrowserView* m_browser;
QMenuBar* m_menu;
QLineEdit* m_addressBar;
+ QStringList m_userAgentList;
QGraphicsWKView::BackingStoreType m_backingStoreType;
};
diff --git a/WebKitTools/MiniBrowser/qt/MiniBrowser.pro b/WebKitTools/MiniBrowser/qt/MiniBrowser.pro
index e42c49a..82f6a00 100644
--- a/WebKitTools/MiniBrowser/qt/MiniBrowser.pro
+++ b/WebKitTools/MiniBrowser/qt/MiniBrowser.pro
@@ -51,3 +51,10 @@ contains(QT_CONFIG, opengl) {
QT += opengl
DEFINES += QT_CONFIGURED_WITH_OPENGL
}
+
+# We have to copy the resource file to the build directory
+# to use the useragentlist.txt file of QtTestBrowser without
+# polluting the source tree.
+# The copier is defined in WebKit2/DerivedSources.pro.
+RESOURCES += \
+ $$OUTPUT_DIR/WebKitTools/MiniBrowser/qt/MiniBrowser.qrc
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list