DescriptionReland of Support slot element's fallback content feature (patchset #1 id:1 of https://codereview.chromium.org/1562743002/ )
Reason for revert:
Relanding, as the error caused by the reverted CL will be fixed by the followup https://codereview.chromium.org/1562013002/.
Original issue's description:
> Revert of Support slot element's fallback content feature (patchset #4 id:60001 of https://codereview.chromium.org/1530643003/ )
>
> Reason for revert:
> Broken compilation:
>
> FAILED: ninja -t msvc -e environment.x86 -- E:\b\build\goma/gomacc "E:\b\depot_tools\win_toolchain\vs2013_files\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\third_party\WebKit\Source\core\dom\shadow\webcore_dom.SlotAssignment.obj.rsp /c ..\..\third_party\WebKit\Source\core\dom\shadow\SlotAssignment.cpp /Foobj\third_party\WebKit\Source\core\dom\shadow\webcore_dom.SlotAssignment.obj /Fdobj\third_party\WebKit\Source\core\webcore_dom.cc.pdb
> e:\b\build\slave\webkit_win_oilpan\build\src\third_party\webkit\source\wtf\vector.h(638) : error C2338: Cannot put raw pointers to garbage-collected classes into an off-heap Vector. Use HeapVector<Member<T>> instead.
> e:\b\build\slave\webkit_win_oilpan\build\src\third_party\webkit\source\wtf\vector.h(632) : while compiling class template member function 'WTF::Vector<blink::HTMLSlotElement *,0,WTF::PartitionAllocator>::Vector(void)'
> e:\b\build\slave\webkit_win_oilpan\build\src\third_party\webkit\source\core\dom\shadow\slotassignment.cpp(34) : see reference to function template instantiation 'WTF::Vector<blink::HTMLSlotElement *,0,WTF::PartitionAllocator>::Vector(void)' being compiled
> e:\b\build\slave\webkit_win_oilpan\build\src\third_party\webkit\source\core\dom\shadow\slotassignment.cpp(34) : see reference to class template instantiation 'WTF::Vector<blink::HTMLSlotElement *,0,WTF::PartitionAllocator>' being compiled
> ninja: build stopped: subcommand failed.
>
> Original issue's description:
> > Support slot element's fallback content feature
> >
> > The spec discussion is:
> > - https://github.com/w3c/webcomponents/issues/317
> >
> > The relevant algorithm sections in the Shadow DOM spec are:
> > - Distributed nodes algorithm: http://w3c.github.io/webcomponents/spec/shadow/#distributed-nodes-algorithm
> > - Composition algorithm: http://w3c.github.io/webcomponents/spec/shadow/#composition-algorithm
> >
> > Now, if a slot does not have any assigned node, its child nodes are used as fallback contents.
> > This fallback ability will *chain* recursively. That means we can use *another* slot as a slot's fallback contents.
> > That gives us a great flexibility to compose a composed tree.
> >
> > e.g.
> >
> > Suppose we have the following tree of trees, which is borrowed from `v1-slots-fallback2.thml` test:
> >
> > <div id='host'>
> > <template data-mode='open'>
> > <slot name='slot1'>
> > <div id='fallback1'></div>
> > <slot name='slot2'>
> > <div id='fallback2'></div>
> > </slot>
> > </slot>
> > <slot name='slot3'>
> > <slot name='slot4'>
> > <div id='fallback3'></div>
> > </slot>
> > </slot>
> > </template>
> > <div id='child1' slot='slot2'></div>
> > </div>
> >
> > This can be composed into the following composed tree:
> >
> > <div id='host'>
> > <div id='fallback1'></div>
> > <div id='child1'></div>
> > <div id='fallback3'></div>
> > </div>
> >
> > The following feature is not yet supported:
> >
> > - A slot API, HTMLSlotElement::getDistributedNodes does not work in a document tree nor v0 shadow tree
> >
> > I'll support this as separate patches. This requires non-trivial changes to the distribution code.
> >
> > Committed: https://crrev.com/b7c3414768afff35204a6c6b869c47d90d3953e0
> > Cr-Commit-Position: refs/heads/master@{#367789}
>
> TBR=kochi@chromium.org,tkent@chromium.org,hayato@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/8fbe7b738f91be9334ee3974eff818d819269cac
> Cr-Commit-Position: refs/heads/master@{#367804}
TBR=kochi@chromium.org,tkent@chromium.org,hayato@chromium.org,sigbjornf@opera.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Committed: https://crrev.com/e8632b4aeb59c8f208f6882eb99888f2d6fa6e91
Cr-Commit-Position: refs/heads/master@{#367806}
Patch Set 1 #Messages
Total messages: 6 (1 generated)
|