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

Issue 654953002: Navigation transitions (web to native app): Get names and rects of transition elements (Step 2) (Closed)

Created:
6 years, 2 months ago by Zhen Wang
Modified:
6 years, 1 month ago
Reviewers:
Nate Chapin
CC:
blink-reviews, blink-reviews-dom_chromium.org, dglazkov+blink, eae+blinkwatch, gavinp+loader_chromium.org, Nate Chapin, mkwst+moarreviews_chromium.org, rwlbuis, sof
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Project:
blink
Visibility:
Public.

Description

Navigation transitions (web to native app): Get names and rects of transition elements (Step 2) Web to native app navigation transition uses Activity Transitions APIs in Android L. It requires the names and rects of transition elements. This CL gets the names and rects and pass them to TransitionRequestManager. Design doc: https://docs.google.com/a/chromium.org/document/d/17jg1RRL3RI969cLwbKBIcoGDsPwqaEdBxafGNYGwiY4/edit# Demo video: https://drive.google.com/a/google.com/file/d/0B3hetueIc91Gd01DU25uT2hWU2M/view?usp=sharing Activity Transitions in Android L: https://developer.android.com/preview/material/animations.html#transitions ================ Originally this was a 3-way patch since it involves API change in WebFrameClient.h. After the chrome side impl was committed (step 1), we found that it is better to pass struct instead of long list of params. So this turns out to be a 5-way patch. Here are the 5 steps: 1. Chrome side - save the data (https://codereview.chromium.org/652283002/). 2. Blink side - getting the data and introduce struct WebTransitionElementData, but still using long list of params (this CL). 3. Chrome side - implement the API with WebTransitionElementData (https://codereview.chromium.org/679813003/). 4. Blink side - remove old APIs that use long list of params and start to use new API with WebTransitionElementData. 5. Chrome side - remove redundent implmentations of the old APIs. BUG=370696 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=185140

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Total comments: 14

Patch Set 4 : review fix #

Patch Set 5 : re-add TypeChecking #

Total comments: 14

Patch Set 6 : rebase #

Total comments: 2

Patch Set 7 : review fix - use struct in WebFrameClient API #

Patch Set 8 : test fix #

Patch Set 9 : use struct for transition element #

Total comments: 23

Patch Set 10 : rebase #

Patch Set 11 : review fix #

Total comments: 4

Patch Set 12 : rebase #

Patch Set 13 : review fix #

Unified diffs Side-by-side diffs Delta from patch set Stats (+140 lines, -20 lines) Patch
M LayoutTests/fast/html/navigation-transition.html View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +17 lines, -1 line 0 comments Download
M LayoutTests/fast/html/navigation-transition-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +11 lines, -1 line 0 comments Download
M Source/core/dom/Document.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +6 lines, -0 lines 0 comments Download
M Source/core/dom/Document.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +9 lines, -1 line 0 comments Download
M Source/core/loader/FrameLoader.cpp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -1 line 0 comments Download
M Source/core/loader/FrameLoaderClient.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +2 lines, -1 line 0 comments Download
M Source/core/testing/Internals.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +4 lines, -0 lines 0 comments Download
M Source/core/testing/Internals.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +37 lines, -0 lines 0 comments Download
M Source/core/testing/Internals.idl View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +3 lines, -0 lines 0 comments Download
M Source/web/FrameLoaderClientImpl.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -1 line 0 comments Download
M Source/web/FrameLoaderClientImpl.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +18 lines, -3 lines 0 comments Download
M Source/web/tests/WebFrameTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +6 lines, -1 line 0 comments Download
M public/web/WebFrameClient.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +5 lines, -0 lines 0 comments Download
A + public/web/WebTransitionElementData.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +20 lines, -10 lines 0 comments Download

Messages

Total messages: 22 (3 generated)
Zhen Wang
ptal
6 years, 2 months ago (2014-10-21 20:41:27 UTC) #2
esprehn
https://codereview.chromium.org/654953002/diff/40001/Source/core/dom/Document.cpp File Source/core/dom/Document.cpp (right): https://codereview.chromium.org/654953002/diff/40001/Source/core/dom/Document.cpp#newcode5655 Source/core/dom/Document.cpp:5655: newElements.names.append(element->getIdAttribute().string()); These elements don't have to have ids, you ...
6 years, 2 months ago (2014-10-21 20:50:49 UTC) #3
Zhen Wang
https://codereview.chromium.org/654953002/diff/40001/Source/core/dom/Document.cpp File Source/core/dom/Document.cpp (right): https://codereview.chromium.org/654953002/diff/40001/Source/core/dom/Document.cpp#newcode5655 Source/core/dom/Document.cpp:5655: newElements.names.append(element->getIdAttribute().string()); These elements are from the elementList, which are ...
6 years, 2 months ago (2014-10-21 21:36:48 UTC) #4
sof
https://codereview.chromium.org/654953002/diff/40001/Source/core/testing/Internals.idl File Source/core/testing/Internals.idl (right): https://codereview.chromium.org/654953002/diff/40001/Source/core/testing/Internals.idl#newcode282 Source/core/testing/Internals.idl:282: [TypeChecking=Interface] ClientRect boundsInRootViewSpace(Element element); On 2014/10/21 21:36:48, Zhen Wang ...
6 years, 2 months ago (2014-10-22 05:22:47 UTC) #5
Zhen Wang
https://codereview.chromium.org/654953002/diff/40001/Source/core/testing/Internals.idl File Source/core/testing/Internals.idl (right): https://codereview.chromium.org/654953002/diff/40001/Source/core/testing/Internals.idl#newcode282 Source/core/testing/Internals.idl:282: [TypeChecking=Interface] ClientRect boundsInRootViewSpace(Element element); I see. Thanks for pointing ...
6 years, 1 month ago (2014-10-22 13:55:55 UTC) #6
Zhen Wang
ping
6 years, 1 month ago (2014-10-24 14:12:09 UTC) #7
sof
https://codereview.chromium.org/654953002/diff/80001/Source/core/loader/FrameLoaderClient.h File Source/core/loader/FrameLoaderClient.h (right): https://codereview.chromium.org/654953002/diff/80001/Source/core/loader/FrameLoaderClient.h#newcode105 Source/core/loader/FrameLoaderClient.h:105: const String& origin, const String& selector, const String& markup, ...
6 years, 1 month ago (2014-10-24 15:17:15 UTC) #8
esprehn
Yes please do add some kind of struct to pass the data. This patch can't ...
6 years, 1 month ago (2014-10-24 21:59:11 UTC) #9
Zhen Wang
Using struct and checking the ID now. This CL now is part of the 5-way ...
6 years, 1 month ago (2014-10-27 14:14:45 UTC) #10
Zhen Wang
ping
6 years, 1 month ago (2014-10-29 13:57:19 UTC) #11
Zhen Wang
ping
6 years, 1 month ago (2014-10-31 14:43:36 UTC) #12
Zhen Wang
Hi Nate, It seems that Elliott is too busy to continue to review this. Can ...
6 years, 1 month ago (2014-11-03 19:35:53 UTC) #14
Nate Chapin
https://codereview.chromium.org/654953002/diff/160001/Source/core/dom/Document.h File Source/core/dom/Document.h (right): https://codereview.chromium.org/654953002/diff/160001/Source/core/dom/Document.h#newcode389 Source/core/dom/Document.h:389: String name; Given that this is set based on ...
6 years, 1 month ago (2014-11-05 18:29:43 UTC) #15
Zhen Wang
https://codereview.chromium.org/654953002/diff/160001/Source/core/dom/Document.h File Source/core/dom/Document.h (right): https://codereview.chromium.org/654953002/diff/160001/Source/core/dom/Document.h#newcode389 Source/core/dom/Document.h:389: String name; I see your point. I use "name" ...
6 years, 1 month ago (2014-11-06 17:59:26 UTC) #16
Nate Chapin
Almost there, just a couple nits and some lingering confusion about the struct in FraeLoaderClinetImpl.cpp ...
6 years, 1 month ago (2014-11-11 00:28:18 UTC) #17
Zhen Wang
https://codereview.chromium.org/654953002/diff/160001/Source/core/dom/Document.h File Source/core/dom/Document.h (right): https://codereview.chromium.org/654953002/diff/160001/Source/core/dom/Document.h#newcode389 Source/core/dom/Document.h:389: String name; I see. Using "id" now. https://codereview.chromium.org/654953002/diff/160001/Source/web/FrameLoaderClientImpl.cpp File ...
6 years, 1 month ago (2014-11-11 15:12:20 UTC) #18
Nate Chapin
LGTM, thanks!
6 years, 1 month ago (2014-11-11 19:18:55 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/654953002/240001
6 years, 1 month ago (2014-11-11 19:24:41 UTC) #21
commit-bot: I haz the power
6 years, 1 month ago (2014-11-11 19:27:04 UTC) #22
Message was sent while issue was closed.
Committed patchset #13 (id:240001) as 185140

Powered by Google App Engine
This is Rietveld 408576698