DescriptionAvoid calling the GetSystemMetrics API in the renderer process on Windows to get the scrollbar metrics.
It appears that this call takes a long time on certain Windows 8 configurations because the call triggers a load
of the uxtheme.dll which fails and retries every time. This is presumably due to the Win32K lockdown mode on Windows 8+.
Fix is to send the scrollbar metrics values we are interested in as part of the RendererPrefs structure. In the renderer
these are saved as static values in the WebThemeEngineImpl class.
1) Note that not all of the cache settings are currently used - SM_CYHSCROLL,
SM_CYVSCROLL, and SM_CXHSCROLL are cached for possible future usage.
2. These repeated attempts to load uxtheme.dll only occur in some (ill-defined)
situations, having to do with what theme is selected and other factors
BUG=472790
Committed: https://crrev.com/59b9fe7ebc4c814410f1ac4a0c5a7cecb125ce81
Cr-Commit-Position: refs/heads/master@{#323999}
Patch Set 1 #
Total comments: 19
Patch Set 2 : Address review comments #Patch Set 3 : Revert changes to web_contents_impl.cc #Patch Set 4 : Removed unnecessary include #
Total comments: 2
Patch Set 5 : #
Total comments: 4
Patch Set 6 : Address cpu review comments #Patch Set 7 : Fix presubmit #Patch Set 8 : Fix build error #Patch Set 9 : Fix build error #Patch Set 10 : Fix build error #Patch Set 11 : Fix build error in view_messages #Messages
Total messages: 44 (19 generated)
|