WebKit Bugzilla
Attachment 342139 Details for
Bug 186387
: [Win][MiniBrowser] MiniBrowser::updateDeviceScaleFactor should be a MainWindow's method
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-186387-20180607172644.patch (text/plain), 6.59 KB, created by
Fujii Hironori
on 2018-06-07 01:26:46 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Fujii Hironori
Created:
2018-06-07 01:26:46 PDT
Size:
6.59 KB
patch
obsolete
>Subversion Revision: 232577 >diff --git a/Tools/ChangeLog b/Tools/ChangeLog >index e2d4218a522218307bc074ab12f4547ca44e6c51..39eb269f0012d9648c2f22aa6d5a1b67c07034af 100644 >--- a/Tools/ChangeLog >+++ b/Tools/ChangeLog >@@ -1,3 +1,29 @@ >+2018-06-07 Fujii Hironori <Hironori.Fujii@sony.com> >+ >+ [Win][MiniBrowser] Convert MiniBrowser::updateDeviceScaleFactor to a MainWindow's method >+ https://bugs.webkit.org/show_bug.cgi?id=186387 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ 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 Fujii Hironori <Hironori.Fujii@sony.com> > > [Win][MiniBrowser] Support multiple windows properly >diff --git a/Tools/MiniBrowser/win/MainWindow.cpp b/Tools/MiniBrowser/win/MainWindow.cpp >index 51831a31dc45b8fc5e2c57be6187c76a3da1abf4..9b8f723afb9296fff50d51ac323673c9268417b4 100644 >--- a/Tools/MiniBrowser/win/MainWindow.cpp >+++ b/Tools/MiniBrowser/win/MainWindow.cpp >@@ -119,6 +119,7 @@ bool MainWindow::init(HINSTANCE hInstance, bool usesLayeredWebView, bool pageLoa > if (FAILED(hr)) > return false; > >+ updateDeviceScaleFactor(); > resizeSubViews(); > SetFocus(m_hURLBarWnd); > return true; >@@ -139,8 +140,6 @@ void MainWindow::resizeSubViews() > 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 @@ LRESULT CALLBACK MainWindow::WndProc(HWND hWnd, UINT message, WPARAM wParam, LPA > 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,13 @@ void MainWindow::onURLBarEnter() > _bstr_t bstr(strPtr); > loadURL(bstr.GetBSTR()); > } >+ >+void MainWindow::updateDeviceScaleFactor() >+{ >+ if (m_hURLBarFont) >+ ::DeleteObject(m_hURLBarFont); >+ auto scaleFactor = WebCore::deviceScaleFactorForWindow(m_hMainWnd); >+ 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"); >+ ::SendMessage(m_hURLBarWnd, static_cast<UINT>(WM_SETFONT), reinterpret_cast<WPARAM>(m_hURLBarFont), TRUE); >+} >diff --git a/Tools/MiniBrowser/win/MainWindow.h b/Tools/MiniBrowser/win/MainWindow.h >index 81d8dd018c3c2f8993a8c718f9a5416acb7231c6..2de4b47756c58395dc703298da263ba7edf86064 100644 >--- a/Tools/MiniBrowser/win/MainWindow.h >+++ b/Tools/MiniBrowser/win/MainWindow.h >@@ -54,11 +54,13 @@ private: > MainWindow(); > bool toggleMenuItem(UINT menuID); > void onURLBarEnter(); >+ void updateDeviceScaleFactor(); > > HWND m_hMainWnd { nullptr }; > HWND m_hURLBarWnd { nullptr }; > HWND m_hBackButtonWnd { nullptr }; > HWND m_hForwardButtonWnd { nullptr }; > HWND m_hCacheWnd { nullptr }; >+ HGDIOBJ m_hURLBarFont { nullptr }; > RefPtr<MiniBrowser> m_browserWindow; > }; >diff --git a/Tools/MiniBrowser/win/MiniBrowser.cpp b/Tools/MiniBrowser/win/MiniBrowser.cpp >index c57815b94225b217090f7cadb7c3d97928ce2c18..602ad6fd032cb4250ce5df9357885ad523937752 100644 >--- a/Tools/MiniBrowser/win/MiniBrowser.cpp >+++ b/Tools/MiniBrowser/win/MiniBrowser.cpp >@@ -88,8 +88,6 @@ ULONG MiniBrowser::Release() > > 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 @@ void MiniBrowser::showLayerTree() > 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; >diff --git a/Tools/MiniBrowser/win/MiniBrowser.h b/Tools/MiniBrowser/win/MiniBrowser.h >index 5ecf71600a5178d41e4b564a163410382a60ec3e..ec5428c5abffadb361156698780fdc5789f1585c 100644 >--- a/Tools/MiniBrowser/win/MiniBrowser.h >+++ b/Tools/MiniBrowser/win/MiniBrowser.h >@@ -100,10 +100,6 @@ public: > > 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 @@ public: > 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 @@ private: > > HWND m_hMainWnd { nullptr }; > HWND m_hURLBarWnd { nullptr }; >- HGDIOBJ m_hURLBarFont { nullptr }; > HWND m_viewWnd { nullptr }; > >- float m_deviceScaleFactor { 1.0f }; > bool m_useLayeredWebView; > };
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 186387
:
342139
|
342230