Serve offline pages via URL request interception
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/302b546d43a6c5e2ad57282441d26e52dc88dad5 commit 302b546d43a6c5e2ad57282441d26e52dc88dad5 Author: jianli <jianli@chromium.org> Date: Thu Aug 11 00:37:53 2016 Allow loading MHTML archive from http/https schemes With full sandboxing protection, loading MHTML archive from remote scheme is not a risk any more. BUG= 636072 TEST=new test added Review-Url: https://codereview.chromium.org/2234543002 Cr-Commit-Position: refs/heads/master@{#411206} [modify] https://crrev.com/302b546d43a6c5e2ad57282441d26e52dc88dad5/third_party/WebKit/Source/platform/mhtml/MHTMLArchive.cpp [modify] https://crrev.com/302b546d43a6c5e2ad57282441d26e52dc88dad5/third_party/WebKit/Source/web/tests/MHTMLTest.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/aa2255830720b54f30fdbd7847035270cf85e2ce commit aa2255830720b54f30fdbd7847035270cf85e2ce Author: jianli <jianli@chromium.org> Date: Thu Aug 11 19:46:04 2016 Some initial hookup of offline page request interception Add OfflinePageRequestHandler that services requests based on their offline info. This patch contains only initial hookup. The detail check and handling will be in next patch. BUG= 636072 Review-Url: https://codereview.chromium.org/2233443003 Cr-Commit-Position: refs/heads/master@{#411406} [add] https://crrev.com/aa2255830720b54f30fdbd7847035270cf85e2ce/chrome/browser/android/offline_pages/offline_page_request_handler.cc [add] https://crrev.com/aa2255830720b54f30fdbd7847035270cf85e2ce/chrome/browser/android/offline_pages/offline_page_request_handler.h [modify] https://crrev.com/aa2255830720b54f30fdbd7847035270cf85e2ce/chrome/browser/profiles/profile_impl_io_data.cc [modify] https://crrev.com/aa2255830720b54f30fdbd7847035270cf85e2ce/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc [modify] https://crrev.com/aa2255830720b54f30fdbd7847035270cf85e2ce/chrome/chrome_browser.gypi
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7b4c282100e0ff3ef68b7e95b520325c7e94d11b commit 7b4c282100e0ff3ef68b7e95b520325c7e94d11b Author: jianli <jianli@chromium.org> Date: Thu Aug 25 23:15:18 2016 Serve offline page for online URL on disconnected or bad networks This patch provides the implementation for OfflinePageRequestHandler that may return OfflinePageRequestJob to replace the response with offline content if needed. The original request redirection logic in OfflinePageTabHelper is removed. BUG= 636072 Review-Url: https://codereview.chromium.org/2245733004 Cr-Commit-Position: refs/heads/master@{#414577} [modify] https://crrev.com/7b4c282100e0ff3ef68b7e95b520325c7e94d11b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java [modify] https://crrev.com/7b4c282100e0ff3ef68b7e95b520325c7e94d11b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/downloads/OfflinePageDownloadBridge.java [modify] https://crrev.com/7b4c282100e0ff3ef68b7e95b520325c7e94d11b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java [modify] https://crrev.com/7b4c282100e0ff3ef68b7e95b520325c7e94d11b/chrome/android/java/src/org/chromium/chrome/browser/pageinfo/WebsiteSettingsPopup.java [modify] https://crrev.com/7b4c282100e0ff3ef68b7e95b520325c7e94d11b/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java [modify] https://crrev.com/7b4c282100e0ff3ef68b7e95b520325c7e94d11b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/TabDelegate.java [modify] https://crrev.com/7b4c282100e0ff3ef68b7e95b520325c7e94d11b/chrome/android/java_sources.gni [add] https://crrev.com/7b4c282100e0ff3ef68b7e95b520325c7e94d11b/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageRequestTest.java [modify] https://crrev.com/7b4c282100e0ff3ef68b7e95b520325c7e94d11b/chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/downloads/OfflinePageDownloadBridgeTest.java [delete] https://crrev.com/c2b0a31002ae8b6706dc9abde3dfa88b68e78960/chrome/browser/android/offline_pages/offline_page_request_handler.cc [delete] https://crrev.com/c2b0a31002ae8b6706dc9abde3dfa88b68e78960/chrome/browser/android/offline_pages/offline_page_request_handler.h [add] https://crrev.com/7b4c282100e0ff3ef68b7e95b520325c7e94d11b/chrome/browser/android/offline_pages/offline_page_request_interceptor.cc [add] https://crrev.com/7b4c282100e0ff3ef68b7e95b520325c7e94d11b/chrome/browser/android/offline_pages/offline_page_request_interceptor.h [add] https://crrev.com/7b4c282100e0ff3ef68b7e95b520325c7e94d11b/chrome/browser/android/offline_pages/offline_page_request_job.cc [add] https://crrev.com/7b4c282100e0ff3ef68b7e95b520325c7e94d11b/chrome/browser/android/offline_pages/offline_page_request_job.h [add] https://crrev.com/7b4c282100e0ff3ef68b7e95b520325c7e94d11b/chrome/browser/android/offline_pages/offline_page_request_job_unittest.cc [modify] https://crrev.com/7b4c282100e0ff3ef68b7e95b520325c7e94d11b/chrome/browser/android/offline_pages/offline_page_tab_helper.cc [modify] https://crrev.com/7b4c282100e0ff3ef68b7e95b520325c7e94d11b/chrome/browser/android/offline_pages/offline_page_tab_helper.h [modify] https://crrev.com/7b4c282100e0ff3ef68b7e95b520325c7e94d11b/chrome/browser/profiles/profile_impl_io_data.cc [modify] https://crrev.com/7b4c282100e0ff3ef68b7e95b520325c7e94d11b/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc [modify] https://crrev.com/7b4c282100e0ff3ef68b7e95b520325c7e94d11b/chrome/chrome_browser.gypi [modify] https://crrev.com/7b4c282100e0ff3ef68b7e95b520325c7e94d11b/chrome/chrome_tests_unit.gypi [add] https://crrev.com/7b4c282100e0ff3ef68b7e95b520325c7e94d11b/chrome/test/data/offline_pages/test.mhtml [modify] https://crrev.com/7b4c282100e0ff3ef68b7e95b520325c7e94d11b/tools/metrics/histograms/histograms.xml
Comment 1 by bugdroid1@chromium.org
, Aug 11 2016