RESOLVED FIXED105676
Add a separate class for networking related storage
https://bugs.webkit.org/show_bug.cgi?id=105676
Summary Add a separate class for networking related storage
Alexey Proskuryakov
Reported 2012-12-21 21:39:43 PST
NetworkingContext combines a reference to storage (cookies and more) and data that's only meaningful when loading. This makes it very ugly to use for cookie manipulation when there is no load (e.g. for document.cookie).
Attachments
patch for EWS (168.36 KB, patch)
2012-12-21 21:42 PST, Alexey Proskuryakov
webkit-ews: commit-queue-
patch for EWS (169.25 KB, patch)
2012-12-21 22:22 PST, Alexey Proskuryakov
webkit-ews: commit-queue-
patch for EWS (169.71 KB, patch)
2012-12-21 22:39 PST, Alexey Proskuryakov
gtk-ews: commit-queue-
patch for EWS (113.00 KB, patch)
2012-12-21 22:55 PST, Alexey Proskuryakov
no flags
why was it small? (170.62 KB, patch)
2012-12-21 22:57 PST, Alexey Proskuryakov
gtk-ews: commit-queue-
patch for EWS (170.62 KB, patch)
2012-12-21 23:13 PST, Alexey Proskuryakov
eflews.bot: commit-queue-
patch for EWS (171.32 KB, patch)
2012-12-21 23:42 PST, Alexey Proskuryakov
webkit-ews: commit-queue-
patch for EWS (171.94 KB, patch)
2012-12-22 00:02 PST, Alexey Proskuryakov
webkit-ews: commit-queue-
patch for EWS (173.56 KB, patch)
2012-12-22 01:03 PST, Alexey Proskuryakov
eflews.bot: commit-queue-
patch for EWS (175.07 KB, patch)
2012-12-22 01:33 PST, Alexey Proskuryakov
eflews.bot: commit-queue-
patch for EWS (176.79 KB, patch)
2012-12-22 14:04 PST, Alexey Proskuryakov
buildbot: commit-queue-
patch for review (191.70 KB, patch)
2012-12-22 16:10 PST, Alexey Proskuryakov
sam: review+
buildbot: commit-queue-
Alexey Proskuryakov
Comment 1 2012-12-21 21:42:24 PST
Created attachment 180590 [details] patch for EWS Will likely take many iterations to make EWS happy...
WebKit Review Bot
Comment 2 2012-12-21 21:48:22 PST
Attachment 180590 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/CMakeLists.txt', u'Source/W..." exit_code: 1 Source/WebCore/platform/network/NetworkingContext.h:23: Alphabetical sorting problem. [build/include_order] [4] Total errors found: 1 in 67 files If any of these errors are false positives, please file a bug against check-webkit-style.
Early Warning System Bot
Comment 3 2012-12-21 21:50:38 PST
Comment on attachment 180590 [details] patch for EWS Attachment 180590 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/15452665
EFL EWS Bot
Comment 4 2012-12-21 21:51:21 PST
Comment on attachment 180590 [details] patch for EWS Attachment 180590 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/15456665
Early Warning System Bot
Comment 5 2012-12-21 21:52:35 PST
Comment on attachment 180590 [details] patch for EWS Attachment 180590 [details] did not pass qt-wk2-ews (qt): Output: http://queues.webkit.org/results/15457641
WebKit Review Bot
Comment 6 2012-12-21 22:08:30 PST
Comment on attachment 180590 [details] patch for EWS Attachment 180590 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/15475227
Alexey Proskuryakov
Comment 7 2012-12-21 22:22:43 PST
Created attachment 180592 [details] patch for EWS
WebKit Review Bot
Comment 8 2012-12-21 22:28:28 PST
Attachment 180592 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/CMakeLists.txt', u'Source/W..." exit_code: 1 Source/WebCore/platform/network/NetworkingContext.h:23: Alphabetical sorting problem. [build/include_order] [4] Source/WebCore/platform/network/NetworkStorageSession.h:55: The parameter name "context" adds no information, so it should be removed. [readability/parameter_name] [5] Total errors found: 2 in 67 files If any of these errors are false positives, please file a bug against check-webkit-style.
Early Warning System Bot
Comment 9 2012-12-21 22:30:30 PST
Comment on attachment 180592 [details] patch for EWS Attachment 180592 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/15457650
Early Warning System Bot
Comment 10 2012-12-21 22:32:37 PST
Comment on attachment 180592 [details] patch for EWS Attachment 180592 [details] did not pass qt-wk2-ews (qt): Output: http://queues.webkit.org/results/15458624
EFL EWS Bot
Comment 11 2012-12-21 22:32:53 PST
Comment on attachment 180592 [details] patch for EWS Attachment 180592 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/15458625
Alexey Proskuryakov
Comment 12 2012-12-21 22:39:04 PST
Created attachment 180593 [details] patch for EWS
WebKit Review Bot
Comment 13 2012-12-21 22:45:09 PST
Attachment 180593 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/CMakeLists.txt', u'Source/W..." exit_code: 1 Source/WebCore/platform/network/NetworkingContext.h:23: Alphabetical sorting problem. [build/include_order] [4] Total errors found: 1 in 68 files If any of these errors are false positives, please file a bug against check-webkit-style.
kov's GTK+ EWS bot
Comment 14 2012-12-21 22:47:49 PST
Comment on attachment 180593 [details] patch for EWS Attachment 180593 [details] did not pass gtk-ews (gtk): Output: http://queues.webkit.org/results/15456679
Early Warning System Bot
Comment 15 2012-12-21 22:47:57 PST
Comment on attachment 180593 [details] patch for EWS Attachment 180593 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/15458630
EFL EWS Bot
Comment 16 2012-12-21 22:48:27 PST
Comment on attachment 180593 [details] patch for EWS Attachment 180593 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/15454666
Early Warning System Bot
Comment 17 2012-12-21 22:49:21 PST
Comment on attachment 180593 [details] patch for EWS Attachment 180593 [details] did not pass qt-wk2-ews (qt): Output: http://queues.webkit.org/results/15451682
Alexey Proskuryakov
Comment 18 2012-12-21 22:55:36 PST
Created attachment 180594 [details] patch for EWS
Alexey Proskuryakov
Comment 19 2012-12-21 22:57:34 PST
Created attachment 180595 [details] why was it small?
kov's GTK+ EWS bot
Comment 20 2012-12-21 23:05:19 PST
Comment on attachment 180595 [details] why was it small? Attachment 180595 [details] did not pass gtk-ews (gtk): Output: http://queues.webkit.org/results/15458631
WebKit Review Bot
Comment 21 2012-12-21 23:05:41 PST
Attachment 180595 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/CMakeLists.txt', u'Source/W..." exit_code: 1 Source/WebCore/platform/network/NetworkingContext.h:23: Alphabetical sorting problem. [build/include_order] [4] Total errors found: 1 in 69 files If any of these errors are false positives, please file a bug against check-webkit-style.
Early Warning System Bot
Comment 22 2012-12-21 23:06:27 PST
Comment on attachment 180595 [details] why was it small? Attachment 180595 [details] did not pass qt-wk2-ews (qt): Output: http://queues.webkit.org/results/15450681
Alexey Proskuryakov
Comment 23 2012-12-21 23:13:15 PST
Created attachment 180596 [details] patch for EWS
EFL EWS Bot
Comment 24 2012-12-21 23:19:37 PST
Comment on attachment 180596 [details] patch for EWS Attachment 180596 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/15457664
Early Warning System Bot
Comment 25 2012-12-21 23:20:33 PST
Comment on attachment 180596 [details] patch for EWS Attachment 180596 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/15457665
Early Warning System Bot
Comment 26 2012-12-21 23:22:51 PST
Comment on attachment 180596 [details] patch for EWS Attachment 180596 [details] did not pass qt-wk2-ews (qt): Output: http://queues.webkit.org/results/15458636
WebKit Review Bot
Comment 27 2012-12-21 23:41:25 PST
Comment on attachment 180596 [details] patch for EWS Attachment 180596 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/15462560
Alexey Proskuryakov
Comment 28 2012-12-21 23:42:34 PST
Created attachment 180597 [details] patch for EWS
Early Warning System Bot
Comment 29 2012-12-21 23:50:42 PST
Comment on attachment 180597 [details] patch for EWS Attachment 180597 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/15462571
Early Warning System Bot
Comment 30 2012-12-21 23:52:44 PST
Comment on attachment 180597 [details] patch for EWS Attachment 180597 [details] did not pass qt-wk2-ews (qt): Output: http://queues.webkit.org/results/15452695
Alexey Proskuryakov
Comment 31 2012-12-22 00:02:18 PST
Created attachment 180598 [details] patch for EWS
Early Warning System Bot
Comment 32 2012-12-22 00:11:40 PST
Comment on attachment 180598 [details] patch for EWS Attachment 180598 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/15445781
Early Warning System Bot
Comment 33 2012-12-22 00:12:58 PST
Comment on attachment 180598 [details] patch for EWS Attachment 180598 [details] did not pass qt-wk2-ews (qt): Output: http://queues.webkit.org/results/15456694
EFL EWS Bot
Comment 34 2012-12-22 00:29:44 PST
Comment on attachment 180598 [details] patch for EWS Attachment 180598 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/15456697
Build Bot
Comment 35 2012-12-22 00:36:57 PST
Comment on attachment 180598 [details] patch for EWS Attachment 180598 [details] did not pass win-ews (win): Output: http://queues.webkit.org/results/15460605
WebKit Review Bot
Comment 36 2012-12-22 00:45:14 PST
Comment on attachment 180598 [details] patch for EWS Attachment 180598 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/15445784
Alexey Proskuryakov
Comment 37 2012-12-22 01:03:22 PST
Created attachment 180599 [details] patch for EWS
EFL EWS Bot
Comment 38 2012-12-22 01:12:52 PST
Comment on attachment 180599 [details] patch for EWS Attachment 180599 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/15454702
Early Warning System Bot
Comment 39 2012-12-22 01:13:34 PST
Comment on attachment 180599 [details] patch for EWS Attachment 180599 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/15445794
Early Warning System Bot
Comment 40 2012-12-22 01:14:18 PST
Comment on attachment 180599 [details] patch for EWS Attachment 180599 [details] did not pass qt-wk2-ews (qt): Output: http://queues.webkit.org/results/15455692
Alexey Proskuryakov
Comment 41 2012-12-22 01:33:03 PST
Created attachment 180600 [details] patch for EWS
EFL EWS Bot
Comment 42 2012-12-22 01:42:05 PST
Comment on attachment 180600 [details] patch for EWS Attachment 180600 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/15446786
Build Bot
Comment 43 2012-12-22 02:13:08 PST
Comment on attachment 180600 [details] patch for EWS Attachment 180600 [details] did not pass win-ews (win): Output: http://queues.webkit.org/results/15450729
Alexey Proskuryakov
Comment 44 2012-12-22 14:04:34 PST
Created attachment 180608 [details] patch for EWS
Build Bot
Comment 45 2012-12-22 14:33:31 PST
Comment on attachment 180608 [details] patch for EWS Attachment 180608 [details] did not pass win-ews (win): Output: http://queues.webkit.org/results/15460780
Alexey Proskuryakov
Comment 46 2012-12-22 16:10:28 PST
Created attachment 180609 [details] patch for review
Sam Weinig
Comment 47 2012-12-22 16:27:16 PST
Comment on attachment 180609 [details] patch for review View in context: https://bugs.webkit.org/attachment.cgi?id=180609&action=review > Source/WebCore/platform/network/NetworkStorageSession.h:41 > +class NetworkStorageSession { Given how platform dependent this looking, do you think it might make sense to follow the idiom we use in ResourceRequest/ResourceResponse, where we have a base that is platform agnostic and concrete implementations that are platform specific? Another though is I wonder if this really needs to be storage specific? It seems like there might be other facets of a networking session that might be useful to keep. > Source/WebCore/platform/network/PlatformCookieJar.h:49 > -String cookiesForDOM(NetworkingContext*, const KURL& firstParty, const KURL&); > -void setCookiesFromDOM(NetworkingContext*, const KURL& firstParty, const KURL&, const String&); > -bool cookiesEnabled(NetworkingContext*, const KURL& firstParty, const KURL&); > -String cookieRequestHeaderFieldValue(NetworkingContext*, const KURL& firstParty, const KURL&); > -bool getRawCookies(NetworkingContext*, const KURL& firstParty, const KURL&, Vector<Cookie>&); > -void deleteCookie(NetworkingContext*, const KURL&, const String&); > -void getHostnamesWithCookies(NetworkingContext*, HashSet<String>& hostnames); > -void deleteCookiesForHostname(NetworkingContext*, const String& hostname); > -void deleteAllCookies(NetworkingContext*); > +String cookiesForDOM(const NetworkStorageSession&, const KURL& firstParty, const KURL&); > +void setCookiesFromDOM(const NetworkStorageSession&, const KURL& firstParty, const KURL&, const String&); > +bool cookiesEnabled(const NetworkStorageSession&, const KURL& firstParty, const KURL&); > +String cookieRequestHeaderFieldValue(const NetworkStorageSession&, const KURL& firstParty, const KURL&); > +bool getRawCookies(const NetworkStorageSession&, const KURL& firstParty, const KURL&, Vector<Cookie>&); > +void deleteCookie(const NetworkStorageSession&, const KURL&, const String&); > +void getHostnamesWithCookies(const NetworkStorageSession&, HashSet<String>& hostnames); > +void deleteCookiesForHostname(const NetworkStorageSession&, const String& hostname); > +void deleteAllCookies(const NetworkStorageSession&); Since you are passing by const reference now, the comment doesn't make as much sense. It also seems like we should eventually move these functions to be member functions on NetworkStorageSession. If so, a FIXME should be added.
Alexey Proskuryakov
Comment 48 2012-12-22 16:40:44 PST
> Given how platform dependent this looking, do you think it might make sense to follow the idiom we use in ResourceRequest/ResourceResponse, where we have a base that is platform agnostic and concrete implementations that are platform specific? Not sure if there is anything to share here. This is now more like ResourceHandle, which works quite well in practice, arguably better than ResourceResponse (despite a number of ifdefs in the header). > Another though is I wonder if this really needs to be storage specific? It seems like there might be other facets of a networking session that might be useful to keep. I think that storage session management is complicated enough that it deserves its own class. Eventually, we'll expand it to provide more control, such as setting location of cache directory, or tracking more sessions. > It also seems like we should eventually move these functions to be member functions on NetworkStorageSession. If so, a FIXME should be added. Good idea.
Build Bot
Comment 49 2012-12-22 16:49:19 PST
Comment on attachment 180609 [details] patch for review Attachment 180609 [details] did not pass win-ews (win): Output: http://queues.webkit.org/results/15452901
Sam Weinig
Comment 50 2012-12-22 17:05:47 PST
(In reply to comment #48) > > Given how platform dependent this looking, do you think it might make sense to follow the idiom we use in ResourceRequest/ResourceResponse, where we have a base that is platform agnostic and concrete implementations that are platform specific? > > Not sure if there is anything to share here. This is now more like ResourceHandle, which works quite well in practice, arguably better than ResourceResponse (despite a number of ifdefs in the header). > Ok. > > Another though is I wonder if this really needs to be storage specific? It seems like there might be other facets of a networking session that might be useful to keep. > > I think that storage session management is complicated enough that it deserves its own class. Eventually, we'll expand it to provide more control, such as setting location of cache directory, or tracking more sessions. Fair enough. > > > It also seems like we should eventually move these functions to be member functions on NetworkStorageSession. If so, a FIXME should be added. > > Good idea. Cool.
Alexey Proskuryakov
Comment 51 2012-12-22 18:17:43 PST
Tony Chang
Comment 52 2012-12-23 00:39:18 PST
This doesn't compile on the Chromium Linux clang build. Looks like we're trying to copy a NetworkStorageSession? Alexey, can you take a look? http://build.chromium.org/p/tryserver.chromium/builders/linux_clang/builds/73126/steps/compile/logs/stdio FAILED: clang++ -MMD -MF obj/third_party/WebKit/Source/WebCore/loader/webcore_remaining.CookieJar.o.d -D_FILE_OFFSET_BITS=64 -DCHROMIUM_BUILD -DCOMPONENT_BUILD -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_NSS=1 -DENABLE_ONE_CLICK_SIGNIN -DGTK_DISABLE_SINGLE_INCLUDES=1 -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_PEPPER_THREADING -DENABLE_CONFIGURATION_POLICY -DENABLE_INPUT_SPEECH -DENABLE_NOTIFICATIONS -DDCHECK_ALWAYS_ON=1 -DENABLE_GPU=1 -DENABLE_EGLIMAGE=1 -DUSE_SKIA=1 -DENABLE_TASK_MANAGER=1 -DENABLE_WEB_INTENTS=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_BACKGROUND=1 -DENABLE_AUTOMATION=1 -DENABLE_GOOGLE_NOW=1 -DENABLE_LANGUAGE_DETECTION=1 -DENABLE_PRINTING=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DGL_GLEXT_PROTOTYPES '-DWEBCORE_NAVIGATOR_VENDOR="Google Inc."' -DWEBKIT_IMPLEMENTATION=1 -DENABLE_3D_PLUGIN=1 -DENABLE_BATTERY_STATUS=0 -DENABLE_BLOB=1 -DENABLE_BLOB_SLICE=1 -DENABLE_CHANNEL_MESSAGING=1 -DENABLE_CSP_NEXT=1 -DENABLE_CSS3_CONDITIONAL_RULES=0 -DENABLE_CSS3_TEXT=0 -DENABLE_CSS_BOX_DECORATION_BREAK=1 -DENABLE_CSS_COMPOSITING=0 -DENABLE_CSS_DEVICE_ADAPTATION=0 -DENABLE_CSS_EXCLUSIONS=1 -DENABLE_CSS_FILTERS=1 -DENABLE_CSS_IMAGE_SET=1 -DENABLE_CSS_IMAGE_RESOLUTION=0 -DENABLE_CSS_REGIONS=1 -DENABLE_CSS_SHADERS=1 -DENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED=1 -DENABLE_CSS_VARIABLES=1 -DENABLE_CSS_STICKY_POSITION=1 -DENABLE_CUSTOM_SCHEME_HANDLER=0 -DENABLE_DASHBOARD_SUPPORT=0 -DENABLE_DATA_TRANSFER_ITEMS=1 -DENABLE_DETAILS_ELEMENT=1 -DENABLE_DEVICE_ORIENTATION=1 -DENABLE_DIALOG_ELEMENT=1 -DENABLE_DIRECTORY_UPLOAD=1 -DENABLE_DOWNLOAD_ATTRIBUTE=1 -DENABLE_DRAGGABLE_REGION=1 -DENABLE_ENCRYPTED_MEDIA=1 -DENABLE_FILE_SYSTEM=1 -DENABLE_FILTERS=1 -DENABLE_FULLSCREEN_API=1 -DENABLE_GAMEPAD=1 -DENABLE_GEOLOCATION=1 -DENABLE_GESTURE_EVENTS=1 -DENABLE_ICONDATABASE=0 -DENABLE_IFRAME_SEAMLESS=1 -DENABLE_INDEXED_DATABASE=1 -DENABLE_INPUT_TYPE_DATE=1 -DENABLE_INPUT_TYPE_DATETIME=1 -DENABLE_INPUT_TYPE_DATETIMELOCAL=1 -DENABLE_INPUT_TYPE_MONTH=1 -DENABLE_INPUT_TYPE_TIME=1 -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_JAVASCRIPT_I18N_API=1 -DENABLE_LEGACY_CSS_VENDOR_PREFIXES=0 -DENABLE_LEGACY_VIEWPORT_ADAPTION=1 -DENABLE_LEGACY_VENDOR_PREFIXES=0 -DENABLE_LEGACY_WEB_AUDIO=1 -DENABLE_LINK_PREFETCH=1 -DENABLE_LINK_PRERENDER=1 -DENABLE_MATHML=1 -DENABLE_MEDIA_SOURCE=1 -DENABLE_MEDIA_STATISTICS=1 -DENABLE_MEDIA_STREAM=1 -DENABLE_METER_ELEMENT=1 -DENABLE_MHTML=1 -DENABLE_MICRODATA=0 -DENABLE_MOUSE_CURSOR_SCALE=1 -DENABLE_MUTATION_OBSERVERS=1 -DENABLE_NAVIGATOR_CONTENT_UTILS=1 -DENABLE_PAGE_VISIBILITY_API=1 -DENABLE_PERFORMANCE_TIMELINE=1 -DENABLE_POINTER_LOCK=1 -DENABLE_PROGRESS_ELEMENT=1 -DENABLE_PROXIMITY_EVENTS=0 -DENABLE_QUOTA=1 -DENABLE_REQUEST_ANIMATION_FRAME=1 -DENABLE_REQUEST_AUTOCOMPLETE=1 -DENABLE_RESOLUTION_MEDIA_QUERY=0 -DENABLE_RESOURCE_TIMING=1 -DENABLE_RUBY=1 -DENABLE_SANDBOX=1 -DENABLE_SCRIPTED_SPEECH=1 -DENABLE_SHADOW_DOM=1 -DENABLE_SMOOTH_SCROLLING=1 -DENABLE_SQL_DATABASE=1 -DENABLE_STYLE_SCOPED=1 -DENABLE_SVG=1 -DENABLE_SVG_FONTS=1 -DENABLE_TEMPLATE_ELEMENT=1 -DENABLE_TEXT_AUTOSIZING=1 -DENABLE_TOUCH_ADJUSTMENT=1 -DENABLE_TOUCH_EVENTS=1 -DENABLE_TOUCH_ICON_LOADING=0 -DENABLE_TOUCH_EVENT_TRACKING=1 -DENABLE_TOUCH_SLIDER=1 -DENABLE_USER_TIMING=1 -DENABLE_V8_SCRIPT_DEBUG_SERVER=1 -DENABLE_VIDEO=1 -DENABLE_VIDEO_TRACK=1 -DENABLE_VIEWPORT=1 -DENABLE_WEBGL=1 -DENABLE_WEB_SOCKETS=1 -DENABLE_WEB_TIMING=1 -DENABLE_WORKERS=1 -DENABLE_XHR_RESPONSE_BLOB=1 -DENABLE_XHR_TIMEOUT=0 -DENABLE_XSLT=1 -DWTF_USE_LEVELDB=1 -DWTF_USE_BUILTIN_UTF8_CODEC=1 -DWTF_USE_OPENTYPE_SANITIZER=1 -DWTF_USE_RTL_SCROLLBAR=1 -DWTF_USE_SKIA_TEXT=1 -DWTF_USE_WEBP=1 -DWTF_USE_WEBKIT_IMAGE_DECODERS=1 -DENABLE_ACCELERATED_OVERFLOW_SCROLLING=0 -DENABLE_CALENDAR_PICKER=1 -DENABLE_DATALIST_ELEMENT=1 -DENABLE_INPUT_SPEECH=1 -DENABLE_INPUT_TYPE_COLOR=1 -DENABLE_INPUT_TYPE_WEEK=1 -DENABLE_INPUT_MULTIPLE_FIELDS_UI=1 -DENABLE_LEGACY_NOTIFICATIONS=1 -DENABLE_MEDIA_CAPTURE=0 -DENABLE_NOTIFICATIONS=1 -DENABLE_ORIENTATION_EVENTS=0 -DENABLE_PAGE_POPUP=1 -DENABLE_SHARED_WORKERS=1 -DENABLE_WEB_AUDIO=1 -DENABLE_3D_RENDERING=1 -DENABLE_ACCELERATED_2D_CANVAS=1 -DWTF_USE_ACCELERATED_COMPOSITING=1 -DWTF_USE_WEBAUDIO_FFMPEG=1 -DENABLE_OPENTYPE_VERTICAL=1 -DWTF_USE_HARFBUZZ_NG=1 -DENABLE_DEFAULT_RENDER_THEME=1 -DBUILDING_CHROMIUM__=1 -DWTF_USE_PTHREADS=1 -DU_USING_ICU_NAMESPACE=0 -DGURL_DLL -DSK_BUILD_NO_IMAGE_ENCODE -DSK_DEFERRED_CANVAS_USES_GPIPE=1 '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' -DGR_AGGRESSIVE_SHADER_OPTS=1 -DSK_USE_POSIX_THREADS -DGR_DLL -DSKIA_DLL -DCHROME_PNG_WRITE_SUPPORT -DPNG_USER_CONFIG -DLIBXML_STATIC -DLIBXSLT_STATIC -DV8_SHARED -DUSING_V8_SHARED -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -D_DEBUG -I../../third_party/icu/public/common -I../../third_party/icu/public/i18n -I../../third_party/khronos -I../../gpu -I../.. -I../../third_party -I../../third_party/WebKit/Source/Platform/chromium -Iobj/third_party/WebKit/Source/WebCore/WebCore.gyp/webcore_remaining.gen -I../../third_party/WebKit/Source/WebCore -I../../third_party/WebKit/Source -I../../third_party/WebKit/Source/WebCore/Modules/battery -I../../third_party/WebKit/Source/WebCore/Modules/filesystem -I../../third_party/WebKit/Source/WebCore/Modules/filesystem/chromium -I../../third_party/WebKit/Source/WebCore/Modules/gamepad -I../../third_party/WebKit/Source/WebCore/Modules/geolocation -I../../third_party/WebKit/Source/WebCore/Modules/intents -I../../third_party/WebKit/Source/WebCore/Modules/indexeddb -I../../third_party/WebKit/Source/WebCore/Modules/mediasource -I../../third_party/WebKit/Source/WebCore/Modules/mediastream -I../../third_party/WebKit/Source/WebCore/Modules/navigatorcontentutils -I../../third_party/WebKit/Source/WebCore/Modules/notifications -I../../third_party/WebKit/Source/WebCore/Modules/quota -I../../third_party/WebKit/Source/WebCore/Modules/speech -I../../third_party/WebKit/Source/WebCore/Modules/webaudio -I../../third_party/WebKit/Source/WebCore/Modules/webdatabase -I../../third_party/WebKit/Source/WebCore/Modules/webdatabase/chromium -I../../third_party/WebKit/Source/WebCore/Modules/websockets -I../../third_party/WebKit/Source/WebCore/accessibility -I../../third_party/WebKit/Source/WebCore/accessibility/chromium -I../../third_party/WebKit/Source/WebCore/bindings -I../../third_party/WebKit/Source/WebCore/bindings/generic -I../../third_party/WebKit/Source/WebCore/bindings/v8 -I../../third_party/WebKit/Source/WebCore/bindings/v8/custom -I../../third_party/WebKit/Source/WebCore/bridge -I../../third_party/WebKit/Source/WebCore/bridge/jni -I../../third_party/WebKit/Source/WebCore/bridge/jni/v8 -I../../third_party/WebKit/Source/WebCore/css -I../../third_party/WebKit/Source/WebCore/dom -I../../third_party/WebKit/Source/WebCore/dom/default -I../../third_party/WebKit/Source/WebCore/editing -I../../third_party/WebKit/Source/WebCore/fileapi -I../../third_party/WebKit/Source/WebCore/history -I../../third_party/WebKit/Source/WebCore/html -I../../third_party/WebKit/Source/WebCore/html/canvas -I../../third_party/WebKit/Source/WebCore/html/parser -I../../third_party/WebKit/Source/WebCore/html/shadow -I../../third_party/WebKit/Source/WebCore/html/track -I../../third_party/WebKit/Source/WebCore/inspector -I../../third_party/WebKit/Source/WebCore/loader -I../../third_party/WebKit/Source/WebCore/loader/appcache -I../../third_party/WebKit/Source/WebCore/loader/archive -I../../third_party/WebKit/Source/WebCore/loader/archive/cf -I../../third_party/WebKit/Source/WebCore/loader/archive/mhtml -I../../third_party/WebKit/Source/WebCore/loader/cache -I../../third_party/WebKit/Source/WebCore/loader/icon -I../../third_party/WebKit/Source/WebCore/mathml -I../../third_party/WebKit/Source/WebCore/page -I../../third_party/WebKit/Source/WebCore/page/animation -I../../third_party/WebKit/Source/WebCore/page/chromium -I../../third_party/WebKit/Source/WebCore/page/scrolling -I../../third_party/WebKit/Source/WebCore/page/scrolling/chromium -I../../third_party/WebKit/Source/WebCore/platform -I../../third_party/WebKit/Source/WebCore/platform/animation -I../../third_party/WebKit/Source/WebCore/platform/audio -I../../third_party/WebKit/Source/WebCore/platform/audio/chromium -I../../third_party/WebKit/Source/WebCore/platform/chromium -I../../third_party/WebKit/Source/WebCore/platform/chromium/support -I../../third_party/WebKit/Source/WebCore/platform/graphics -I../../third_party/WebKit/Source/WebCore/platform/graphics/chromium -I../../third_party/WebKit/Source/WebCore/platform/graphics/chromium/cc -I../../third_party/WebKit/Source/WebCore/platform/graphics/cpu/arm -I../../third_party/WebKit/Source/WebCore/platform/graphics/cpu/arm/filters -I../../third_party/WebKit/Source/WebCore/platform/graphics/filters -I../../third_party/WebKit/Source/WebCore/platform/graphics/filters/skia -I../../third_party/WebKit/Source/WebCore/platform/graphics/gpu -I../../third_party/WebKit/Source/WebCore/platform/graphics/opentype -I../../third_party/WebKit/Source/WebCore/platform/graphics/skia -I../../third_party/WebKit/Source/WebCore/platform/graphics/transforms -I../../third_party/WebKit/Source/WebCore/platform/image-decoders -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/bmp -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/gif -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/ico -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/jpeg -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/png -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/skia -I../../third_party/WebKit/Source/WebCore/platform/image-decoders/webp -I../../third_party/WebKit/Source/WebCore/platform/image-encoders/skia -I../../third_party/WebKit/Source/WebCore/platform/leveldb -I../../third_party/WebKit/Source/WebCore/platform/mediastream -I../../third_party/WebKit/Source/WebCore/platform/mediastream/chromium -I../../third_party/WebKit/Source/WebCore/platform/mock -I../../third_party/WebKit/Source/WebCore/platform/network -I../../third_party/WebKit/Source/WebCore/platform/network/chromium -I../../third_party/WebKit/Source/WebCore/platform/sql -I../../third_party/WebKit/Source/WebCore/platform/text -I../../third_party/WebKit/Source/WebCore/platform/text/transcoder -I../../third_party/WebKit/Source/WebCore/plugins -I../../third_party/WebKit/Source/WebCore/plugins/chromium -I../../third_party/WebKit/Source/WebCore/rendering -I../../third_party/WebKit/Source/WebCore/rendering/mathml -I../../third_party/WebKit/Source/WebCore/rendering/style -I../../third_party/WebKit/Source/WebCore/rendering/svg -I../../third_party/WebKit/Source/WebCore/storage -I../../third_party/WebKit/Source/WebCore/svg -I../../third_party/WebKit/Source/WebCore/svg/animation -I../../third_party/WebKit/Source/WebCore/svg/graphics -I../../third_party/WebKit/Source/WebCore/svg/graphics/filters -I../../third_party/WebKit/Source/WebCore/svg/properties -I../../third_party/WebKit/Source/ThirdParty/glu -I../../third_party/WebKit/Source/WebCore/workers -I../../third_party/WebKit/Source/WebCore/xml -I../../third_party/WebKit/Source/WebCore/xml/parser -I../../third_party/WebKit/Source/WebCore/platform/graphics/harfbuzz -I../../third_party/WebKit/Source/WebCore/platform/graphics/harfbuzz/ng -I../../third_party/angle/include/GLSLANG -Igen/webkit -Igen/webkit/bindings -I../../third_party/ffmpeg -I../../third_party/WebKit/Source/WTF -I../../third_party/WebKit/Source/JavaScriptCore -I../../skia/config -I../../third_party/skia/src/core -I../../third_party/skia/include/config -I../../third_party/skia/include/core -I../../third_party/skia/include/effects -I../../third_party/skia/include/pdf -I../../third_party/skia/include/gpu -I../../third_party/skia/include/gpu/gl -I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../skia/ext -I../../third_party/iccjpeg -I../../third_party/libwebp -I../../third_party/libpng -I../../third_party/libxml/linux/include -I../../third_party/libxml/src/include -I../../third_party/libxslt -I../../third_party/npapi -I../../third_party/npapi/bindings -I../../third_party/ots/include -I../../third_party/qcms/src -I../../third_party/sqlite -I../../third_party/zlib -I../../v8/include -I../../third_party/libjpeg_turbo -I../../third_party/leveldatabase/src/include -I../../third_party/leveldatabase/src -Wglobal-constructors -Wunused-parameter -fstack-protector --param=ssp-buffer-size=4 -Werror -pthread -fno-exceptions -fno-strict-aliasing -Wall -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -Wheader-hygiene -Wno-unused-function -Wno-char-subscripts -Wno-unnamed-type-template-args -Wno-c++11-extensions -Wno-covered-switch-default -Xclang -load -Xclang /mnt/scratch0/b_used/build/slave/linux_clang/build/src/tools/clang/scripts/../../../third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.so -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang skip-virtuals-in-implementations -fcolor-diagnostics -fno-strict-aliasing -pthread -D_REENTRANT -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -Wexit-time-destructors -O0 -g -g0 -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -Wsign-compare -c ../../third_party/WebKit/Source/WebCore/loader/CookieJar.cpp -o obj/third_party/WebKit/Source/WebCore/loader/webcore_remaining.CookieJar.o ../../third_party/WebKit/Source/WebCore/loader/CookieJar.cpp:75:26: error: copying parameter of type 'WebCore::NetworkStorageSession' invokes deleted constructor return cookiesForDOM(SESSION(document), document->firstPartyForCookies(), url); ^~~~~~~~~~~~~~~~~ ../../third_party/WebKit/Source/WebCore/loader/CookieJar.cpp:67:27: note: expanded from macro 'SESSION' #define SESSION(document) NetworkStorageSession(networkingContext(document)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../third_party/WebKit/Source/WebCore/platform/network/NetworkStorageSession.h:42:26: note: function has been explicitly marked deleted here WTF_MAKE_NONCOPYABLE(NetworkStorageSession); WTF_MAKE_FAST_ALLOCATED; ^ ../../third_party/WebKit/Source/WTF/wtf/Noncopyable.h:29:13: note: expanded from macro 'WTF_MAKE_NONCOPYABLE' ClassName(const ClassName&) = delete; \ ^ ../../third_party/WebKit/Source/WebCore/loader/CookieJar.cpp:84:23: error: copying parameter of type 'WebCore::NetworkStorageSession' invokes deleted constructor setCookiesFromDOM(SESSION(document), document->firstPartyForCookies(), url, cookieString); ^~~~~~~~~~~~~~~~~ ../../third_party/WebKit/Source/WebCore/loader/CookieJar.cpp:67:27: note: expanded from macro 'SESSION' #define SESSION(document) NetworkStorageSession(networkingContext(document)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../third_party/WebKit/Source/WebCore/platform/network/NetworkStorageSession.h:42:26: note: function has been explicitly marked deleted here WTF_MAKE_NONCOPYABLE(NetworkStorageSession); WTF_MAKE_FAST_ALLOCATED; ^ ../../third_party/WebKit/Source/WTF/wtf/Noncopyable.h:29:13: note: expanded from macro 'WTF_MAKE_NONCOPYABLE' ClassName(const ClassName&) = delete; \ ^ ../../third_party/WebKit/Source/WebCore/loader/CookieJar.cpp:93:27: error: copying parameter of type 'WebCore::NetworkStorageSession' invokes deleted constructor return cookiesEnabled(SESSION(document), document->firstPartyForCookies(), document->cookieURL()); ^~~~~~~~~~~~~~~~~ ../../third_party/WebKit/Source/WebCore/loader/CookieJar.cpp:67:27: note: expanded from macro 'SESSION' #define SESSION(document) NetworkStorageSession(networkingContext(document)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../third_party/WebKit/Source/WebCore/platform/network/NetworkStorageSession.h:42:26: note: function has been explicitly marked deleted here WTF_MAKE_NONCOPYABLE(NetworkStorageSession); WTF_MAKE_FAST_ALLOCATED; ^ ../../third_party/WebKit/Source/WTF/wtf/Noncopyable.h:29:13: note: expanded from macro 'WTF_MAKE_NONCOPYABLE' ClassName(const ClassName&) = delete; \ ^ ../../third_party/WebKit/Source/WebCore/loader/CookieJar.cpp:102:42: error: copying parameter of type 'WebCore::NetworkStorageSession' invokes deleted constructor return cookieRequestHeaderFieldValue(SESSION(document), document->firstPartyForCookies(), url); ^~~~~~~~~~~~~~~~~ ../../third_party/WebKit/Source/WebCore/loader/CookieJar.cpp:67:27: note: expanded from macro 'SESSION' #define SESSION(document) NetworkStorageSession(networkingContext(document)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../third_party/WebKit/Source/WebCore/platform/network/NetworkStorageSession.h:42:26: note: function has been explicitly marked deleted here WTF_MAKE_NONCOPYABLE(NetworkStorageSession); WTF_MAKE_FAST_ALLOCATED; ^ ../../third_party/WebKit/Source/WTF/wtf/Noncopyable.h:29:13: note: expanded from macro 'WTF_MAKE_NONCOPYABLE' ClassName(const ClassName&) = delete; \ ^ ../../third_party/WebKit/Source/WebCore/loader/CookieJar.cpp:111:26: error: copying parameter of type 'WebCore::NetworkStorageSession' invokes deleted constructor return getRawCookies(SESSION(document), document->firstPartyForCookies(), url, cookies); ^~~~~~~~~~~~~~~~~ ../../third_party/WebKit/Source/WebCore/loader/CookieJar.cpp:67:27: note: expanded from macro 'SESSION' #define SESSION(document) NetworkStorageSession(networkingContext(document)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../third_party/WebKit/Source/WebCore/platform/network/NetworkStorageSession.h:42:26: note: function has been explicitly marked deleted here WTF_MAKE_NONCOPYABLE(NetworkStorageSession); WTF_MAKE_FAST_ALLOCATED; ^ ../../third_party/WebKit/Source/WTF/wtf/Noncopyable.h:29:13: note: expanded from macro 'WTF_MAKE_NONCOPYABLE' ClassName(const ClassName&) = delete; \ ^ ../../third_party/WebKit/Source/WebCore/loader/CookieJar.cpp:120:18: error: copying parameter of type 'WebCore::NetworkStorageSession' invokes deleted constructor deleteCookie(SESSION(document), url, cookieName); ^~~~~~~~~~~~~~~~~ ../../third_party/WebKit/Source/WebCore/loader/CookieJar.cpp:67:27: note: expanded from macro 'SESSION' #define SESSION(document) NetworkStorageSession(networkingContext(document)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../third_party/WebKit/Source/WebCore/platform/network/NetworkStorageSession.h:42:26: note: function has been explicitly marked deleted here WTF_MAKE_NONCOPYABLE(NetworkStorageSession); WTF_MAKE_FAST_ALLOCATED; ^ ../../third_party/WebKit/Source/WTF/wtf/Noncopyable.h:29:13: note: expanded from macro 'WTF_MAKE_NONCOPYABLE' ClassName(const ClassName&) = delete; \ ^ 6 errors generated. ninja: build stopped: subcommand failed.
Alexey Proskuryakov
Comment 53 2012-12-23 01:04:41 PST
Unsure why it complains, there should be no copying when binding a temporary to a const reference. Since EWS isn't saying anything, someone with a chromium build will need to fix. I have three suggestions: - check clang version, perhaps this is a compiler bug that has been fixed; - ifdef out WTF_MAKE_NONCOPYABLE for platforms that just wrap m_context; - or better, implement NetworkStorageSession in a proper way - wrapping m_context is just a hack to keep other platforms building.
Csaba Osztrogonác
Comment 54 2012-12-23 06:22:11 PST
Similar build failure on Qt Mac build, see https://bugs.webkit.org/show_bug.cgi?id=105686 for details.
Filip Pizlo
Comment 55 2012-12-27 10:50:16 PST
This appears to have set the bots on fire. Before: http://build.webkit.org/results/Apple%20Lion%20Debug%20WK1%20(Tests)/r138412%20(5567)/results.html After: http://build.webkit.org/results/Apple%20Lion%20Debug%20WK1%20(Tests)/r138413%20(5568)/results.html Locally, I'm getting crashes on each test run. The crash always seems to look like: ASSERTION FAILED: mainThreadPthread /Volumes/Data/fromMiniMe/secondary/OpenSource/Source/WTF/wtf/mac/MainThreadMac.mm(132) : bool WTF::isMainThread() 1 0x100787e18 WTF::isMainThread() 2 0x1034b3f3d _ZN7WebCoreL28defaultNetworkStorageSessionEv 3 0x1034b3ecd WebCore::NetworkStorageSession::switchToNewTestingSession() 4 0x10141b94a +[WebPreferences(WebPrivate) _switchNetworkLoaderToNewTestingSession] 5 0x10001be2e _ZL39setDefaultsToConsistentValuesForTestingv 6 0x10001668f _ZL35prepareConsistentTestingEnvironmentv 7 0x1000161c3 dumpRenderTree(int, char const**) 8 0x1000186c9 main 9 0x1000021c4 start 10 0x2
Filip Pizlo
Comment 56 2012-12-27 11:07:59 PST
(In reply to comment #55) > This appears to have set the bots on fire. > > Before: http://build.webkit.org/results/Apple%20Lion%20Debug%20WK1%20(Tests)/r138412%20(5567)/results.html > After: http://build.webkit.org/results/Apple%20Lion%20Debug%20WK1%20(Tests)/r138413%20(5568)/results.html > > Locally, I'm getting crashes on each test run. > > The crash always seems to look like: > > > ASSERTION FAILED: mainThreadPthread > /Volumes/Data/fromMiniMe/secondary/OpenSource/Source/WTF/wtf/mac/MainThreadMac.mm(132) : bool WTF::isMainThread() > 1 0x100787e18 WTF::isMainThread() > 2 0x1034b3f3d _ZN7WebCoreL28defaultNetworkStorageSessionEv > 3 0x1034b3ecd WebCore::NetworkStorageSession::switchToNewTestingSession() > 4 0x10141b94a +[WebPreferences(WebPrivate) _switchNetworkLoaderToNewTestingSession] > 5 0x10001be2e _ZL39setDefaultsToConsistentValuesForTestingv > 6 0x10001668f _ZL35prepareConsistentTestingEnvironmentv > 7 0x1000161c3 dumpRenderTree(int, char const**) > 8 0x1000186c9 main > 9 0x1000021c4 start > 10 0x2 Looks like this is fixed by http://trac.webkit.org/changeset/138510
Roger Fong
Comment 57 2013-01-02 16:58:10 PST
8 tests crashing on Win7 port as a result of this patch. See the http security tests. http://build.webkit.org/results/Apple%20Win%207%20Release%20(Tests)/r138413%20(31145)/results.html
Roger Fong
Comment 58 2013-01-03 13:41:27 PST
(In reply to comment #57) > 8 tests crashing on Win7 port as a result of this patch. > > See the http security tests. > > http://build.webkit.org/results/Apple%20Win%207%20Release%20(Tests)/r138413%20(31145)/results.html https://bugs.webkit.org/show_bug.cgi?id=106032 tracking failures
Note You need to log in before you can comment on or make changes to this bug.