RESOLVED FIXED 148833
[WKTR] Allow changing the WKContextConfiguration between successive tests
https://bugs.webkit.org/show_bug.cgi?id=148833
Summary [WKTR] Allow changing the WKContextConfiguration between successive tests
Myles C. Maxfield
Reported 2015-09-04 15:12:00 PDT
[WKTR] Allow changing the WKContextConfiguration between successive tests
Attachments
Patch (30.72 KB, patch)
2015-09-04 15:16 PDT, Myles C. Maxfield
thorton: review+
Patch for committing (29.81 KB, patch)
2015-09-08 19:43 PDT, Myles C. Maxfield
no flags
Patch (34.93 KB, patch)
2015-09-09 22:36 PDT, Myles C. Maxfield
no flags
Myles C. Maxfield
Comment 1 2015-09-04 15:16:07 PDT
Myles C. Maxfield
Comment 2 2015-09-04 16:24:09 PDT
Comment on attachment 260630 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=260630&action=review > Tools/WebKitTestRunner/TestController.cpp:466 > + // Modify contextConfiguration here. I might as well do this modification inside generateContextConfiguration.
Tim Horton
Comment 3 2015-09-04 18:24:06 PDT
Comment on attachment 260630 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=260630&action=review I might be confused. > Tools/WebKitTestRunner/ContextConfigurationOptions.h:32 > + bool useThreadedScrolling { false }; This is not a "context configuration option", it's something that gets written to WKPreferences (which we can mutate without recreating the WKContext). > Tools/WebKitTestRunner/ContextConfigurationOptions.h:33 > + bool useRemoteLayerTree { false }; This is not a "context configuration option", it's something that gets turned into a NSUserDefault that's read at view creation time. Possible that it *should* be, though. This seems like the only valid one. > Tools/WebKitTestRunner/ContextConfigurationOptions.h:34 > + bool shouldShowWebView { false }; This is not a "context configuration option", it's something that gets read at view/window creation time and determines where to place the window (and whether to make it frontmost). > Tools/WebKitTestRunner/ContextConfigurationOptions.h:35 > + bool useTiledDrawing { false }; Please get rid of this one. Nothing reads nor writes it. > Tools/WebKitTestRunner/ContextConfigurationOptions.h:37 > + bool useFixedLayout { false }; This is not a "context configuration option", it's something that gets pushed (in EFL only) to the WKPage (and IIRC can be mutated at run time, it's not a one-time thing). > Tools/WebKitTestRunner/TestController.cpp:470 > + // FIXME: Migrate these preferences to WKContextConfigurationRef. Agreed on this point.
Myles C. Maxfield
Comment 4 2015-09-04 18:53:58 PDT
(In reply to comment #3) > Comment on attachment 260630 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=260630&action=review > > I might be confused. > > > Tools/WebKitTestRunner/ContextConfigurationOptions.h:32 > > + bool useThreadedScrolling { false }; > > This is not a "context configuration option", it's something that gets > written to WKPreferences (which we can mutate without recreating the > WKContext). > > > Tools/WebKitTestRunner/ContextConfigurationOptions.h:33 > > + bool useRemoteLayerTree { false }; > > This is not a "context configuration option", it's something that gets > turned into a NSUserDefault that's read at view creation time. Possible that > it *should* be, though. This seems like the only valid one. > > > Tools/WebKitTestRunner/ContextConfigurationOptions.h:34 > > + bool shouldShowWebView { false }; > > This is not a "context configuration option", it's something that gets read > at view/window creation time and determines where to place the window (and > whether to make it frontmost). > > > Tools/WebKitTestRunner/ContextConfigurationOptions.h:35 > > + bool useTiledDrawing { false }; > > Please get rid of this one. Nothing reads nor writes it. > > > Tools/WebKitTestRunner/ContextConfigurationOptions.h:37 > > + bool useFixedLayout { false }; > > This is not a "context configuration option", it's something that gets > pushed (in EFL only) to the WKPage (and IIRC can be mutated at run time, > it's not a one-time thing). > > > Tools/WebKitTestRunner/TestController.cpp:470 > > + // FIXME: Migrate these preferences to WKContextConfigurationRef. > > Agreed on this point. I was talking with Anders about this. Rather than discriminating between options which require rebuilding the WebView and options which require rebuilding the entire WKContextConfiguration, we decided that it isn't worth the added complexity. Therefore, we are making all cases which previously caused us to rebuild the WebView to now rebuild the ContextConfiguration.
Tim Horton
Comment 5 2015-09-04 23:03:38 PDT
(In reply to comment #4) > I was talking with Anders about this. Rather than discriminating between > options which require rebuilding the WebView and options which require > rebuilding the entire WKContextConfiguration, we decided that it isn't worth > the added complexity. Therefore, we are making all cases which previously > caused us to rebuild the WebView to now rebuild the ContextConfiguration. OK, but the name is going from being accurate in at best 1 case out of 5 to 0/5. Can it be "TestOptions" or "TestRunnerConfiguration" or something?
Myles C. Maxfield
Comment 6 2015-09-08 19:43:10 PDT
Created attachment 260826 [details] Patch for committing
Myles C. Maxfield
Comment 7 2015-09-08 20:27:57 PDT
Alexey Proskuryakov
Comment 8 2015-09-08 21:37:18 PDT
This caused multiple assertions on WK2. Rolling out.
WebKit Commit Bot
Comment 9 2015-09-08 21:40:24 PDT
Re-opened since this is blocked by bug 148992
Myles C. Maxfield
Comment 10 2015-09-08 22:13:25 PDT
WebKit Commit Bot
Comment 11 2015-09-09 00:00:50 PDT
Re-opened since this is blocked by bug 148996
Myles C. Maxfield
Comment 12 2015-09-09 22:36:27 PDT
Myles C. Maxfield
Comment 13 2015-09-12 19:32:17 PDT
Note You need to log in before you can comment on or make changes to this bug.