Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(31)

Issue 45693002: Add ExternalPrerenderRequestHandler and related API (Closed)

Created:
7 years, 1 month ago by Yusuf
Modified:
7 years, 1 month ago
Reviewers:
cbentzel, Yaron, tburkard
CC:
chromium-reviews, tburkard+watch_chromium.org, gavinp+prer_chromium.org, cbentzel+watch_chromium.org, dominich+watch_chromium.org
Visibility:
Public.

Description

Add ExternalPrerenderRequestHandler and related API This class will be used to handle prerender requests coming from external applications. For better tracking and also supportig referrer, a separate PrerenderManager API is added. BUG=297859 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=233457

Patch Set 1 #

Patch Set 2 : Added the android files #

Total comments: 13

Patch Set 3 : Styling fixes and added other API #

Total comments: 28

Patch Set 4 : cbentzel's comments #

Patch Set 5 : Renamed the files #

Total comments: 18

Patch Set 6 : Nit fixes and fixing the test #

Total comments: 8

Patch Set 7 : Fixes to cbnetzel's comments and added more tests #

Total comments: 4

Patch Set 8 : Fixed testCancelPrerender to use private Runnable #

Total comments: 14

Patch Set 9 : Testing fixes #

Total comments: 3

Patch Set 10 : Removed polling for criteria #

Total comments: 2

Patch Set 11 : Fixed imports #

Unified diffs Side-by-side diffs Delta from patch set Stats (+392 lines, -0 lines) Patch
A chrome/android/java/src/org/chromium/chrome/browser/prerender/ExternalPrerenderHandler.java View 1 2 3 4 5 6 7 8 1 chunk +49 lines, -0 lines 0 comments Download
A chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java View 1 2 3 4 5 6 7 8 9 10 1 chunk +99 lines, -0 lines 0 comments Download
M chrome/browser/android/chrome_jni_registrar.cc View 1 2 3 4 5 6 7 8 2 chunks +4 lines, -0 lines 0 comments Download
A chrome/browser/prerender/external_prerender_handler_android.h View 1 2 3 4 5 6 7 8 1 chunk +59 lines, -0 lines 0 comments Download
A chrome/browser/prerender/external_prerender_handler_android.cc View 1 2 3 4 5 6 7 8 1 chunk +107 lines, -0 lines 0 comments Download
M chrome/browser/prerender/prerender_histograms.cc View 2 chunks +4 lines, -0 lines 0 comments Download
M chrome/browser/prerender/prerender_manager.h View 1 2 3 2 chunks +10 lines, -0 lines 0 comments Download
M chrome/browser/prerender/prerender_manager.cc View 1 2 3 4 5 6 7 8 2 chunks +26 lines, -0 lines 0 comments Download
M chrome/browser/prerender/prerender_origin.h View 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/prerender/prerender_origin.cc View 1 chunk +1 line, -0 lines 0 comments Download
M chrome/chrome_browser.gypi View 1 2 3 4 5 6 7 8 2 chunks +3 lines, -0 lines 0 comments Download
A chrome/test/data/android/prerender/google.html View 1 2 3 4 5 6 7 8 1 chunk +16 lines, -0 lines 0 comments Download
A chrome/test/data/android/prerender/youtube.html View 1 2 3 4 5 6 7 8 1 chunk +13 lines, -0 lines 0 comments Download

Messages

Total messages: 32 (0 generated)
Yusuf
PTAL I know the class name is kind of long, but I think it describes ...
7 years, 1 month ago (2013-10-25 21:51:36 UTC) #1
Yaron
mostly style comments. I think you avoid the jni wrapper though. https://codereview.chromium.org/45693002/diff/30001/chrome/android/java/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestHandler.java File chrome/android/java/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestHandler.java (right): ...
7 years, 1 month ago (2013-10-25 23:32:44 UTC) #2
Yusuf
On 2013/10/25 23:32:44, Yaron wrote: > mostly style comments. I think you avoid the jni ...
7 years, 1 month ago (2013-10-25 23:46:58 UTC) #3
Yaron
On 2013/10/25 23:46:58, Yusuf wrote: > On 2013/10/25 23:32:44, Yaron wrote: > > mostly style ...
7 years, 1 month ago (2013-10-25 23:51:23 UTC) #4
Yaron
On 2013/10/25 23:46:58, Yusuf wrote: > On 2013/10/25 23:32:44, Yaron wrote: > > mostly style ...
7 years, 1 month ago (2013-10-25 23:51:27 UTC) #5
Yusuf
Kept the jni upstream. This class will be also used to test prerender functionality through ...
7 years, 1 month ago (2013-10-29 05:34:11 UTC) #6
cbentzel
You'll want to modify histograms.xml with the new origin enum value.
7 years, 1 month ago (2013-10-30 00:33:44 UTC) #7
cbentzel
On 2013/10/30 00:33:44, cbentzel wrote: > You'll want to modify histograms.xml with the new origin ...
7 years, 1 month ago (2013-10-30 00:34:37 UTC) #8
cbentzel
tburkard may also be interested. Note that this is for prerenders which come via Android ...
7 years, 1 month ago (2013-10-30 14:40:33 UTC) #9
Yusuf
Thanks cbentzel@. A few quick responses with a few questions. I will upload a new ...
7 years, 1 month ago (2013-10-30 17:28:54 UTC) #10
cbentzel
https://codereview.chromium.org/45693002/diff/130001/chrome/browser/android/external_prerender_request_handler.cc File chrome/browser/android/external_prerender_request_handler.cc (right): https://codereview.chromium.org/45693002/diff/130001/chrome/browser/android/external_prerender_request_handler.cc#newcode79 chrome/browser/android/external_prerender_request_handler.cc:79: std::vector<content::WebContents*> contents = On 2013/10/30 17:28:55, Yusuf wrote: > ...
7 years, 1 month ago (2013-10-30 18:45:59 UTC) #11
Yusuf
PTAL https://codereview.chromium.org/45693002/diff/130001/chrome/browser/android/external_prerender_request_handler.cc File chrome/browser/android/external_prerender_request_handler.cc (right): https://codereview.chromium.org/45693002/diff/130001/chrome/browser/android/external_prerender_request_handler.cc#newcode44 chrome/browser/android/external_prerender_request_handler.cc:44: prerender::PrerenderManagerFactory::GetForProfile(profile); On 2013/10/30 14:40:33, cbentzel wrote: > Note: ...
7 years, 1 month ago (2013-10-31 00:44:18 UTC) #12
Yusuf
Now that I have moved the hasPrerenderedUrl to PrerenderManager, looking at what is left, I ...
7 years, 1 month ago (2013-10-31 21:50:10 UTC) #13
cbentzel
Mostly nits at this point. https://codereview.chromium.org/45693002/diff/420001/chrome/browser/prerender/external_prerender_handler_android.cc File chrome/browser/prerender/external_prerender_handler_android.cc (right): https://codereview.chromium.org/45693002/diff/420001/chrome/browser/prerender/external_prerender_handler_android.cc#newcode26 chrome/browser/prerender/external_prerender_handler_android.cc:26: jobject obj, Nit: indent ...
7 years, 1 month ago (2013-11-01 10:45:19 UTC) #14
Yusuf
https://codereview.chromium.org/45693002/diff/420001/chrome/browser/prerender/external_prerender_handler_android.cc File chrome/browser/prerender/external_prerender_handler_android.cc (right): https://codereview.chromium.org/45693002/diff/420001/chrome/browser/prerender/external_prerender_handler_android.cc#newcode26 chrome/browser/prerender/external_prerender_handler_android.cc:26: jobject obj, On 2013/11/01 10:45:20, cbentzel wrote: > Nit: ...
7 years, 1 month ago (2013-11-01 17:04:01 UTC) #15
cbentzel
Sorry I didn't discover these issues until now - but they should be easy to ...
7 years, 1 month ago (2013-11-01 20:22:08 UTC) #16
cbentzel
https://codereview.chromium.org/45693002/diff/730001/chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java File chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java (right): https://codereview.chromium.org/45693002/diff/730001/chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java#newcode36 chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java:36: public void testAddPrerender() throws ExecutionException { I think you ...
7 years, 1 month ago (2013-11-01 20:23:28 UTC) #17
Yusuf
Added more tests. PTAL https://codereview.chromium.org/45693002/diff/730001/chrome/android/java/src/org/chromium/chrome/browser/prerender/ExternalPrerenderHandler.java File chrome/android/java/src/org/chromium/chrome/browser/prerender/ExternalPrerenderHandler.java (right): https://codereview.chromium.org/45693002/diff/730001/chrome/android/java/src/org/chromium/chrome/browser/prerender/ExternalPrerenderHandler.java#newcode25 chrome/android/java/src/org/chromium/chrome/browser/prerender/ExternalPrerenderHandler.java:25: int webContentsPtr = ContentViewUtil.createNativeWebContents(false); On ...
7 years, 1 month ago (2013-11-04 22:27:48 UTC) #18
cbentzel
LGTM No need to wait for me to commit - just a question and a ...
7 years, 1 month ago (2013-11-05 00:39:43 UTC) #19
Yusuf
Thanks a lot! yfriedman@ can you take a look for android changes now? https://codereview.chromium.org/45693002/diff/980001/chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java File ...
7 years, 1 month ago (2013-11-05 00:44:41 UTC) #20
Yaron
https://codereview.chromium.org/45693002/diff/1110001/chrome/android/java/src/org/chromium/chrome/browser/prerender/ExternalPrerenderHandler.java File chrome/android/java/src/org/chromium/chrome/browser/prerender/ExternalPrerenderHandler.java (right): https://codereview.chromium.org/45693002/diff/1110001/chrome/android/java/src/org/chromium/chrome/browser/prerender/ExternalPrerenderHandler.java#newcode24 chrome/android/java/src/org/chromium/chrome/browser/prerender/ExternalPrerenderHandler.java:24: if (mNativeExternalPrerenderHandler == 0) return 0; This can't happen. ...
7 years, 1 month ago (2013-11-05 01:17:53 UTC) #21
Yusuf
https://codereview.chromium.org/45693002/diff/1110001/chrome/android/java/src/org/chromium/chrome/browser/prerender/ExternalPrerenderHandler.java File chrome/android/java/src/org/chromium/chrome/browser/prerender/ExternalPrerenderHandler.java (right): https://codereview.chromium.org/45693002/diff/1110001/chrome/android/java/src/org/chromium/chrome/browser/prerender/ExternalPrerenderHandler.java#newcode24 chrome/android/java/src/org/chromium/chrome/browser/prerender/ExternalPrerenderHandler.java:24: if (mNativeExternalPrerenderHandler == 0) return 0; On 2013/11/05 01:17:54, ...
7 years, 1 month ago (2013-11-05 21:03:07 UTC) #22
Yaron
https://codereview.chromium.org/45693002/diff/1400001/chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java File chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java (right): https://codereview.chromium.org/45693002/diff/1400001/chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java#newcode102 chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java:102: assertTrue(CriteriaHelper.pollForCriteria(new Criteria() { Isn't this synchronous? Not sure what ...
7 years, 1 month ago (2013-11-06 01:22:19 UTC) #23
Yusuf
https://codereview.chromium.org/45693002/diff/1400001/chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java File chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java (right): https://codereview.chromium.org/45693002/diff/1400001/chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java#newcode102 chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java:102: assertTrue(CriteriaHelper.pollForCriteria(new Criteria() { Due to an internal rate limit, ...
7 years, 1 month ago (2013-11-06 01:34:13 UTC) #24
Yaron
https://codereview.chromium.org/45693002/diff/1400001/chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java File chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java (right): https://codereview.chromium.org/45693002/diff/1400001/chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java#newcode102 chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java:102: assertTrue(CriteriaHelper.pollForCriteria(new Criteria() { On 2013/11/06 01:34:14, Yusuf wrote: > ...
7 years, 1 month ago (2013-11-06 01:41:38 UTC) #25
Yusuf
On 2013/11/06 01:41:38, Yaron wrote: > https://codereview.chromium.org/45693002/diff/1400001/chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java > File > chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java > (right): > > ...
7 years, 1 month ago (2013-11-06 02:03:26 UTC) #26
Yaron
lgtm https://codereview.chromium.org/45693002/diff/1570001/chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java File chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java (right): https://codereview.chromium.org/45693002/diff/1570001/chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java#newcode21 chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java:21: import java.util.concurrent.atomic.AtomicInteger; You can probably update imports now. ...
7 years, 1 month ago (2013-11-06 02:22:02 UTC) #27
Yusuf
https://codereview.chromium.org/45693002/diff/1570001/chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java File chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java (right): https://codereview.chromium.org/45693002/diff/1570001/chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java#newcode21 chrome/android/javatests/src/org/chromium/chrome/browser/prerender/ExternalPrerenderRequestTest.java:21: import java.util.concurrent.atomic.AtomicInteger; On 2013/11/06 02:22:03, Yaron wrote: > You ...
7 years, 1 month ago (2013-11-06 17:26:34 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/yusufo@chromium.org/45693002/1620001
7 years, 1 month ago (2013-11-06 17:28:18 UTC) #29
commit-bot: I haz the power
Retried try job too often on win_rel for step(s) browser_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=win_rel&number=220735
7 years, 1 month ago (2013-11-06 20:06:53 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/yusufo@chromium.org/45693002/1620001
7 years, 1 month ago (2013-11-06 21:12:30 UTC) #31
commit-bot: I haz the power
7 years, 1 month ago (2013-11-07 01:17:45 UTC) #32
Message was sent while issue was closed.
Change committed as 233457

Powered by Google App Engine
This is Rietveld 408576698