Fix EnabledAtRuntime runtime enable/disable mechanism for functions
https://bugs.webkit.org/show_bug.cgi?id=156101
Summary Fix EnabledAtRuntime runtime enable/disable mechanism for functions
Rawinder Singh
Reported 2016-04-01 00:02:44 PDT
Bug #134255 added the ability to disable a function within an interface at runtime (i.e. when the WebKit IDL attribute EnabledAtRuntime is specified on a function). The patch does this by removing such functions from the prototype if they are disabled. However, the code in the never adds the functions back to the prototype when re-enabled (e.g. when using testRunner.overridePreference). Bug #156096 uses this functionality when using EnabledAtRuntime=WebAnimations on a partial interface for the 'Document' element. That is, the Document.getAnimation() method needs to be able to be enabled at runtime, however has been removed by the code in Bug #134255. This patch changes the logic so that functions (and now attributes) are enabled/disabled at runtime by adding the runtime check within the in generated js* function. However, this does have the side effect that if the feature is disabled at runtime, the dictionary of the Document interface can still be queried for the function. That is, document.getAnimation would be defined. Is this behaviour acceptable for the runtime flag given that a compile time flag still exists to disable the feature/function properly?
Attachments
Patch (43.18 KB, patch)
2016-04-01 00:27 PDT, Rawinder Singh
rawinder.webkit: review-
buildbot: commit-queue-
Archive of layout-test-results from ews106 for mac-yosemite-wk2 (1.10 MB, application/zip)
2016-04-01 01:10 PDT, Build Bot
no flags
Archive of layout-test-results from ews103 for mac-yosemite (874.35 KB, application/zip)
2016-04-01 01:18 PDT, Build Bot
no flags
Archive of layout-test-results from ews125 for ios-simulator-wk2 (639.51 KB, application/zip)
2016-04-01 01:26 PDT, Build Bot
no flags
Archive of layout-test-results from ews114 for mac-yosemite (983.59 KB, application/zip)
2016-04-01 01:30 PDT, Build Bot
no flags
Rawinder Singh
Comment 1 2016-04-01 00:27:57 PDT
WebKit Commit Bot
Comment 2 2016-04-01 00:29:17 PDT
Attachment 275380 [details] did not pass style-queue: ERROR: Source/WebCore/bindings/scripts/test/ObjC/DOMTestEnabledAtRuntime.mm:30: Found header this file implements after other header. Should be: config.h, primary header, blank line, and then alphabetically sorted. [build/include_order] [4] ERROR: Source/WebCore/bindings/scripts/test/JS/JSTestEnabledAtRuntime.cpp:141: One line control clauses should not use braces. [whitespace/braces] [4] ERROR: Source/WebCore/bindings/scripts/test/JS/JSTestEnabledAtRuntime.cpp:175: One line control clauses should not use braces. [whitespace/braces] [4] ERROR: Source/WebCore/bindings/scripts/test/JS/JSTestEnabledAtRuntime.cpp:223: Extra space before ( in function call [whitespace/parens] [4] Total errors found: 4 in 12 files If any of these errors are false positives, please file a bug against check-webkit-style.
Build Bot
Comment 3 2016-04-01 01:10:31 PDT
Comment on attachment 275380 [details] Patch Attachment 275380 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.webkit.org/results/1079644 New failing tests: fast/dom/everything-to-string.html fast/dom/navigator-detached-no-crash.html js/dom/global-constructors-attributes-idb.html js/dom/global-constructors-attributes.html
Build Bot
Comment 4 2016-04-01 01:10:35 PDT
Created attachment 275386 [details] Archive of layout-test-results from ews106 for mac-yosemite-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews106 Port: mac-yosemite-wk2 Platform: Mac OS X 10.10.5
Build Bot
Comment 5 2016-04-01 01:18:10 PDT
Comment on attachment 275380 [details] Patch Attachment 275380 [details] did not pass mac-ews (mac): Output: http://webkit-queues.webkit.org/results/1079679 New failing tests: fast/dom/everything-to-string.html fast/dom/navigator-detached-no-crash.html js/dom/global-constructors-attributes-idb.html js/dom/global-constructors-attributes.html
Build Bot
Comment 6 2016-04-01 01:18:14 PDT
Created attachment 275389 [details] Archive of layout-test-results from ews103 for mac-yosemite The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews103 Port: mac-yosemite Platform: Mac OS X 10.10.5
Build Bot
Comment 7 2016-04-01 01:26:01 PDT
Comment on attachment 275380 [details] Patch Attachment 275380 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: http://webkit-queues.webkit.org/results/1079685 New failing tests: fast/dom/everything-to-string.html js/dom/global-constructors-attributes-idb.html
Build Bot
Comment 8 2016-04-01 01:26:04 PDT
Created attachment 275390 [details] Archive of layout-test-results from ews125 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews125 Port: ios-simulator-wk2 Platform: Mac OS X 10.10.5
Build Bot
Comment 9 2016-04-01 01:30:45 PDT
Comment on attachment 275380 [details] Patch Attachment 275380 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/1079693 New failing tests: fast/dom/everything-to-string.html fast/dom/navigator-detached-no-crash.html js/dom/global-constructors-attributes-idb.html js/dom/global-constructors-attributes.html
Build Bot
Comment 10 2016-04-01 01:30:48 PDT
Created attachment 275391 [details] Archive of layout-test-results from ews114 for mac-yosemite The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews114 Port: mac-yosemite Platform: Mac OS X 10.10.5
Note You need to log in before you can comment on or make changes to this bug.