Commit Graph

3 Commits

Author SHA1 Message Date
Samael Wang
3810bc3903 Bug 1350643 - Part 3: Add GetDPI to nsIScreen & ScreenDetails. r=kanru
MozReview-Commit-ID: HEFyuYV26Wy

--HG--
extra : rebase_source : fb172f4ba99ab7119036ddf4ec1b3eeeaead186c
2017-06-06 18:09:34 +08:00
Kan-Ru Chen
8ba424eabb Bug 1194751 - Part 6. Use mozilla::widget::ScreenManager in content process. r=mconley
This is the most important part of the patch series. It removes the
PScreenManager protocol and use ScreenManager directly in the content
processes.

Initial and subsequent updates are sent via PContent::RefreshScreens.
struct ScreenDetails are kept to serialize Screen over IPC.

nsIScreenManager::ScreenForNativeWidget is removed because
nsIWidget::GetWidgetScreen can replace it. nsIScreen::GetId is removed
because it's not useful for the more general Screen class.

MozReview-Commit-ID: 5dJO3isgBuQ

--HG--
extra : rebase_source : 06aa4e4fd56e2b2af1e7483aee7c0cc7f35bdb97
2017-03-09 19:30:26 +08:00
Kan-Ru Chen
53ad814f85 Bug 1194751 - Part 4. Add ScreenManager and Screen classes. r=jimm,karlt,mconley
ScreenManager takes the common parts of ScreenManagerWin,
ScreenManagerGtk and ScreenManagerCocoa. It caches all screen
information in the new Screen class. The cache are updated when the OS
notifies there is a monitor config change; all changes will be pushed to
content processes via PContent (patch part 6.)

Screen is a pure data object. All platform dependent logic will be in
widget specific helper classes.

Each process will have a singleton ScreenManager object. Widget
specific helper object is held alive by the ScreenManager when
necessary, for example to receive updates from the OS.

The change to to VsyncDispatcher.cpp is due to unified-build bustage.

ScreenManager::ScreenForNativeWidget is not implemented because it
will be removed in patch part 6.

MozReview-Commit-ID: 5ezytAXSqHp
***
fixup

MozReview-Commit-ID: DQtq3UVZytA

--HG--
extra : rebase_source : c1a5aac713de783586e93109fe3e197ffdc1a3ca
2017-03-14 18:44:54 +08:00