Bug 186684 - Address fullscreen api CSS env feedback
Summary: Address fullscreen api CSS env feedback
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Jer Noble
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2018-06-15 11:06 PDT by Jer Noble
Modified: 2018-06-21 16:30 PDT (History)
11 users (show)

See Also:


Attachments
Patch (44.06 KB, patch)
2018-06-15 11:11 PDT, Jer Noble
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ltilve-gtk-wk2-ews for gtk-wk2 (2.88 MB, application/zip)
2018-06-18 11:45 PDT, Igalia-pontevedra EWS
no flags Details
Patch (44.12 KB, patch)
2018-06-19 14:43 PDT, Jer Noble
no flags Details | Formatted Diff | Diff
Patch (44.08 KB, patch)
2018-06-19 15:28 PDT, Jer Noble
no flags Details | Formatted Diff | Diff
Patch for landing (45.50 KB, patch)
2018-06-21 10:30 PDT, Jer Noble
no flags Details | Formatted Diff | Diff
Patch for landing (37.12 KB, patch)
2018-06-21 11:26 PDT, Jer Noble
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews102 for mac-sierra (2.50 MB, application/zip)
2018-06-21 13:20 PDT, EWS Watchlist
no flags Details
Archive of layout-test-results from ews107 for mac-sierra-wk2 (2.78 MB, application/zip)
2018-06-21 13:21 PDT, EWS Watchlist
no flags Details
Patch for landing (45.54 KB, patch)
2018-06-21 13:27 PDT, Jer Noble
no flags Details | Formatted Diff | Diff
Patch for landing (45.54 KB, patch)
2018-06-21 13:49 PDT, Jer Noble
commit-queue: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from webkit-cq-03 for mac-sierra (2.29 MB, application/zip)
2018-06-21 15:05 PDT, WebKit Commit Bot
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jer Noble 2018-06-15 11:06:02 PDT
Address fullscreen api CSS env feedback
Comment 1 Radar WebKit Bug Importer 2018-06-15 11:11:50 PDT
<rdar://problem/41165374>
Comment 2 Jer Noble 2018-06-15 11:11:55 PDT
Created attachment 342830 [details]
Patch
Comment 3 Igalia-pontevedra EWS 2018-06-18 11:45:00 PDT
Comment on attachment 342830 [details]
Patch

Attachment 342830 [details] did not pass gtk-wk2-ews (gtk-wk2):
Output: http://webkit-queues.webkit.org/results/8234086

New failing tests:
fullscreen/fullscreen-env.html
Comment 4 Igalia-pontevedra EWS 2018-06-18 11:45:04 PDT
Created attachment 342956 [details]
Archive of layout-test-results from ltilve-gtk-wk2-ews for gtk-wk2

The attached test failures were seen while running run-webkit-tests on the gtk-wk2-ews.
Bot: ltilve-gtk-wk2-ews  Port: gtk-wk2  Platform: Linux-4.16.0-0.bpo.1-amd64-x86_64-with-debian-9.4
Comment 5 Michael Catanzaro 2018-06-18 12:28:46 PDT
(In reply to Igalia-pontevedra EWS from comment #3)
> Comment on attachment 342830 [details]
> Patch
> 
> Attachment 342830 [details] did not pass gtk-wk2-ews (gtk-wk2):
> Output: http://webkit-queues.webkit.org/results/8234086
> 
> New failing tests:
> fullscreen/fullscreen-env.html

I think this is our first EWS test failure that's not a false positive!

The diff is:

--- /home/ews/ltilve-gtk-wk2-ews/WebKit/WebKitBuild/Release/layout-test-results/fullscreen/fullscreen-env-expected.txt
+++ /home/ews/ltilve-gtk-wk2-ews/WebKit/WebKitBuild/Release/layout-test-results/fullscreen/fullscreen-env-actual.txt
@@ -28,8 +28,8 @@
 EXPECTED (window.getComputedStyle(target).transitionDuration == '0s') OK
 EVENT(webkitfullscreenchange)
 RUN(internals.setFullscreenControlsHidden(true))
-EXPECTED (document.querySelector("#target:-webkit-full-screen-controls-hidden") == '[object HTMLDivElement]') OK
+SyntaxError: The string did not match the expected pattern.
 RUN(internals.setFullscreenControlsHidden(false))
-EXPECTED (document.querySelector("#target:-webkit-full-screen-controls-hidden") == 'null') OK
+SyntaxError: The string did not match the expected pattern.
 END OF TEST
Comment 6 Jer Noble 2018-06-18 12:40:31 PDT
(In reply to Michael Catanzaro from comment #5)
> (In reply to Igalia-pontevedra EWS from comment #3)
> > Comment on attachment 342830 [details]
> > Patch
> > 
> > Attachment 342830 [details] did not pass gtk-wk2-ews (gtk-wk2):
> > Output: http://webkit-queues.webkit.org/results/8234086
> > 
> > New failing tests:
> > fullscreen/fullscreen-env.html
> 
> I think this is our first EWS test failure that's not a false positive!
> 
> The diff is:
> 
> ---
> /home/ews/ltilve-gtk-wk2-ews/WebKit/WebKitBuild/Release/layout-test-results/
> fullscreen/fullscreen-env-expected.txt
> +++
> /home/ews/ltilve-gtk-wk2-ews/WebKit/WebKitBuild/Release/layout-test-results/
> fullscreen/fullscreen-env-actual.txt
> @@ -28,8 +28,8 @@
>  EXPECTED (window.getComputedStyle(target).transitionDuration == '0s') OK
>  EVENT(webkitfullscreenchange)
>  RUN(internals.setFullscreenControlsHidden(true))
> -EXPECTED
> (document.querySelector("#target:-webkit-full-screen-controls-hidden") ==
> '[object HTMLDivElement]') OK
> +SyntaxError: The string did not match the expected pattern.
>  RUN(internals.setFullscreenControlsHidden(false))
> -EXPECTED
> (document.querySelector("#target:-webkit-full-screen-controls-hidden") ==
> 'null') OK
> +SyntaxError: The string did not match the expected pattern.
>  END OF TEST

Does this bot have the FULLSCREEN_API_ENABLED flag set?
Comment 7 Carlos Alberto Lopez Perez 2018-06-18 12:50:00 PDT
(In reply to Jer Noble from comment #6)
> (In reply to Michael Catanzaro from comment #5)
> > (In reply to Igalia-pontevedra EWS from comment #3)
> > > Comment on attachment 342830 [details]
> > > Patch
> > > 
> > > Attachment 342830 [details] did not pass gtk-wk2-ews (gtk-wk2):
> > > Output: http://webkit-queues.webkit.org/results/8234086
> > > 
> > > New failing tests:
> > > fullscreen/fullscreen-env.html
> > 
> > I think this is our first EWS test failure that's not a false positive!
> > 
> > The diff is:
> > 
> > ---
> > /home/ews/ltilve-gtk-wk2-ews/WebKit/WebKitBuild/Release/layout-test-results/
> > fullscreen/fullscreen-env-expected.txt
> > +++
> > /home/ews/ltilve-gtk-wk2-ews/WebKit/WebKitBuild/Release/layout-test-results/
> > fullscreen/fullscreen-env-actual.txt
> > @@ -28,8 +28,8 @@
> >  EXPECTED (window.getComputedStyle(target).transitionDuration == '0s') OK
> >  EVENT(webkitfullscreenchange)
> >  RUN(internals.setFullscreenControlsHidden(true))
> > -EXPECTED
> > (document.querySelector("#target:-webkit-full-screen-controls-hidden") ==
> > '[object HTMLDivElement]') OK
> > +SyntaxError: The string did not match the expected pattern.
> >  RUN(internals.setFullscreenControlsHidden(false))
> > -EXPECTED
> > (document.querySelector("#target:-webkit-full-screen-controls-hidden") ==
> > 'null') OK
> > +SyntaxError: The string did not match the expected pattern.
> >  END OF TEST
> 
> Does this bot have the FULLSCREEN_API_ENABLED flag set?

Yes. It builds with ENABLE_FULLSCREEN_API enabled.
Comment 8 Jer Noble 2018-06-19 14:43:15 PDT
Created attachment 343102 [details]
Patch
Comment 9 Jer Noble 2018-06-19 14:43:52 PDT
(In reply to Jer Noble from comment #8)
> Created attachment 343102 [details]
> Patch

I haven't yet figured out the gtk+ test error, but this patch should take care of the other bots' build errors.
Comment 10 Jer Noble 2018-06-19 15:28:45 PDT
Created attachment 343113 [details]
Patch
Comment 11 Simon Fraser (smfr) 2018-06-20 17:22:54 PDT
Comment on attachment 343113 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=343113&action=review

> Source/WebCore/dom/ConstantPropertyMap.h:63
>      void setFullscreenAutoHideDelay(double);
> +    void setFullscreenAutoHideDuration(double);

These should take Seconds

> Source/WebCore/page/Page.cpp:2408
> +    for (Frame* frame = &mainFrame(); frame; frame = frame->tree().traverseNext()) {
> +        if (!frame->document())
> +            continue;
> +        frame->document()->constantProperties().setFullscreenAutoHideDuration(duration);
> +    }

This is weird; why don't we have a singleton repository of constant properties? (not for this patch tho).

> Source/WebCore/page/Page.h:356
>      WEBCORE_EXPORT void setFullscreenAutoHideDelay(double);

Seconds

> Source/WebCore/page/Page.h:358
> +    WEBCORE_EXPORT void setFullscreenAutoHideDuration(double);
> +    WEBCORE_EXPORT void setFullscreenControlsHidden(bool);

Seconds

> Source/WebCore/testing/Internals.cpp:503
> +    page.setFullscreenAutoHideDuration(0);

This would be 0_s if you use Seconds.

> Source/WebCore/testing/Internals.cpp:504
> +    page.setFullscreenInsets(FloatBoxExtent());

Can this be page.setFullscreenInsets({ });

> Source/WebKit/UIProcess/WebFullScreenManagerProxy.cpp:141
> +void WebFullScreenManagerProxy::setFullscreenAutoHideDuration(double duration)
> +{
> +    m_page->process().send(Messages::WebFullScreenManager::SetFullscreenAutoHideDuration(duration), m_page->pageID());
> +}
> +
> +void WebFullScreenManagerProxy::setFullscreenControlsHidden(bool hidden)
> +{
> +    m_page->process().send(Messages::WebFullScreenManager::SetFullscreenControlsHidden(hidden), m_page->pageID());
> +}

Do we really need to send a separate IPC message for each of these? Can we pass them en masse somewhere?

> Source/WebKit/UIProcess/WebFullScreenManagerProxy.h:77
>      void setFullscreenAutoHideDelay(double);
> +    void setFullscreenAutoHideDuration(double);

Seconds

> Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp:184
> +    setFullscreenInsets(FloatBoxExtent());

{ }

> Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h:86
>      void setFullscreenAutoHideDelay(double);
> +    void setFullscreenAutoHideDuration(double);
> +    void setFullscreenControlsHidden(bool);

Seconds
Comment 12 Jer Noble 2018-06-21 09:59:36 PDT
Comment on attachment 343113 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=343113&action=review

>> Source/WebCore/dom/ConstantPropertyMap.h:63
>> +    void setFullscreenAutoHideDuration(double);
> 
> These should take Seconds

Changed.

>> Source/WebCore/page/Page.h:356
>>      WEBCORE_EXPORT void setFullscreenAutoHideDelay(double);
> 
> Seconds

Changed.

>> Source/WebCore/page/Page.h:358
>> +    WEBCORE_EXPORT void setFullscreenControlsHidden(bool);
> 
> Seconds

Changed.

>> Source/WebCore/testing/Internals.cpp:503
>> +    page.setFullscreenAutoHideDuration(0);
> 
> This would be 0_s if you use Seconds.

Changed.

>> Source/WebCore/testing/Internals.cpp:504
>> +    page.setFullscreenInsets(FloatBoxExtent());
> 
> Can this be page.setFullscreenInsets({ });

Appears so.

>> Source/WebKit/UIProcess/WebFullScreenManagerProxy.cpp:141
>> +}
> 
> Do we really need to send a separate IPC message for each of these? Can we pass them en masse somewhere?

Renamed to "SetFullscreenAutoHideTiming(delay, duration)".

>> Source/WebKit/UIProcess/WebFullScreenManagerProxy.h:77
>> +    void setFullscreenAutoHideDuration(double);
> 
> Seconds

Changed.

>> Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp:184
>> +    setFullscreenInsets(FloatBoxExtent());
> 
> { }

Changed.

>> Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h:86
>> +    void setFullscreenControlsHidden(bool);
> 
> Seconds

Changed.
Comment 13 Jer Noble 2018-06-21 10:30:15 PDT
Created attachment 343243 [details]
Patch for landing
Comment 14 Jer Noble 2018-06-21 11:26:18 PDT
Created attachment 343254 [details]
Patch for landing
Comment 15 EWS Watchlist 2018-06-21 13:20:12 PDT
Comment on attachment 343254 [details]
Patch for landing

Attachment 343254 [details] did not pass mac-ews (mac):
Output: https://webkit-queues.webkit.org/results/8279977

New failing tests:
fullscreen/fullscreen-inset-top.html
Comment 16 EWS Watchlist 2018-06-21 13:20:13 PDT
Created attachment 343261 [details]
Archive of layout-test-results from ews102 for mac-sierra

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews102  Port: mac-sierra  Platform: Mac OS X 10.12.6
Comment 17 EWS Watchlist 2018-06-21 13:21:17 PDT
Comment on attachment 343254 [details]
Patch for landing

Attachment 343254 [details] did not pass mac-wk2-ews (mac-wk2):
Output: https://webkit-queues.webkit.org/results/8279957

New failing tests:
fullscreen/fullscreen-inset-top.html
Comment 18 EWS Watchlist 2018-06-21 13:21:19 PDT
Created attachment 343263 [details]
Archive of layout-test-results from ews107 for mac-sierra-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews107  Port: mac-sierra-wk2  Platform: Mac OS X 10.12.6
Comment 19 Jer Noble 2018-06-21 13:27:48 PDT
Created attachment 343264 [details]
Patch for landing
Comment 20 WebKit Commit Bot 2018-06-21 13:29:20 PDT
Comment on attachment 343264 [details]
Patch for landing

Rejecting attachment 343264 [details] from commit-queue.

Failed to run "['/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch', '--status-host=webkit-queues.webkit.org', '--bot-id=webkit-cq-03', 'validate-changelog', '--check-oops', '--non-interactive', 343264, '--port=mac']" exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in LayoutTests/ChangeLog contains OOPS!.

Full output: https://webkit-queues.webkit.org/results/8280566
Comment 21 Jer Noble 2018-06-21 13:49:54 PDT
Created attachment 343270 [details]
Patch for landing
Comment 22 WebKit Commit Bot 2018-06-21 15:05:17 PDT
Comment on attachment 343270 [details]
Patch for landing

Rejecting attachment 343270 [details] from commit-queue.

New failing tests:
performance-api/performance-observer-no-document-leak.html
Full output: https://webkit-queues.webkit.org/results/8281742
Comment 23 WebKit Commit Bot 2018-06-21 15:05:19 PDT
Created attachment 343281 [details]
Archive of layout-test-results from webkit-cq-03 for mac-sierra

The attached test failures were seen while running run-webkit-tests on the commit-queue.
Bot: webkit-cq-03  Port: mac-sierra  Platform: Mac OS X 10.12.6
Comment 24 Jer Noble 2018-06-21 16:30:49 PDT
Committed r233066: <https://trac.webkit.org/changeset/233066>