Fix for crash in Canvas2DLayerBridge::releasedMailboxInfo()

BUG=343944
R=senorblanco@chromium.org

Review URL: https://codereview.chromium.org/166433006

git-svn-id: svn://svn.chromium.org/blink/trunk@167224 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Handle subtree layout roots.

FTA previously assumed that the RenderView would be the first block to beginLayout, but FrameView::layout may begin at a different block in some cases.

With this change FTA correctly detects the start and end of layout in such a case, and treats the subtree layout root as an independent cluster.

BUG=332253

Review URL: https://codereview.chromium.org/165583002

git-svn-id: svn://svn.chromium.org/blink/trunk@167225 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Port ParentNode API to ElementTraversal

Port ParentNode API to ElementTraversal and drop corresponding API on
ContainerNode. All callers of the ContainerNode API were updated to use
ElementTraversal directly. This is more consistent and avoid inefficiencies
due to callers assuming those API methods are simple getters although they
need to traverse the DOM tree. It is now obvious to callers that they are
traversing the DOM tree and that they should cache the return value.

R=adamk, eseidel

Review URL: https://codereview.chromium.org/166573003

git-svn-id: svn://svn.chromium.org/blink/trunk@167226 bbb929c8-8fbe-4397-9dbb-9b2b20218538