summaryrefslogtreecommitdiffstats
path: root/content/browser/loader
Commit message (Collapse)AuthorAgeFilesLines
* Allow BlobDataHandles to be copied, and have their UUIDs read, on any thread.michaeln@chromium.org2014-05-031-164/+209
| | | | | | | | | | | This is a rehash of ericu's cl https://codereview.chromium.org/259773006/ with a fix in upload_data_stream_builder_unittest.cc to resolve the leak asan found. TBR=ericu,piman BUG=108012 Review URL: https://codereview.chromium.org/261993004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@268023 0039d316-1c4b-4281-b951-d872f2087c98
* Revert of Allow BlobDataHandles to be copied, and have their UUIDs read, on ↵falken@chromium.org2014-05-011-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | any thread. (https://codereview.chromium.org/259773006/) Reason for revert: I'm sorry to revert this change. It looks like it breaks the ASAN bot: http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%20LSan%20Tests%20%282%29/builds/2161/steps/content_unittests/logs/ResolveBlobAndCreateUploadDataStream Direct leak of 120 byte(s) in 3 object(s) allocated from: #0 0x520dbb in operator new(unsigned long) /usr/local/google/work/chromium/src/third_party/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:62 #1 0x3a0f611 in webkit_blob::BlobDataHandle::BlobDataHandle(webkit_blob::BlobData*, webkit_blob::BlobStorageContext*, base::SequencedTaskRunner*) webkit/browser/blob/blob_data_handle.cc:42 #2 0x3a0fd71 in webkit_blob::BlobStorageContext::GetBlobDataFromUUID(std::string const&) webkit/browser/blob/blob_storage_context.cc:69 #3 0x268955d in ResolveBlobReference content/browser/loader/upload_data_stream_builder.cc:73 ... Original issue's description: > Allow BlobDataHandles to be copied, and have their UUIDs read, on any thread. > > BUG=108012 > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=266817 > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=267423 TBR=michaeln@chromium.org,piman@chromium.org,ericu@chromium.org NOTREECHECKS=true NOTRY=true BUG=108012 Review URL: https://codereview.chromium.org/261683005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267479 0039d316-1c4b-4281-b951-d872f2087c98
* Allow BlobDataHandles to be copied, and have their UUIDs read, on any thread.ericu@chromium.org2014-05-011-0/+7
| | | | | | | | | | BUG=108012 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=266817 Review URL: https://codereview.chromium.org/259773006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267423 0039d316-1c4b-4281-b951-d872f2087c98
* net: Always pass TaskRunner to FileStream's ctorhashimoto@chromium.org2014-04-301-3/+5
| | | | | | | | | BUG=275751 TEST=git cl try Review URL: https://codereview.chromium.org/247873003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267179 0039d316-1c4b-4281-b951-d872f2087c98
* Rename UpdateRendererStateForNavigatenasko@chromium.org2014-04-301-1/+1
| | | | | | | | | | The method name is a bit confusing, as it isn't updating any renderer. It makes a policy decision which RenderFrameHost should handle the navigation and returns it out. Dropping the "Renderer" part of the name makes it a bit better. BUG= Review URL: https://codereview.chromium.org/255293002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267128 0039d316-1c4b-4281-b951-d872f2087c98
* SPDY - persist 300 most recently used servers that support SPDY tortenneti@chromium.org2014-04-301-2/+2
| | | | | | | | | | | | | | | | | | | | preferences file. This change reduces the size of Preferences file for around 3% of users who have lot of entries (some users have more than 10,000 entries). HttpServerProperties - Implement MRU for supports SPDY server list. Persist only the most recently used 300 entries. In memory keep all the entries. This change is similar to MRU change for AlternateProtocol. R=rch@chromium.org, mmenke@chromium.org BUG=258189 Review URL: https://codereview.chromium.org/253903002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267022 0039d316-1c4b-4281-b951-d872f2087c98
* Fix HANDLE leak in ResourceDispatcherHost tests.davidben@chromium.org2014-04-291-47/+83
| | | | | | | | | | | | | | | Ownership of the HANDLE in ResourceMsg_SetDataBuffer isn't managed automatically. Also invert ForwardingFilter/TestFilter's superclass/subclass relationship. This arrangement avoids the useless dest_ = NULL codepath. BUG=366246 Review URL: https://codereview.chromium.org/257763007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266790 0039d316-1c4b-4281-b951-d872f2087c98
* Migrate CreateTemporaryFileStream to use FileProxyrvargas@chromium.org2014-04-291-10/+11
| | | | | | | | BUG=322664 Review URL: https://codereview.chromium.org/232483003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266727 0039d316-1c4b-4281-b951-d872f2087c98
* Perform navigation policy check on UI thread for --site-per-process.nasko@chromium.org2014-04-252-20/+79
| | | | | | | | | | | | | This CL adds a NavigateFrameToURL method, which will allow browser tests to navigate specific (sub)frames and more precise out-of-process iframes tests can be written. It also changes how cross-site transition is done for --site-per-process. It used to depend on the Referer header, but if there is a navigation to data URL, it will be empty and there will always be a transfer to new renderer. I'm changing it to do the check on the UI thread and for now to be a very simplistic one - is the URL in the same SiteInstance as the current renderer. BUG=357747 Review URL: https://codereview.chromium.org/248963007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266267 0039d316-1c4b-4281-b951-d872f2087c98
* Cache total_delayable_count for in_flight_requests in ResourceSchedulerhong.zheng@intel.com2014-04-253-228/+316
| | | | | | | | | | | | | | In ResourceScheduler::GetNumDelayableRequestsInFlight, total_delayable_count has no relation to active_request_host, so we do not need to compute it for each request. The patch can boost BrowsingBench workload >5% performance. BUG=347454 Review URL: https://codereview.chromium.org/180843016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266165 0039d316-1c4b-4281-b951-d872f2087c98
* net: Remove unused NetLog parameter from FileStream's ctorhashimoto@chromium.org2014-04-232-3/+2
| | | | | | | | | | | | | | Remove NetLog parameter from FileStream's ctor to which all users are passing NULL. Remove BoundNetLog from FileStream which does nothing if net_log==NULL. Remove an enum (FileErrorSource), methods (RecordError, BeginOpenEvent, ProcessOpenError, ProcessAsyncResult, OnAsyncCompleted) and member variables (bound_net_log_ and error_source_) from file_stream_context.h. BUG=361496 TEST=git cl try Review URL: https://codereview.chromium.org/242873003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@265576 0039d316-1c4b-4281-b951-d872f2087c98
* Remove <a ping> histograms.davidben@chromium.org2014-04-172-91/+3
| | | | | | | | | | | | They're no longer needed now that we believe the ping issue has been fixed. This is a revert of https://codereview.chromium.org/148573002. BUG=302816 Review URL: https://codereview.chromium.org/238723006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264373 0039d316-1c4b-4281-b951-d872f2087c98
* Fix AwContentsTest#testDownload.davidben@chromium.org2014-04-162-10/+11
| | | | | | | | | | | The handler could cause the request to be cancelled out-of-band in OnReadCompleted without returning false. BUG=363563 Review URL: https://codereview.chromium.org/238933005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264258 0039d316-1c4b-4281-b951-d872f2087c98
* Don't send two OnResponseCompleteds in ResourceLoader.davidben@chromium.org2014-04-144-13/+106
| | | | | | | | | | | | | | If the handler returns false in OnReadCompleted, we call OnResponseCompleted twice. Add a test to ensure we don't do that. In addition, add a test for deferring an EOF; this currently relies on URLRequest::Read being callable after an EOF. The test will ensure we remove that assumption if it stops being true. BUG=361830 Review URL: https://codereview.chromium.org/231993003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263719 0039d316-1c4b-4281-b951-d872f2087c98
* Fix IOBuffer leak in CertificateResourceHandler and StreamResourceHandler.davidben@chromium.org2014-04-102-4/+4
| | | | | | | | | | As found in https://crbug.com/361440#c9. BUG=none Review URL: https://codereview.chromium.org/232843003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263047 0039d316-1c4b-4281-b951-d872f2087c98
* This CL adds an intra-priority level sorting value for finer grained control ↵simonhatch@chromium.org2014-04-073-67/+149
| | | | | | | | | | | | | | | | | | of resource loading. The blink side of this patch sorts visible images by estimated on screen real-estate, preferring to download images with more visual impact first. Ie. On a page with a large banner, and dozens of small icons, the large banner will most likely be scheduled ahead of the others. In the future, we can also use this to experiment with other signals, ie. prioritize by distance to viewport. This needs https://codereview.chromium.org/153983004/ to land first. In our tests, this was a nice win on speed-index for desktop, with a gain of about ~2-3%. BUG= Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=260665 Review URL: https://codereview.chromium.org/146333004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262204 0039d316-1c4b-4281-b951-d872f2087c98
* Remove PlatformFile from resource_loader_unittestrvargas@chromium.org2014-04-031-12/+6
| | | | | | | | BUG=322664 Review URL: https://codereview.chromium.org/212603021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261488 0039d316-1c4b-4281-b951-d872f2087c98
* Relanding user gesture fix for external protocol handlers after revert.meacer@chromium.org2014-04-031-2/+9
| | | | | | | | | | | The original CL that broke the build: https://codereview.chromium.org/131783012/ BUG=173557 TBR=pkasting@chromium.org,joi@chromium.org,kalman@chromium.org,jochen@chromium.org,mmenke@chromium.org,boliu@chromium.org Review URL: https://codereview.chromium.org/214603010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261316 0039d316-1c4b-4281-b951-d872f2087c98
* Revert of Fix the handling of user gestures for external protocol handler ↵rlarocque@chromium.org2014-04-021-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dialogs. (https://codereview.chromium.org/131783012/) Reason for revert: Looks like this caused a failure on the build bots. http://build.chromium.org/p/chromium.linux/builders/Linux%20Clang%20%28dbg%29/builds/57837 FAILED: /b/build/goma/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/apps/shell/browser/app_shell_lib.shell_extensions_browser_client.o.d -DV8_DEPRECATION_WARNINGS -DBLINK_SCALE_FILTERS_AT_RECORD_TIME -D_FILE_OFFSET_BITS=64 -DCHROMIUM_BUILD -DCOMPONENT_BUILD -DTOOLKIT_VIEWS=1 -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_CAIRO=1 -DUSE_GLIB=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_MOJO=1 -DUSE_X11=1 -DUSE_CLIPBOARD_AURAX11=1 -DENABLE_ONE_CLICK_SIGNIN -DUSE_XI2_MT=2 -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_INPUT_SPEECH -DENABLE_NOTIFICATIONS -DUSE_UDEV -DENABLE_EGLIMAGE=1 -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_AUTOMATION=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_FULL_PRINTING=1 -DENABLE_PRINTING=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_MANAGED_USERS=1 -DENABLE_MDNS=1 -DENABLE_SERVICE_DISCOVERY=1 -DGL_GLEXT_PROTOTYPES -DGTEST_HAS_POSIX_RE=0 -DLIBPEERCONNECTION_LIB=1 -DU_USING_ICU_NAMESPACE=0 -DV8_SHARED -DUSING_V8_SHARED -DCHROME_PNG_WRITE_SUPPORT -DPNG_USER_CONFIG -DSKIA_DLL -DGR_GL_IGNORE_ES3_MSAA=0 -DSK_ENABLE_INST_COUNT=0 -DSK_SUPPORT_GPU=1 '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' -DSK_ENABLE_LEGACY_API_ALIASING=1 -DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1 -DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1 -DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT -DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1 -DSK_SUPPORT_LEGACY_GETCLIPTYPE -DSK_SUPPORT_LEGACY_GETTOTALCLIP -DSK_SUPPORT_LEGACY_GETTOPDEVICE -DSK_USE_POSIX_THREADS -DSK_DEFERRED_CANVAS_USES_FACTORIES=1 -DUSE_NSS=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -D_DEBUG -D_GLIBCXX_DEBUG=1 -I../.. -I../../third_party/khronos -I../../gpu -I../../skia/config -I../../third_party/WebKit/Source -Igen -I../../third_party/WebKit -I../../third_party/icu/source/common -I../../third_party/npapi -I../../third_party/npapi/bindings -I../../v8/include -I../../third_party/libpng -I../../third_party/zlib -I../../third_party/libwebp -I../../third_party/ots/include -I../../third_party/qcms/src -I../../third_party/iccjpeg -I../../third_party/libjpeg_turbo -Igen/policy -Igen/protoc_out -I../../third_party/WebKit -I../../third_party/skia/src/core -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/lazy -I../../third_party/skia/include/pathops -I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../skia/ext -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-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-reserved-user-defined-literal -Wno-deprecated-register -Wno-absolute-value -Xclang -load -Xclang /b/build/slave/Linux_Clang__dbg_/build/src/tools/clang/scripts/../../../third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.so -Xclang -add-plugin -Xclang find-bad-constructs -fcolor-diagnostics -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -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/libpng12 -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -m64 -march=x86-64 -O0 -g -funwind-tables -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -Wsign-compare -std=gnu++11 -c ../../apps/shell/browser/shell_extensions_browser_client.cc -o obj/apps/shell/browser/app_shell_lib.shell_extensions_browser_client.o In file included from ../../apps/shell/browser/shell_extensions_browser_client.cc:5: ../../apps/shell/browser/shell_extensions_browser_client.h:54:16:error: 'PermitExternalProtocolHandler' marked 'override' but does not override any member functions virtual void PermitExternalProtocolHandler() OVERRIDE; Original issue's description: > Fix the handling of user gestures for external protocol handler dialogs. > > - Remove browser state from external protocol handler. > - Use gesture with a timeout. > > BUG=173557 > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=261014 TBR=jyasskin@chromium.org,kalman@chromium.org,mmenke@chromium.org,joi@chromium.org,pkasting@chromium.org,jochen@chromium.org,boliu@chromium.org,meacer@chromium.org NOTREECHECKS=true NOTRY=true BUG=173557 Review URL: https://codereview.chromium.org/221283006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261022 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the handling of user gestures for external protocol handler dialogs.meacer@chromium.org2014-04-021-2/+9
| | | | | | | | | | | - Remove browser state from external protocol handler. - Use gesture with a timeout. BUG=173557 Review URL: https://codereview.chromium.org/131783012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261014 0039d316-1c4b-4281-b951-d872f2087c98
* Move appcache_interceptor from webkit/ to content/pilgrim@chromium.org2014-04-013-8/+8
| | | | | | | | | BUG=338338 TBR=darin@chromium.org Review URL: https://codereview.chromium.org/214883003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@260882 0039d316-1c4b-4281-b951-d872f2087c98
* Revert of Introduce an intra-priority level sorting value - Chromium Side ↵tkent@chromium.org2014-04-013-149/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/146333004/) Reason for revert: Broke a layout test, http/tests/loading/promote-img-in-viewport-priority.html http://test-results.appspot.com/dashboards/flakiness_dashboard.html#group=%40ToT%20Blink&tests=http%2Ftests%2Floading%2Fpromote-img-in-viewport-priority.html Original issue's description: > This CL adds an intra-priority level sorting value for finer grained control of resource loading. The blink side of this patch sorts visible images by estimated on screen real-estate, preferring to download images with more visual impact first. Ie. On a page with a large banner, and dozens of small icons, the large banner will most likely be scheduled ahead of the others. > > In the future, we can also use this to experiment with other signals, ie. prioritize by distance to viewport. > > This needs https://codereview.chromium.org/153983004/ to land first. > > In our tests, this was a nice win on speed-index for desktop, with a gain of about ~2-3%. > > BUG= > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=260665 TBR=simonjam@chromium.org,darin@chromium.org,cevans@chromium.org,simonhatch@chromium.org NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/220553002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@260772 0039d316-1c4b-4281-b951-d872f2087c98
* This CL adds an intra-priority level sorting value for finer grained control ↵simonhatch@chromium.org2014-03-313-67/+149
| | | | | | | | | | | | | | | | of resource loading. The blink side of this patch sorts visible images by estimated on screen real-estate, preferring to download images with more visual impact first. Ie. On a page with a large banner, and dozens of small icons, the large banner will most likely be scheduled ahead of the others. In the future, we can also use this to experiment with other signals, ie. prioritize by distance to viewport. This needs https://codereview.chromium.org/153983004/ to land first. In our tests, this was a nice win on speed-index for desktop, with a gain of about ~2-3%. BUG= Review URL: https://codereview.chromium.org/146333004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@260665 0039d316-1c4b-4281-b951-d872f2087c98
* Move ContentBrowserTest class to content/public, since it's used by ↵jam@chromium.org2014-03-271-2/+2
| | | | | | | | | | components_browsertests for browser tests which use Content Shell. R=avi@chromium.org Review URL: https://codereview.chromium.org/214823006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259967 0039d316-1c4b-4281-b951-d872f2087c98
* Change the streamsPrivate extensions API to return HTTP response headers in ↵raymes@chromium.org2014-03-261-5/+4
| | | | | | | | | | | | | | a dictionary This changes from returning the response headers as a raw string to a dictionary mapping header name to header value. If there are multiple headers with the same name, the values are merged in a dictionary and separated by a ", ". BUG=350755 Review URL: https://codereview.chromium.org/198463005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259496 0039d316-1c4b-4281-b951-d872f2087c98
* Only support download_to_file for asynchronous requests.davidben@chromium.org2014-03-253-20/+15
| | | | | | | | | | The logic in Blink is not hooked up to handle it anyway. BUG=354188 Review URL: https://codereview.chromium.org/206753002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259099 0039d316-1c4b-4281-b951-d872f2087c98
* Reland "Fix various issues in RedirectToFileResourceHandler."davidben@chromium.org2014-03-1411-141/+1045
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It got reverted due to ASan issues. Fix child_id registration in ResourceDispatcherHostTests so that they happen on ForwardingFilter creation, rather than ad-hoc on a per-request basis. Original description: > - Handle errors in creating temporary files. > - Cancel on write failure instead of resuming. This used to work, but got > lost in some refactoring in r142108. > - Fix the OnResponseCompleted resume logic to account for partial writes. > - Don't lose write errors which occur after OnResponseCompleted is received. > - WeakPtrFactory goes after other members. > - OnWillStart was never forwarded to downstream handlers. > - Make sure the file is closed before deleting it. > > Also add a lot of machinery so we can better unit test this stack. Original Review URL: https://codereview.chromium.org/82273002 BUG=316634,347663 TEST=ResourceDispatcherHostTest.DownloadToFile ResourceDispatcherHostTest.RegisterDownloadedTempFile ResourceLoaderRedirectToFileTest.* TemporaryFileStreamTest.Basic Review URL: https://codereview.chromium.org/199453002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257147 0039d316-1c4b-4281-b951-d872f2087c98
* Wire ServiceWorker protocol interceptorkinuko@chromium.org2014-03-131-0/+9
| | | | | | | | | | | | Also adds implementation for FALLBACK_TO_NETWORK case in ServiceWorkerURLRequest, so that launching chrome with --enable-service-worker doesn't block every resource request. BUG=349319 Review URL: https://codereview.chromium.org/196793003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256790 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 256688 "Fix various issues in RedirectToFileResourceHandler."cpu@chromium.org2014-03-1311-1024/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The linux asan bot went red ResourceDispatcherHostTest.DownloadToFile (run #1): [ RUN ] ResourceDispatcherHostTest.DownloadToFile [ OK ] ResourceDispatcherHostTest.DownloadToFile (212 ms) [----------] 1 test from ResourceDispatcherHostTest (212 ms total) [----------] Global test environment tear-down [==========] 1 test from 1 test case ran. (213 ms total) [ PASSED ] 1 test. YOU HAVE 5 DISABLED TESTS ================================================================= ==9125==ERROR: LeakSanitizer: detected memory leaks Direct leak of 16 byte(s) in 1 object(s) allocated from: #0 0x49be81 in operator new(unsigned long) /usr/local/google/work/chromium/src/third_party/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:54 #1 0x23ce695 in content::ResourceDispatcherHostImpl::BeginRequest(int, ResourceHostMsg_Request const&, IPC::Message*, int) content/browser/loader/resource_dispatcher_host_impl.cc:1045 #2 0x23cba80 in OnRequestResource content/browser/loader/resource_dispatcher_host_impl.cc:879 #3 0x23cba80 in Dispatch\u003Ccontent::ResourceDispatcherHostImpl, content::ResourceDispatcherHostImpl, int, const ResourceHostMsg_Request &> content/common/resource_messages.h:305 #4 0x23cba80 in content::ResourceDispatcherHostImpl::OnMessageReceived(IPC::Message const&, content::ResourceMessageFilter*, bool*) content/browser/loader/resource_dispatcher_host_impl.cc:841 #5 0xe04954 in content::ResourceDispatcherHostTest_DownloadToFile_Test::TestBody() content/browser/loader/resource_dispatcher_host_unittest.cc:2840 #6 0x2c10c9a in HandleExceptionsInMethodIfSupported\u003Ctesting::Test, void> testing/gtest/src/gtest.cc:2045 #7 0x2c10c9a in testing::Test::Run() testing/gtest/src/gtest.cc:2061 #8 0x2c12dea in testing::TestInfo::Run() testing/gtest/src/gtest.cc:2237 #9 0x2c13bb3 in testing::TestCase::Run() testing/gtest/src/gtest.cc:2344 #10 0x2c24c6a in testing::internal::UnitTestImpl::RunAllTests() testing/gtest/src/gtest.cc:4065 #11 0x2c24250 in HandleExceptionsInMethodIfSupported\u003Ctesting::internal::UnitTestImpl, bool> testing/gtest/src/gtest.cc:2045 #12 0x2c24250 in testing::UnitTest::Run() testing/gtest/src/gtest.cc:3697 #13 0x2b9ed2c in RUN_ALL_TESTS testing/gtest/include/gtest/gtest.h:2231 #14 0x2b9ed2c in base::TestSuite::Run() base/test/test_suite.cc:213 #15 0x2b92bcb in Run base/callback.h:401 #16 0x2b92bcb in base::(anonymous namespace)::LaunchUnitTestsInternal(int, char**, base::Callback\u003Cint ()> const&, int) base/test/launcher/unit_test_launcher.cc:494 #17 0x199a83e in main content/test/run_all_unittests.cc:14 #18 0x7f6e898bf76c in __libc_start_main /build/buildd/eglibc-2.15/csu/libc-start.c:226 SUMMARY: AddressSanitizer: 16 byte(s) leaked in 1 allocation(s). http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%2BLSan%20Tests%20%282%29/builds/409 > Fix various issues in RedirectToFileResourceHandler. > > - Handle errors in creating temporary files. > - Cancel on write failure instead of resuming. This used to work, but got > lost in some refactoring in r142108. > - Fix the OnResponseCompleted resume logic to account for partial writes. > - Don't lose write errors which occur after OnResponseCompleted is received. > - WeakPtrFactory goes after other members. > - OnWillStart was never forwarded to downstream handlers. > - Make sure the file is closed before deleting it. > > Also add a lot of machinery so we can better unit test this stack. > > BUG=316634,347663 > TEST=ResourceDispatcherHostTest.DownloadToFile > ResourceDispatcherHostTest.RegisterDownloadedTempFile > ResourceLoaderTest.RedirectToFile* > TemporaryFileStreamTest.Basic > > Review URL: https://codereview.chromium.org/82273002 TBR=davidben@chromium.org Review URL: https://codereview.chromium.org/196533013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256704 0039d316-1c4b-4281-b951-d872f2087c98
* Fix various issues in RedirectToFileResourceHandler.davidben@chromium.org2014-03-1211-111/+1024
| | | | | | | | | | | | | | | | | | | | | | | - Handle errors in creating temporary files. - Cancel on write failure instead of resuming. This used to work, but got lost in some refactoring in r142108. - Fix the OnResponseCompleted resume logic to account for partial writes. - Don't lose write errors which occur after OnResponseCompleted is received. - WeakPtrFactory goes after other members. - OnWillStart was never forwarded to downstream handlers. - Make sure the file is closed before deleting it. Also add a lot of machinery so we can better unit test this stack. BUG=316634,347663 TEST=ResourceDispatcherHostTest.DownloadToFile ResourceDispatcherHostTest.RegisterDownloadedTempFile ResourceLoaderTest.RedirectToFile* TemporaryFileStreamTest.Basic Review URL: https://codereview.chromium.org/82273002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256688 0039d316-1c4b-4281-b951-d872f2087c98
* Allow the content browser client to specify a special cookie store to betburkard@chromium.org2014-03-122-3/+11
| | | | | | | | | | | | | | | used for a given render process id. This special cookie store will then be used for renderer messages pertaining to cookies, url fetches in net, and websockets. If the special cookie store is NULL, a default cookie store will be used. Re-submit of https://codereview.chromium.org/188693003 See https://codereview.chromium.org/188693003 for reviewers/lgtm's. Review URL: https://codereview.chromium.org/197043005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256657 0039d316-1c4b-4281-b951-d872f2087c98
* Add ServiceWorkerContext to ResourceMessageFilter and WorkerStoragePartitionkinuko@chromium.org2014-03-124-1/+12
| | | | | | | | | | | We need them (as well as other storage contexts) for further browser-side plumbing. BUG=349319 Review URL: https://codereview.chromium.org/195013003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256605 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 256579 "Allow the content browser client to specify a spe..."peter@chromium.org2014-03-122-11/+3
| | | | | | | | | | | | | | | | | | | | | | | This broke the Android builders. The try-bots on the CL did point out the compile errors, but it was committed manually anyway. Logs: http://build.chromium.org/p/chromium.linux/builders/Android%20Clang%20Builder%20%28dbg%29/builds/30977/steps/compile/logs/stdio > Allow the content browser client to specify a special cookie store to be > used for a given render process id. This special cookie store will then > be used for renderer messages pertaining to cookies, url fetches in net, > and websockets. If the special cookie store is NULL, a default cookie store > will be used. > > R=erikwright@chromium.org, jam@chromium.org, lambroslambrou@chromium.org, mmenke@chromium.org, tyoshino@chromium.org > > Review URL: https://codereview.chromium.org/188693003 TBR=tburkard@chromium.org Review URL: https://codereview.chromium.org/197463003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256583 0039d316-1c4b-4281-b951-d872f2087c98
* Allow the content browser client to specify a special cookie store to betburkard@chromium.org2014-03-122-3/+11
| | | | | | | | | | | | | used for a given render process id. This special cookie store will then be used for renderer messages pertaining to cookies, url fetches in net, and websockets. If the special cookie store is NULL, a default cookie store will be used. R=erikwright@chromium.org, jam@chromium.org, lambroslambrou@chromium.org, mmenke@chromium.org, tyoshino@chromium.org Review URL: https://codereview.chromium.org/188693003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256579 0039d316-1c4b-4281-b951-d872f2087c98
* Move resource_request_body.cc/h to content/common/pilgrim@chromium.org2014-03-114-11/+6
| | | | | | | | | BUG=338338 TBR=darin@chromium.org Review URL: https://codereview.chromium.org/176993014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256248 0039d316-1c4b-4281-b951-d872f2087c98
* Pass http response headers to the streamsPrivate API callbackraymes@chromium.org2014-03-071-1/+5
| | | | | | | | | | | | This passes the response headers through to the API callback allowing the application to access the headers without having to make an additional http request. BUG=303491 Review URL: https://codereview.chromium.org/185663002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@255593 0039d316-1c4b-4281-b951-d872f2087c98
* Move OnCrossSiteResponse to RenderFrameHost.creis@chromium.org2014-03-051-24/+18
| | | | | | | | | | BUG=304341 TEST=No behavior change. R=nasko@chromium.org Review URL: https://codereview.chromium.org/184223009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254889 0039d316-1c4b-4281-b951-d872f2087c98
* Update resource requests to remove redundant frame ID.creis@chromium.org2014-03-036-40/+24
| | | | | | | | | | | BUG=314791 TEST=No behavior change. R=battre@chromium.org, nasko@chromium.org TBR=dcheng@chromium.org, jochen@chromium.org Review URL: https://codereview.chromium.org/184873004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254566 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Move kBlobScheme constant into content namespace.tfarina@chromium.org2014-03-012-8/+7
| | | | | | | | | | BUG=None TEST=None, no functional changes TBR=jam@chromium.org Review URL: https://codereview.chromium.org/184763005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254349 0039d316-1c4b-4281-b951-d872f2087c98
* Make BeginRequest code more readabletyoshino@chromium.org2014-02-271-18/+17
| | | | | | | | | | | | - move declarations of variables to the place where they're actually used - remove unnecessary alias to new_request BUG=none Review URL: https://codereview.chromium.org/180913002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253788 0039d316-1c4b-4281-b951-d872f2087c98
* Drop unhandled ResourceHostMsg's in the ResourceDispatcherHostImpljdduke@chromium.org2014-02-271-0/+4
| | | | | | | | | | | | | | Certain ResourceHostMsg's may go unhandled in ResourceDispatcherHostImpl, depending on whether an appropriate ResourceMessageDelegate exists. If it goes unhandled, it is forwarded to all other filters and from there to the RenderProcessHostImpl. All of that is needless work as the message will simply be dropped, so drop the message instead in ResourceDispatcherHostImpl. BUG=343343 Review URL: https://codereview.chromium.org/164333016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253692 0039d316-1c4b-4281-b951-d872f2087c98
* Don't resume cancelled requests.mkosiba@chromium.org2014-02-262-50/+58
| | | | | | | | | | | | If ResourceLoader::Resume() is called after CancelRequestInternal but before ResourceLoader::ResponseCompleted we'll hit a DCHECK in URLRequest saying we're trying to start a cancelled request. BUG=338437 Review URL: https://codereview.chromium.org/180183003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253625 0039d316-1c4b-4281-b951-d872f2087c98
* Allow MessageFilters to restrict listening to specific message classesjdduke@chromium.org2014-02-262-2/+12
| | | | | | | | | | | | | | | | | | | | ChannelProxy currently offers messages to all member MessageFilters. It turns out that a good portion of the most common message types will never be filtered, making the O(N) filter walk an unnecessary affair. To prevent this, allow MessageFilters to indicate which (if any) subset of message classes they may filter, allowing the ChannelProxy to refine the list of filters that are offered a particular message. This saves ~35us per message received on the browser IO thread for a typical Android device. Relanding with a few more guards for MessageFilter removal, access and message class subscription. BUG=340881 TBR=asargent@chromium.org Review URL: https://codereview.chromium.org/142923005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253361 0039d316-1c4b-4281-b951-d872f2087c98
* Move upload_file_system_file_element_reader.* to content/browser/fileapi/pilgrim@chromium.org2014-02-251-2/+2
| | | | | | | | | BUG=338338 TBR=darin@chromium.org Review URL: https://codereview.chromium.org/159523005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253037 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Allow MessageFilters to restrict listening to specific message classes"jdduke@chromium.org2014-02-212-12/+2
| | | | | | | | | | | | | This reverts commit 2955e4e3c747fd4aa3c227d6c4e4c698cf31b3c4. Reason for revert: Frequent crashes on Windows. BUG=345368 TBR= Review URL: https://codereview.chromium.org/165333004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252428 0039d316-1c4b-4281-b951-d872f2087c98
* Return ERR_INVALID_RESPONSE when we get a funky error page mime-type.mmenke@chromium.org2014-02-202-3/+3
| | | | | | | | | | | | | | | ERR_FILE_NOT_FOUND was being returned before, which is rather misleading. ERR_INVALID_RESPONSE is a very rare error, and currently just uses the generic error page, with no strings of its own. If this CL significantly increases the frequency of the error, we should add strings for it. BUG=344633 Review URL: https://codereview.chromium.org/165983007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252163 0039d316-1c4b-4281-b951-d872f2087c98
* Allow MessageFilters to restrict listening to specific message classesjdduke@chromium.org2014-02-162-2/+12
| | | | | | | | | | | | | | | | | ChannelProxy currently offers messages to all member MessageFilters. It turns out that a good portion of the most common message types will never be filtered, making the O(N) filter walk an unnecessary affair. To prevent this, allow MessageFilters to indicate which (if any) subset of message classes they may filter, allowing the ChannelProxy to refine the list of filters that are offered a particular message. This saves ~35us per message received on the browser IO thread for a typical Android device. BUG=340881 TBR=asargent@chromium.org Review URL: https://codereview.chromium.org/142923005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251622 0039d316-1c4b-4281-b951-d872f2087c98
* When cross-site navigations are cancelled, delete themmenke@chromium.org2014-02-155-11/+64
| | | | | | | | | | | | | ResourceLoader that would have been trasferred to the new renderer. These were being leaked, and would keep a lock on disk cache entries, making a page impossible to visit after a cancelled cross site navigation to it. BUG=341134 Review URL: https://codereview.chromium.org/143183009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251561 0039d316-1c4b-4281-b951-d872f2087c98
* Reports UMA data for bytes fetched over the network for used andjkarlin@chromium.org2014-02-141-0/+3
| | | | | | | | | | | | | | | | unused prerenders. It also reports on the total number of bytes fetched for that profile since the last prerender report. This gives us insight into the balance of used vs wasted prerenders. Understanding the ratio of wasted prerender bytes to total bytes gives us a better understanding of whether we need an option to disable prerender on mobile networks. BUG=334602 Review URL: https://codereview.chromium.org/160513002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251316 0039d316-1c4b-4281-b951-d872f2087c98
* Add logging to CrossSiteResourceHandler and BufferedResourceHandler,mmenke@chromium.org2014-02-133-2/+15
| | | | | | | | | | when they block a URLRequest. BUG=294920 Review URL: https://codereview.chromium.org/153503004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251161 0039d316-1c4b-4281-b951-d872f2087c98