Title: [174819] trunk/Source/WebCore
- Revision
- 174819
- Author
- [email protected]
- Date
- 2014-10-17 03:43:54 -0700 (Fri, 17 Oct 2014)
Log Message
[EFL] window.screen.width returns wrong value if more displays are available
https://bugs.webkit.org/show_bug.cgi?id=137778
Reviewed by Gyuyoung Kim.
ecore_x_screen_size_get() retrieves the size of Ecore_X_Screen, for example,
having two displays of 1680x1050, it will return 3360x1050.
Unlike EFL's MiniBrowser, Firefox and Chrome return screen of the current display.
No new tests. Hardware specific bug including multiple displays.
* platform/efl/PlatformScreenEfl.cpp:
(WebCore::screenRect):
Use ecore's xrandr to determine the screen on which browser window is displayed.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (174818 => 174819)
--- trunk/Source/WebCore/ChangeLog 2014-10-17 10:10:47 UTC (rev 174818)
+++ trunk/Source/WebCore/ChangeLog 2014-10-17 10:43:54 UTC (rev 174819)
@@ -1,3 +1,21 @@
+2014-10-17 Grzegorz Czajkowski <[email protected]>
+
+ [EFL] window.screen.width returns wrong value if more displays are available
+ https://bugs.webkit.org/show_bug.cgi?id=137778
+
+ Reviewed by Gyuyoung Kim.
+
+ ecore_x_screen_size_get() retrieves the size of Ecore_X_Screen, for example,
+ having two displays of 1680x1050, it will return 3360x1050.
+
+ Unlike EFL's MiniBrowser, Firefox and Chrome return screen of the current display.
+
+ No new tests. Hardware specific bug including multiple displays.
+
+ * platform/efl/PlatformScreenEfl.cpp:
+ (WebCore::screenRect):
+ Use ecore's xrandr to determine the screen on which browser window is displayed.
+
2014-10-17 Carlos Garcia Campos <[email protected]>
[GLIB] Add API to GMainLoopSource to schedule sources after a delay in microseconds
Modified: trunk/Source/WebCore/platform/efl/PlatformScreenEfl.cpp (174818 => 174819)
--- trunk/Source/WebCore/platform/efl/PlatformScreenEfl.cpp 2014-10-17 10:10:47 UTC (rev 174818)
+++ trunk/Source/WebCore/platform/efl/PlatformScreenEfl.cpp 2014-10-17 10:43:54 UTC (rev 174819)
@@ -91,7 +91,11 @@
// and we cannot accurately detect the screen size.
int width = 800;
int height = 600;
- ecore_x_screen_size_get(ecore_x_default_screen_get(), &width, &height);
+ Ecore_X_Window focusedWindow = ecore_x_window_focus_get();
+ if (ecore_x_randr_query() && focusedWindow)
+ ecore_x_randr_screen_primary_output_current_size_get(ecore_x_window_root_get(focusedWindow), &width, &height, 0, 0, 0);
+ else
+ ecore_x_screen_size_get(ecore_x_default_screen_get(), &width, &height);
return FloatRect(0, 0, width, height);
#else
if (!widget || !widget->evas())
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes