Summary: | Add a separate class for networking related storage | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Alexey Proskuryakov <ap> | ||||||||||||||||||||||||||
Component: | Page Loading | Assignee: | Alexey Proskuryakov <ap> | ||||||||||||||||||||||||||
Status: | RESOLVED FIXED | ||||||||||||||||||||||||||||
Severity: | Normal | CC: | danw, dglazkov, fpizlo, gtk-ews, gustavo, gyuyoung.kim, japhet, mrobinson, ossy, philn, rakuco, roger_fong, sam, tony, webkit-ews, webkit.review.bot, xan.lopez | ||||||||||||||||||||||||||
Priority: | P2 | ||||||||||||||||||||||||||||
Version: | 528+ (Nightly build) | ||||||||||||||||||||||||||||
Hardware: | Unspecified | ||||||||||||||||||||||||||||
OS: | Unspecified | ||||||||||||||||||||||||||||
Bug Depends on: | 105686 | ||||||||||||||||||||||||||||
Bug Blocks: | |||||||||||||||||||||||||||||
Attachments: |
|
Description
Alexey Proskuryakov
2012-12-21 21:39:43 PST
Created attachment 180590 [details]
patch for EWS
Will likely take many iterations to make EWS happy...
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.
Comment on attachment 180590 [details] patch for EWS Attachment 180590 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/15452665 Comment on attachment 180590 [details] patch for EWS Attachment 180590 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/15456665 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 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 Created attachment 180592 [details]
patch for EWS
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.
Comment on attachment 180592 [details] patch for EWS Attachment 180592 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/15457650 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 Comment on attachment 180592 [details] patch for EWS Attachment 180592 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/15458625 Created attachment 180593 [details]
patch for EWS
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.
Comment on attachment 180593 [details] patch for EWS Attachment 180593 [details] did not pass gtk-ews (gtk): Output: http://queues.webkit.org/results/15456679 Comment on attachment 180593 [details] patch for EWS Attachment 180593 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/15458630 Comment on attachment 180593 [details] patch for EWS Attachment 180593 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/15454666 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 Created attachment 180594 [details]
patch for EWS
Created attachment 180595 [details]
why was it small?
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 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.
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 Created attachment 180596 [details]
patch for EWS
Comment on attachment 180596 [details] patch for EWS Attachment 180596 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/15457664 Comment on attachment 180596 [details] patch for EWS Attachment 180596 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/15457665 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 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 Created attachment 180597 [details]
patch for EWS
Comment on attachment 180597 [details] patch for EWS Attachment 180597 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/15462571 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 Created attachment 180598 [details]
patch for EWS
Comment on attachment 180598 [details] patch for EWS Attachment 180598 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/15445781 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 Comment on attachment 180598 [details] patch for EWS Attachment 180598 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/15456697 Comment on attachment 180598 [details] patch for EWS Attachment 180598 [details] did not pass win-ews (win): Output: http://queues.webkit.org/results/15460605 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 Created attachment 180599 [details]
patch for EWS
Comment on attachment 180599 [details] patch for EWS Attachment 180599 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/15454702 Comment on attachment 180599 [details] patch for EWS Attachment 180599 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/15445794 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 Created attachment 180600 [details]
patch for EWS
Comment on attachment 180600 [details] patch for EWS Attachment 180600 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/15446786 Comment on attachment 180600 [details] patch for EWS Attachment 180600 [details] did not pass win-ews (win): Output: http://queues.webkit.org/results/15450729 Created attachment 180608 [details]
patch for EWS
Comment on attachment 180608 [details] patch for EWS Attachment 180608 [details] did not pass win-ews (win): Output: http://queues.webkit.org/results/15460780 Created attachment 180609 [details]
patch for review
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. > 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. Comment on attachment 180609 [details] patch for review Attachment 180609 [details] did not pass win-ews (win): Output: http://queues.webkit.org/results/15452901 (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. Committed <http://trac.webkit.org/changeset/138413>. 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. 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. Similar build failure on Qt Mac build, see https://bugs.webkit.org/show_bug.cgi?id=105686 for details. 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 (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 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 (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 |