RESOLVED FIXED 152676
[EFL] Switch to ENABLE_NETWORK_CACHE
https://bugs.webkit.org/show_bug.cgi?id=152676
Summary [EFL] Switch to ENABLE_NETWORK_CACHE
Michael Catanzaro
Reported 2016-01-03 16:44:27 PST
Nowadays GTK+ always uses the network cache, and never the soup cache. It would be nice to get rid of our soup cache support entirely, which implies switching the EFL port to use ENABLE_NETWORK_CACHE. I have a speculative patch; let's see if the bots like it. See also: bug #146041.
Attachments
Patch (9.62 KB, patch)
2016-01-03 16:48 PST, Michael Catanzaro
no flags
Patch (10.94 KB, patch)
2016-01-03 17:33 PST, Michael Catanzaro
no flags
Patch (9.92 KB, patch)
2016-09-05 07:37 PDT, Michael Catanzaro
no flags
Patch (10.79 KB, patch)
2016-09-05 07:47 PDT, Michael Catanzaro
no flags
Patch (9.96 KB, patch)
2016-09-05 07:52 PDT, Michael Catanzaro
no flags
Patch (11.45 KB, patch)
2016-09-05 08:11 PDT, Michael Catanzaro
no flags
Patch (10.94 KB, patch)
2016-09-05 08:23 PDT, Michael Catanzaro
no flags
Patch (13.36 KB, patch)
2016-09-05 08:31 PDT, Michael Catanzaro
no flags
Patch (15.48 KB, patch)
2016-09-05 08:47 PDT, Michael Catanzaro
no flags
Patch (16.78 KB, patch)
2016-09-05 08:54 PDT, Michael Catanzaro
no flags
Patch (17.47 KB, patch)
2016-09-05 09:07 PDT, Michael Catanzaro
no flags
Archive of layout-test-results from ews117 for mac-yosemite (1.49 MB, application/zip)
2016-09-05 10:36 PDT, Build Bot
no flags
Patch (17.41 KB, patch)
2016-09-06 07:52 PDT, Michael Catanzaro
no flags
Michael Catanzaro
Comment 1 2016-01-03 16:48:24 PST
Michael Catanzaro
Comment 2 2016-01-03 17:33:17 PST
Michael Catanzaro
Comment 3 2016-01-03 18:11:51 PST
It's failing because EFL enables more warnings than we do, and uses -Werror. In particular, it's failing on -Werror=missing-field-initializers and -Werror=unused-result. For example: ../../Source/WebKit2/NetworkProcess/cache/NetworkCacheBlobStorage.cpp:109:18: error: missing initializer for member 'WebKit::NetworkCache::BlobStorage::Blob::data' [-Werror=missing-field-initializers] return { }; ^ (There are a couple of these.) This seems to be a GCC bug, since gcc(1) says: In C++ this option does not warn either about the empty { } initializer, for example: struct s { int f, g, h; }; s x = { }; I think this warning is bogus. Maybe we should just turn it off if it's going to complain about "issues" like this. But the -Wunused-result warnings seem legit: ../../Source/WebKit2/NetworkProcess/cache/NetworkCacheBlobStorage.cpp:101:51: error: ignoring return value of 'int link(const char*, const char*)', declared with attribute warn_unused_result [-Werror=unused-result] link(blobPath.data(), linkPath.data()); ^ We should probably check the return value of link() and print a warning with WTFLogAlways() if it fails.
Carlos Garcia Campos
Comment 4 2016-01-04 00:50:04 PST
Comment on attachment 268160 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=268160&action=review I would say this is EFL specific, since it's dead code for GTK+ port. > Source/WebKit2/NetworkProcess/cache/NetworkCacheEntry.cpp:48 > + , m_sourceStorageRecord() This shouldn't be needed, since it's initialized when declared. > Source/WebKit2/NetworkProcess/cache/NetworkCacheEntry.h:92 > - Storage::Record m_sourceStorageRecord { }; > + Storage::Record m_sourceStorageRecord; Ah, you are removing this, I don't understand why, we are changing from constructor initializations to this. > Source/WebKit2/UIProcess/API/gtk/APIWebsiteDataStoreGtk.cpp:39 > +// FIXME: The other directories in this file are shared between all applications using WebKitGTK+. > +// Why is only this directory namespaced to a particular application? Because in this cache the directory is not a globla dir for different cached, but represents the cache itself. The soup cache doesn't support multiple applications using the same cache concurrently, and I'm not sure about the webkit one, I don't think it has been tested.
Michael Catanzaro
Comment 5 2016-01-04 07:32:03 PST
(In reply to comment #4) > Ah, you are removing this, I don't understand why, we are changing from > constructor initializations to this. Because it triggers -Werror=missing-field-initializers, failing the build. But there are many other places that trigger this, so we should disable that warning instead of trying to avoid it everywhere.
Michael Catanzaro
Comment 6 2016-09-05 07:37:27 PDT
Michael Catanzaro
Comment 7 2016-09-05 07:47:12 PDT
Michael Catanzaro
Comment 8 2016-09-05 07:52:30 PDT
Michael Catanzaro
Comment 9 2016-09-05 08:11:26 PDT
Michael Catanzaro
Comment 10 2016-09-05 08:23:51 PDT
Michael Catanzaro
Comment 11 2016-09-05 08:31:10 PDT
Michael Catanzaro
Comment 12 2016-09-05 08:37:41 PDT
I need a WebKit2 owner to approve the change in NetworkCacheBlobStorage.cpp.
Michael Catanzaro
Comment 13 2016-09-05 08:47:46 PDT
Michael Catanzaro
Comment 14 2016-09-05 08:54:19 PDT
Michael Catanzaro
Comment 15 2016-09-05 09:07:06 PDT
Build Bot
Comment 16 2016-09-05 10:36:10 PDT
Comment on attachment 287965 [details] Patch Attachment 287965 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/2012908 New failing tests: http/tests/security/contentSecurityPolicy/worker-csp-blocks-xhr-redirect-cross-origin.html
Build Bot
Comment 17 2016-09-05 10:36:13 PDT
Created attachment 287968 [details] Archive of layout-test-results from ews117 for mac-yosemite The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews117 Port: mac-yosemite Platform: Mac OS X 10.10.5
Michael Catanzaro
Comment 18 2016-09-05 11:31:25 PDT
Comment on attachment 287965 [details] Patch Seems the Mac EWS is going red and uploading test results even after determining the failure is not caused by the patch. I don't think it used to do that....
Alex Christensen
Comment 19 2016-09-05 22:57:22 PDT
Comment on attachment 287965 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=287965&action=review > Source/WebKit2/NetworkProcess/cache/NetworkCacheBlobStorage.cpp:101 > + auto ret = link(blobPath.data(), linkPath.data()); > + if (ret == -1) There's no need for a named variable here. If we have one, it shouldn't be named ret.
Michael Catanzaro
Comment 20 2016-09-06 07:52:09 PDT
(In reply to comment #19) > There's no need for a named variable here. If we have one, it shouldn't be > named ret. Good point.
Michael Catanzaro
Comment 21 2016-09-06 07:52:39 PDT
Michael Catanzaro
Comment 22 2016-09-07 10:53:41 PDT
Comment on attachment 288024 [details] Patch OK, let's do it. Gyuyoung knows about it, so it can be rolled out if it causes problems for EFL, and it's the start of a new release cycle for them anyway.
WebKit Commit Bot
Comment 23 2016-09-07 11:15:08 PDT
Comment on attachment 288024 [details] Patch Clearing flags on attachment: 288024 Committed r205556: <http://trac.webkit.org/changeset/205556>
WebKit Commit Bot
Comment 24 2016-09-07 11:15:16 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.