Title: [232609] trunk/Tools
Revision
232609
Author
[email protected]
Date
2018-06-07 19:19:39 -0700 (Thu, 07 Jun 2018)

Log Message

[Win][MiniBrowser] MiniBrowser::updateDeviceScaleFactor should be a MainWindow's method
https://bugs.webkit.org/show_bug.cgi?id=186387

Reviewed by Ryosuke Niwa.

MiniBrowser::updateDeviceScaleFactor does nothing for MiniBrowser.
It should be a MainWindow's method.

* MiniBrowser/win/MainWindow.cpp:
(MainWindow::init): Call MainWindow::updateDeviceScaleFactor.
(MainWindow::resizeSubViews): Do not set a font every time window size is changed.
(MainWindow::WndProc): Call MainWindow::updateDeviceScaleFactor on WM_DPICHANGED.
(MainWindow::updateDeviceScaleFactor): Converted from
MiniBrowser::updateDeviceScaleFactor and
MiniBrowser::generateFontForScaleFactor. Set a URL bar's font if DPI is changed.
* MiniBrowser/win/MainWindow.h:
* MiniBrowser/win/MiniBrowser.cpp:
(MiniBrowser::init):
(MiniBrowser::generateFontForScaleFactor): Deleted.
(MiniBrowser::updateDeviceScaleFactor): Deleted.
* MiniBrowser/win/MiniBrowser.h:
(MiniBrowser::deviceScaleFactor): Deleted.
(MiniBrowser::urlBarFont): Deleted.

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (232608 => 232609)


--- trunk/Tools/ChangeLog	2018-06-08 01:03:16 UTC (rev 232608)
+++ trunk/Tools/ChangeLog	2018-06-08 02:19:39 UTC (rev 232609)
@@ -1,3 +1,29 @@
+2018-06-07  Fujii Hironori  <[email protected]>
+
+        [Win][MiniBrowser] MiniBrowser::updateDeviceScaleFactor should be a MainWindow's method
+        https://bugs.webkit.org/show_bug.cgi?id=186387
+
+        Reviewed by Ryosuke Niwa.
+
+        MiniBrowser::updateDeviceScaleFactor does nothing for MiniBrowser.
+        It should be a MainWindow's method.
+
+        * MiniBrowser/win/MainWindow.cpp:
+        (MainWindow::init): Call MainWindow::updateDeviceScaleFactor.
+        (MainWindow::resizeSubViews): Do not set a font every time window size is changed.
+        (MainWindow::WndProc): Call MainWindow::updateDeviceScaleFactor on WM_DPICHANGED.
+        (MainWindow::updateDeviceScaleFactor): Converted from
+        MiniBrowser::updateDeviceScaleFactor and
+        MiniBrowser::generateFontForScaleFactor. Set a URL bar's font if DPI is changed.
+        * MiniBrowser/win/MainWindow.h:
+        * MiniBrowser/win/MiniBrowser.cpp:
+        (MiniBrowser::init):
+        (MiniBrowser::generateFontForScaleFactor): Deleted.
+        (MiniBrowser::updateDeviceScaleFactor): Deleted.
+        * MiniBrowser/win/MiniBrowser.h:
+        (MiniBrowser::deviceScaleFactor): Deleted.
+        (MiniBrowser::urlBarFont): Deleted.
+
 2018-06-07  Jonathan Bedard  <[email protected]>
 
         [webkitpy] Treat svn versions as Version objects

Modified: trunk/Tools/MiniBrowser/win/MainWindow.cpp (232608 => 232609)


--- trunk/Tools/MiniBrowser/win/MainWindow.cpp	2018-06-08 01:03:16 UTC (rev 232608)
+++ trunk/Tools/MiniBrowser/win/MainWindow.cpp	2018-06-08 02:19:39 UTC (rev 232609)
@@ -34,6 +34,7 @@
 }
 
 static constexpr int controlButtonWidth = 24;
+static constexpr int urlBarHeight = 24;
 
 static WNDPROC DefEditProc = nullptr;
 
@@ -119,6 +120,7 @@
     if (FAILED(hr))
         return false;
 
+    updateDeviceScaleFactor();
     resizeSubViews();
     SetFocus(m_hURLBarWnd);
     return true;
@@ -131,7 +133,6 @@
     RECT rcClient;
     GetClientRect(m_hMainWnd, &rcClient);
 
-    constexpr int urlBarHeight = 24;
     int height = scaleFactor * urlBarHeight;
     int width = scaleFactor * controlButtonWidth;
 
@@ -139,8 +140,6 @@
     MoveWindow(m_hForwardButtonWnd, width, 0, width, height, TRUE);
     MoveWindow(m_hURLBarWnd, width * 2, 0, rcClient.right, height, TRUE);
 
-    ::SendMessage(m_hURLBarWnd, static_cast<UINT>(WM_SETFONT), reinterpret_cast<WPARAM>(m_browserWindow->urlBarFont()), TRUE);
-
     if (m_browserWindow->usesLayeredWebView() || !m_browserWindow->hwnd())
         return;
     MoveWindow(m_browserWindow->hwnd(), 0, height, rcClient.right, rcClient.bottom - height, TRUE);
@@ -229,7 +228,7 @@
         thisWindow->resizeSubViews();
         break;
     case WM_DPICHANGED:
-        thisWindow->browserWindow()->updateDeviceScaleFactor();
+        thisWindow->updateDeviceScaleFactor();
         return DefWindowProc(hWnd, message, wParam, lParam);
     default:
         return DefWindowProc(hWnd, message, wParam, lParam);
@@ -418,3 +417,14 @@
     _bstr_t bstr(strPtr);
     loadURL(bstr.GetBSTR());
 }
+
+void MainWindow::updateDeviceScaleFactor()
+{
+    if (m_hURLBarFont)
+        ::DeleteObject(m_hURLBarFont);
+    auto scaleFactor = WebCore::deviceScaleFactorForWindow(m_hMainWnd);
+    int fontHeight = scaleFactor * urlBarHeight * 3 / 4;
+    m_hURLBarFont = ::CreateFont(fontHeight, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, DEFAULT_CHARSET,
+        OUT_TT_ONLY_PRECIS, CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY, FF_DONTCARE, L"Times New Roman");
+    ::SendMessage(m_hURLBarWnd, static_cast<UINT>(WM_SETFONT), reinterpret_cast<WPARAM>(m_hURLBarFont), TRUE);
+}

Modified: trunk/Tools/MiniBrowser/win/MainWindow.h (232608 => 232609)


--- trunk/Tools/MiniBrowser/win/MainWindow.h	2018-06-08 01:03:16 UTC (rev 232608)
+++ trunk/Tools/MiniBrowser/win/MainWindow.h	2018-06-08 02:19:39 UTC (rev 232609)
@@ -54,6 +54,7 @@
     MainWindow();
     bool toggleMenuItem(UINT menuID);
     void onURLBarEnter();
+    void updateDeviceScaleFactor();
 
     HWND m_hMainWnd { nullptr };
     HWND m_hURLBarWnd { nullptr };
@@ -60,5 +61,6 @@
     HWND m_hBackButtonWnd { nullptr };
     HWND m_hForwardButtonWnd { nullptr };
     HWND m_hCacheWnd { nullptr };
+    HGDIOBJ m_hURLBarFont { nullptr };
     RefPtr<MiniBrowser> m_browserWindow;
 };

Modified: trunk/Tools/MiniBrowser/win/MiniBrowser.cpp (232608 => 232609)


--- trunk/Tools/MiniBrowser/win/MiniBrowser.cpp	2018-06-08 01:03:16 UTC (rev 232608)
+++ trunk/Tools/MiniBrowser/win/MiniBrowser.cpp	2018-06-08 02:19:39 UTC (rev 232609)
@@ -88,8 +88,6 @@
 
 HRESULT MiniBrowser::init()
 {
-    updateDeviceScaleFactor();
-
     HRESULT hr = WebKitCreateInstance(CLSID_WebView, 0, IID_IWebView, reinterpret_cast<void**>(&m_webView.GetInterfacePtr()));
     if (FAILED(hr))
         return hr;
@@ -627,22 +625,6 @@
     OutputDebugString(L"\n\n");
 }
 
-void MiniBrowser::generateFontForScaleFactor(float scaleFactor)
-{
-    if (m_hURLBarFont)
-        ::DeleteObject(m_hURLBarFont);
-
-    m_hURLBarFont = ::CreateFont(scaleFactor * 18, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, DEFAULT_CHARSET,
-        OUT_TT_ONLY_PRECIS, CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY, FF_DONTCARE, L"Times New Roman");
-}
-
-
-void MiniBrowser::updateDeviceScaleFactor()
-{
-    m_deviceScaleFactor = WebCore::deviceScaleFactorForWindow(m_hMainWnd);
-    generateFontForScaleFactor(m_deviceScaleFactor);
-}
-
 static BOOL CALLBACK AbortProc(HDC hDC, int Error)
 {
     MSG msg;

Modified: trunk/Tools/MiniBrowser/win/MiniBrowser.h (232608 => 232609)


--- trunk/Tools/MiniBrowser/win/MiniBrowser.h	2018-06-08 01:03:16 UTC (rev 232608)
+++ trunk/Tools/MiniBrowser/win/MiniBrowser.h	2018-06-08 02:19:39 UTC (rev 232609)
@@ -100,10 +100,6 @@
 
     void showLayerTree();
 
-    float deviceScaleFactor() { return m_deviceScaleFactor; }
-    void updateDeviceScaleFactor();
-
-    HGDIOBJ urlBarFont() { return m_hURLBarFont; }
     HWND hwnd() { return m_viewWnd; }
 
     void print();
@@ -113,7 +109,6 @@
 private:
     MiniBrowser(HWND mainWnd, HWND urlBarWnd, bool useLayeredWebView, bool pageLoadTesting);
     void subclassForLayeredWindow();
-    void generateFontForScaleFactor(float);
     bool setCacheFolder();
 
     std::vector<IWebHistoryItemPtr> m_historyItems;
@@ -139,9 +134,7 @@
 
     HWND m_hMainWnd { nullptr };
     HWND m_hURLBarWnd { nullptr };
-    HGDIOBJ m_hURLBarFont { nullptr };
     HWND m_viewWnd { nullptr };
 
-    float m_deviceScaleFactor { 1.0f };
     bool m_useLayeredWebView;
 };
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to