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

Issue 2912213002: Support serializing shadow DOM to MHTML (Closed)

Created:
3 years, 6 months ago by jianli
Modified:
3 years, 6 months ago
Reviewers:
Mike West, Dmitry Titov
CC:
blink-reviews, blink-reviews-frames_chromium.org, chromium-reviews, dcheng, kinuko+watch, mlamouri+watch-blink_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Support serializing shadow DOM to MHTML The content of shadow DOM tree will be serialized and put within a template element that appends to the children of the shadow host element. The template element contains a special attribute to denote the mode of the shadow dom tree. When MHTML page is being loaded, the shadow DOM tree will be recreated by the injected script to convert the templates to the shadow DOM trees. Please see the bug for the link to the design doc. BUG=695738 TEST=new tests added Review-Url: https://codereview.chromium.org/2912213002 Cr-Commit-Position: refs/heads/master@{#479550} Committed: https://chromium.googlesource.com/chromium/src/+/05d415724da48cbeba542558a3ce5689ec0fee93

Patch Set 1 #

Patch Set 2 : Update #

Patch Set 3 : Update comment #

Patch Set 4 : More tests #

Patch Set 5 : Add .gitattributes #

Total comments: 4

Patch Set 6 : Address feedback #

Total comments: 4

Patch Set 7 : Rebase #

Patch Set 8 : Strip anoter shadow attribute #

Unified diffs Side-by-side diffs Delta from patch set Stats (+334 lines, -12 lines) Patch
M third_party/WebKit/Source/core/editing/serializers/MarkupAccumulator.h View 1 2 3 4 5 1 chunk +9 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/editing/serializers/MarkupAccumulator.cpp View 1 2 3 4 5 2 chunks +24 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/FrameSerializer.h View 1 2 3 4 5 6 1 chunk +7 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/FrameSerializer.cpp View 1 2 3 4 5 6 2 chunks +6 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/web/LocalFrameClientImpl.cpp View 1 2 3 4 5 6 1 chunk +39 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/web/WebFrameSerializer.cpp View 1 2 3 4 5 6 7 7 chunks +69 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/web/tests/MHTMLTest.cpp View 1 2 3 4 5 6 3 chunks +40 lines, -1 line 0 comments Download
M third_party/WebKit/Source/web/tests/WebFrameSerializerSanitizationTest.cpp View 1 2 3 4 5 6 7 3 chunks +47 lines, -6 lines 0 comments Download
A third_party/WebKit/Source/web/tests/data/frameserialization/shadow_dom.html View 1 2 3 4 5 6 7 1 chunk +18 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/web/tests/data/mhtml/.gitattributes View 1 2 3 4 1 chunk +6 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/web/tests/data/mhtml/page_with_javascript.mht View 1 2 3 1 chunk +29 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/web/tests/data/mhtml/shadow.mht View 1 2 3 1 chunk +40 lines, -0 lines 0 comments Download

Messages

Total messages: 39 (25 generated)
jianli
3 years, 6 months ago (2017-05-31 23:20:27 UTC) #10
Dmitry Titov
https://codereview.chromium.org/2912213002/diff/80001/third_party/WebKit/Source/core/editing/serializers/MarkupAccumulator.h File third_party/WebKit/Source/core/editing/serializers/MarkupAccumulator.h (right): https://codereview.chromium.org/2912213002/diff/80001/third_party/WebKit/Source/core/editing/serializers/MarkupAccumulator.h#newcode81 third_party/WebKit/Source/core/editing/serializers/MarkupAccumulator.h:81: virtual Node* GetAuxiliaryDOMTree(const Element&, Element**) const; I think it ...
3 years, 6 months ago (2017-06-06 04:42:09 UTC) #15
jianli
https://codereview.chromium.org/2912213002/diff/80001/third_party/WebKit/Source/core/editing/serializers/MarkupAccumulator.h File third_party/WebKit/Source/core/editing/serializers/MarkupAccumulator.h (right): https://codereview.chromium.org/2912213002/diff/80001/third_party/WebKit/Source/core/editing/serializers/MarkupAccumulator.h#newcode81 third_party/WebKit/Source/core/editing/serializers/MarkupAccumulator.h:81: virtual Node* GetAuxiliaryDOMTree(const Element&, Element**) const; On 2017/06/06 04:42:09, ...
3 years, 6 months ago (2017-06-07 00:53:42 UTC) #17
Dmitry Titov
Did you mean to upload a new version?
3 years, 6 months ago (2017-06-07 17:40:30 UTC) #21
jianli
Forgot to upload a new version. Done. On Wed, Jun 7, 2017 at 10:40 AM, ...
3 years, 6 months ago (2017-06-07 19:07:34 UTC) #23
jianli
Forgot to upload a new version. Done. On Wed, Jun 7, 2017 at 10:40 AM, ...
3 years, 6 months ago (2017-06-07 19:07:35 UTC) #24
jianli
Ping. Thanks.
3 years, 6 months ago (2017-06-13 00:45:06 UTC) #28
Dmitry Titov
LGTM. sorry for delay!
3 years, 6 months ago (2017-06-13 04:40:23 UTC) #29
Mike West
LGTM % one question. https://codereview.chromium.org/2912213002/diff/100001/third_party/WebKit/Source/web/WebFrameSerializer.cpp File third_party/WebKit/Source/web/WebFrameSerializer.cpp (right): https://codereview.chromium.org/2912213002/diff/100001/third_party/WebKit/Source/web/WebFrameSerializer.cpp#newcode219 third_party/WebKit/Source/web/WebFrameSerializer.cpp:219: attribute.LocalName() == kShadowModeAttributeName && Should ...
3 years, 6 months ago (2017-06-14 07:03:59 UTC) #30
jianli
https://codereview.chromium.org/2912213002/diff/100001/third_party/WebKit/Source/web/WebFrameSerializer.cpp File third_party/WebKit/Source/web/WebFrameSerializer.cpp (right): https://codereview.chromium.org/2912213002/diff/100001/third_party/WebKit/Source/web/WebFrameSerializer.cpp#newcode219 third_party/WebKit/Source/web/WebFrameSerializer.cpp:219: attribute.LocalName() == kShadowModeAttributeName && On 2017/06/14 07:03:59, Mike West ...
3 years, 6 months ago (2017-06-14 19:06:08 UTC) #31
Dmitry Titov
https://codereview.chromium.org/2912213002/diff/100001/third_party/WebKit/Source/web/WebFrameSerializer.cpp File third_party/WebKit/Source/web/WebFrameSerializer.cpp (right): https://codereview.chromium.org/2912213002/diff/100001/third_party/WebKit/Source/web/WebFrameSerializer.cpp#newcode219 third_party/WebKit/Source/web/WebFrameSerializer.cpp:219: attribute.LocalName() == kShadowModeAttributeName && On 2017/06/14 19:06:08, jianli wrote: ...
3 years, 6 months ago (2017-06-14 19:33:11 UTC) #32
jianli
https://codereview.chromium.org/2912213002/diff/100001/third_party/WebKit/Source/web/WebFrameSerializer.cpp File third_party/WebKit/Source/web/WebFrameSerializer.cpp (right): https://codereview.chromium.org/2912213002/diff/100001/third_party/WebKit/Source/web/WebFrameSerializer.cpp#newcode219 third_party/WebKit/Source/web/WebFrameSerializer.cpp:219: attribute.LocalName() == kShadowModeAttributeName && On 2017/06/14 19:33:10, Dmitry Titov ...
3 years, 6 months ago (2017-06-14 21:48:06 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2912213002/140001
3 years, 6 months ago (2017-06-14 21:49:08 UTC) #36
commit-bot: I haz the power
3 years, 6 months ago (2017-06-15 00:11:33 UTC) #39
Message was sent while issue was closed.
Committed patchset #8 (id:140001) as
https://chromium.googlesource.com/chromium/src/+/05d415724da48cbeba542558a3ce...

Powered by Google App Engine
This is Rietveld 408576698