WebKit Bugzilla
Attachment 346678 Details for
Bug 188371
: [MiniBrowser][Win] Allow selection of recent user agents
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-188371.diff (text/plain), 13.42 KB, created by
Don Olmstead
on 2018-08-06 20:14:15 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Don Olmstead
Created:
2018-08-06 20:14:15 PDT
Size:
13.42 KB
patch
obsolete
>diff --git a/Tools/ChangeLog b/Tools/ChangeLog >index 150c745a2d6..f94ac98d9ee 100644 >--- a/Tools/ChangeLog >+++ b/Tools/ChangeLog >@@ -1,3 +1,31 @@ >+2018-08-06 Don Olmstead <don.olmstead@sony.com> >+ >+ [MiniBrowser][Win] Allow selection of recent user agents >+ https://bugs.webkit.org/show_bug.cgi?id=188371 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Updates the user agent spoofing strings to the latest released >+ versions and adds Microsoft Edge's user agent. >+ >+ Moves the menu item selection to the common base class, BrowserWindow >+ to support user agent spoofing in a WebKitLegacyBrowserWindow and >+ WebKitBrowserWindow. >+ >+ * MiniBrowser/win/BrowserWindow.cpp: Added. >+ (BrowserWindow::setUserAgent): >+ * MiniBrowser/win/BrowserWindow.h: >+ * MiniBrowser/win/CMakeLists.txt: >+ * MiniBrowser/win/MainWindow.cpp: >+ (MainWindow::toggleMenuItem): >+ * MiniBrowser/win/MiniBrowserLib.rc: >+ * MiniBrowser/win/MiniBrowserLibResource.h: >+ * MiniBrowser/win/WebKitBrowserWindow.cpp: >+ * MiniBrowser/win/WebKitBrowserWindow.h: >+ * MiniBrowser/win/WebKitLegacyBrowserWindow.cpp: >+ (WebKitLegacyBrowserWindow::setUserAgent): >+ * MiniBrowser/win/WebKitLegacyBrowserWindow.h: >+ > 2018-08-06 Wenson Hsieh <wenson_hsieh@apple.com> > > [iOS] Caret disappears after resigning and becoming first responder if active focus state is retained >diff --git a/Tools/MiniBrowser/win/BrowserWindow.cpp b/Tools/MiniBrowser/win/BrowserWindow.cpp >new file mode 100644 >index 00000000000..a9b6ee8c95d >--- /dev/null >+++ b/Tools/MiniBrowser/win/BrowserWindow.cpp >@@ -0,0 +1,73 @@ >+/* >+ * Copyright (C) 2018 Sony Interactive Entertainment Inc. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY >+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE >+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR >+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, >+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, >+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR >+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY >+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT >+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE >+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#include "stdafx.h" >+#include "BrowserWindow.h" >+ >+#include "MiniBrowserLibResource.h" >+ >+void BrowserWindow::setUserAgent(UINT menuID) >+{ >+ _bstr_t customUserAgent; >+ >+ switch (menuID) { >+ case IDM_UA_DEFAULT: >+ // Set to null user agent >+ break; >+ case IDM_UA_SAFARI: >+ customUserAgent = L"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1.2 Safari/605.1.15"; >+ break; >+ case IDM_UA_SAFARI_IOS_IPHONE: >+ customUserAgent = L"Mozilla/5.0 (iPhone; CPU iPhone OS 11_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Mobile/15E148 Safari/604.1"; >+ break; >+ case IDM_UA_SAFARI_IOS_IPAD: >+ customUserAgent = L"Mozilla/5.0 (iPad; CPU iPhone OS 11_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Mobile/15E148 Safari/604.1"; >+ break; >+ case IDM_UA_IE_11: >+ customUserAgent = L"Mozilla/5.0 (Windows NT 10.0; Win64; x64; Trident/7.0; rv:11.0) like Gecko"; >+ break; >+ case IDM_UA_EDGE: >+ customUserAgent = L"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299"; >+ break; >+ case IDM_UA_CHROME_MAC: >+ customUserAgent = L"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"; >+ break; >+ case IDM_UA_CHROME_WIN: >+ customUserAgent = L"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"; >+ break; >+ case IDM_UA_FIREFOX_MAC: >+ customUserAgent = L"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:61.0) Gecko/20100101 Firefox/61.0"; >+ break; >+ case IDM_UA_FIREFOX_WIN: >+ customUserAgent = L"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:61.0) Gecko/20100101 Firefox/61.0"; >+ break; >+ case IDM_UA_OTHER: >+ default: >+ ASSERT(0); // We should never hit this case >+ return; >+ } >+ >+ setUserAgent(customUserAgent); >+} >diff --git a/Tools/MiniBrowser/win/BrowserWindow.h b/Tools/MiniBrowser/win/BrowserWindow.h >index 9aeaec4d09f..91d7b39408e 100644 >--- a/Tools/MiniBrowser/win/BrowserWindow.h >+++ b/Tools/MiniBrowser/win/BrowserWindow.h >@@ -46,7 +46,7 @@ public: > virtual void launchInspector() = 0; > > virtual _bstr_t userAgent() = 0; >- virtual void setUserAgent(UINT menuID) = 0; >+ void setUserAgent(UINT menuID); > virtual void setUserAgent(_bstr_t& customUAString) = 0; > > virtual void showLayerTree() = 0; >diff --git a/Tools/MiniBrowser/win/CMakeLists.txt b/Tools/MiniBrowser/win/CMakeLists.txt >index 61561a36f74..7fa2f3e342c 100644 >--- a/Tools/MiniBrowser/win/CMakeLists.txt >+++ b/Tools/MiniBrowser/win/CMakeLists.txt >@@ -7,6 +7,7 @@ set(MiniBrowser_INCLUDE_DIRECTORIES > > set(MiniBrowser_SOURCES > AccessibilityDelegate.cpp >+ BrowserWindow.cpp > Common.cpp > DOMDefaultImpl.cpp > MainWindow.cpp >diff --git a/Tools/MiniBrowser/win/MainWindow.cpp b/Tools/MiniBrowser/win/MainWindow.cpp >index 7e36a82af2c..f90528c465d 100644 >--- a/Tools/MiniBrowser/win/MainWindow.cpp >+++ b/Tools/MiniBrowser/win/MainWindow.cpp >@@ -294,9 +294,10 @@ bool MainWindow::toggleMenuItem(UINT menuID) > > switch (menuID) { > case IDM_UA_DEFAULT: >- case IDM_UA_SAFARI_8_0: >- case IDM_UA_SAFARI_IOS_8_IPHONE: >- case IDM_UA_SAFARI_IOS_8_IPAD: >+ case IDM_UA_SAFARI: >+ case IDM_UA_SAFARI_IOS_IPHONE: >+ case IDM_UA_SAFARI_IOS_IPAD: >+ case IDM_UA_EDGE: > case IDM_UA_IE_11: > case IDM_UA_CHROME_MAC: > case IDM_UA_CHROME_WIN: >diff --git a/Tools/MiniBrowser/win/MiniBrowserLib.rc b/Tools/MiniBrowser/win/MiniBrowserLib.rc >index 5c82f006782..2ac64e29172 100755 >--- a/Tools/MiniBrowser/win/MiniBrowserLib.rc >+++ b/Tools/MiniBrowser/win/MiniBrowserLib.rc >@@ -77,11 +77,12 @@ BEGIN > BEGIN > MENUITEM "Default (Automatically Chosen)", IDM_UA_DEFAULT > MENUITEM SEPARATOR >- MENUITEM "Safari 8.0", IDM_UA_SAFARI_8_0 >+ MENUITEM "Safari", IDM_UA_SAFARI > MENUITEM SEPARATOR >- MENUITEM "Safari iOS 8 - iPhone", IDM_UA_SAFARI_IOS_8_IPHONE >- MENUITEM "Safari iOS 8 - iPad", IDM_UA_SAFARI_IOS_8_IPAD >+ MENUITEM "Safari iOS - iPhone", IDM_UA_SAFARI_IOS_IPHONE >+ MENUITEM "Safari iOS - iPad", IDM_UA_SAFARI_IOS_IPAD > MENUITEM SEPARATOR >+ MENUITEM "Microsoft Edge", IDM_UA_EDGE > MENUITEM "Internet Explorer 11.0", IDM_UA_IE_11 > MENUITEM SEPARATOR > MENUITEM "Google Chrome - Mac", IDM_UA_CHROME_MAC >diff --git a/Tools/MiniBrowser/win/MiniBrowserLibResource.h b/Tools/MiniBrowser/win/MiniBrowserLibResource.h >index 30375d72b32..323ff23b22d 100755 >--- a/Tools/MiniBrowser/win/MiniBrowserLibResource.h >+++ b/Tools/MiniBrowser/win/MiniBrowserLibResource.h >@@ -40,21 +40,22 @@ > #define IDM_HISTORY_LINK9 159 > #define IDT_UPDATE_STATS 160 > #define IDM_UA_DEFAULT 161 >-#define IDM_UA_SAFARI_8_0 162 >-#define IDM_UA_SAFARI_IOS_8_IPHONE 163 >-#define IDM_UA_SAFARI_IOS_8_IPAD 164 >-#define IDM_UA_IE_11 165 >-#define IDM_UA_CHROME_MAC 166 >-#define IDM_UA_CHROME_WIN 167 >-#define IDM_UA_FIREFOX_MAC 168 >-#define IDM_UA_FIREFOX_WIN 169 >-#define IDM_UA_OTHER 170 >-#define IDM_ACTUAL_SIZE 171 >-#define IDM_ZOOM_IN 172 >-#define IDM_ZOOM_OUT 173 >-#define IDM_SHOW_LAYER_TREE 174 >-#define IDD_AUTH 174 >-#define IDM_DEBUG_INFO_LAYER 175 >+#define IDM_UA_SAFARI 162 >+#define IDM_UA_SAFARI_IOS_IPHONE 163 >+#define IDM_UA_SAFARI_IOS_IPAD 164 >+#define IDM_UA_EDGE 165 >+#define IDM_UA_IE_11 166 >+#define IDM_UA_CHROME_MAC 167 >+#define IDM_UA_CHROME_WIN 168 >+#define IDM_UA_FIREFOX_MAC 169 >+#define IDM_UA_FIREFOX_WIN 170 >+#define IDM_UA_OTHER 171 >+#define IDM_ACTUAL_SIZE 172 >+#define IDM_ZOOM_IN 173 >+#define IDM_ZOOM_OUT 174 >+#define IDM_SHOW_LAYER_TREE 175 >+#define IDD_AUTH 176 >+#define IDM_DEBUG_INFO_LAYER 177 > #define IDC_EMPTY_URL_CACHE 1000 > #define IDC_RETURN_FREE_MEMORY 1001 > #define IDC_EMPTY_WEBCORE_CACHE 1002 >diff --git a/Tools/MiniBrowser/win/WebKitBrowserWindow.cpp b/Tools/MiniBrowser/win/WebKitBrowserWindow.cpp >index cd69795b6a8..e658a4ea423 100644 >--- a/Tools/MiniBrowser/win/WebKitBrowserWindow.cpp >+++ b/Tools/MiniBrowser/win/WebKitBrowserWindow.cpp >@@ -163,11 +163,6 @@ void WebKitBrowserWindow::launchInspector() > WKInspectorShow(inspector); > } > >-void WebKitBrowserWindow::setUserAgent(UINT menuID) >-{ >- // This method should be removed. >-} >- > void WebKitBrowserWindow::setUserAgent(_bstr_t& customUAString) > { > auto page = WKViewGetPage(m_view.get()); >diff --git a/Tools/MiniBrowser/win/WebKitBrowserWindow.h b/Tools/MiniBrowser/win/WebKitBrowserWindow.h >index 0502a8a07d4..1583d7416a7 100644 >--- a/Tools/MiniBrowser/win/WebKitBrowserWindow.h >+++ b/Tools/MiniBrowser/win/WebKitBrowserWindow.h >@@ -48,7 +48,6 @@ private: > void launchInspector() override; > > _bstr_t userAgent() override; >- void setUserAgent(UINT menuID) override; > void setUserAgent(_bstr_t&) override; > > void showLayerTree() override; >diff --git a/Tools/MiniBrowser/win/WebKitLegacyBrowserWindow.cpp b/Tools/MiniBrowser/win/WebKitLegacyBrowserWindow.cpp >index e9def39ef2c..d3f88ba3fb3 100644 >--- a/Tools/MiniBrowser/win/WebKitLegacyBrowserWindow.cpp >+++ b/Tools/MiniBrowser/win/WebKitLegacyBrowserWindow.cpp >@@ -521,51 +521,11 @@ void WebKitLegacyBrowserWindow::exitProgram() > ::PostMessage(m_hMainWnd, static_cast<UINT>(WM_COMMAND), MAKELPARAM(IDM_EXIT, 0), 0); > } > >-void WebKitLegacyBrowserWindow::setUserAgent(UINT menuID) >+void WebKitLegacyBrowserWindow::setUserAgent(_bstr_t& customUserAgent) > { > if (!webView()) > return; > >- _bstr_t customUserAgent; >- switch (menuID) { >- case IDM_UA_DEFAULT: >- // Set to null user agent >- break; >- case IDM_UA_SAFARI_8_0: >- customUserAgent = L"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10) AppleWebKit/600.1.25 (KHTML, like Gecko) Version/8.0 Safari/600.1.25"; >- break; >- case IDM_UA_SAFARI_IOS_8_IPHONE: >- customUserAgent = L"Mozilla/5.0 (iPhone; CPU OS 8_1 like Mac OS X) AppleWebKit/601.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B403 Safari/600.1.4"; >- break; >- case IDM_UA_SAFARI_IOS_8_IPAD: >- customUserAgent = L"Mozilla/5.0 (iPad; CPU OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B403 Safari/600.1.4"; >- break; >- case IDM_UA_IE_11: >- customUserAgent = L"Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko"; >- break; >- case IDM_UA_CHROME_MAC: >- customUserAgent = L"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.65 Safari/537.31"; >- break; >- case IDM_UA_CHROME_WIN: >- customUserAgent = L"Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31"; >- break; >- case IDM_UA_FIREFOX_MAC: >- customUserAgent = L"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:20.0) Gecko/20100101 Firefox/20.0"; >- break; >- case IDM_UA_FIREFOX_WIN: >- customUserAgent = L"Mozilla/5.0 (Windows NT 6.2; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0"; >- break; >- case IDM_UA_OTHER: >- default: >- ASSERT(0); // We should never hit this case >- return; >- } >- >- setUserAgent(customUserAgent); >-} >- >-void WebKitLegacyBrowserWindow::setUserAgent(_bstr_t& customUserAgent) >-{ > webView()->setCustomUserAgent(customUserAgent.GetBSTR()); > } > >diff --git a/Tools/MiniBrowser/win/WebKitLegacyBrowserWindow.h b/Tools/MiniBrowser/win/WebKitLegacyBrowserWindow.h >index 74b0f32405c..711e745378f 100644 >--- a/Tools/MiniBrowser/win/WebKitLegacyBrowserWindow.h >+++ b/Tools/MiniBrowser/win/WebKitLegacyBrowserWindow.h >@@ -96,7 +96,6 @@ private: > bool goBack(); > bool goForward(); > >- void setUserAgent(UINT menuID); > void setUserAgent(_bstr_t& customUAString); > _bstr_t userAgent(); >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 188371
:
346677
| 346678