[LayoutNG] No inline capacity for break tokens vector.

Having a lot of break tokens isn't very common, especially without any
block fragmentation support enabled yet. And it costs quite a lot of
stack space.

This change shrinks sizeof(NGContainerFragmentBuilder) from 728 to 472
bytes [*].

[*] Linux 64bit debug

Take extra care not to add any break tokens to the container builder
when not in a block fragmentation context, since adding anything will
lead to heap allocations now.

Bug: 930637
Change-Id: I1bc123e5f2ef651d9e74172a949d32c784c773f9
Reviewed-on: https://chromium-review.googlesource.com/c/1467223
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Reviewed-by: Christian Biesinger <cbiesinger@chromium.org>
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#631843}
6 files changed