NodeFilter should accept a Node if the filter wrapper is already gone

This is a monkey patch to fix crashes of bug 358858 and 345486. This CL makes acceptNode() return FILTER_ACCEPT when m_filter is 0.

However, I don't think this is a right fix because m_filter should not be 0:

- We set the NodeFilter wrapper on a hidden property of a NodeIterator wrapper.

- Thus it should be guaranteed that NodeFilter is kept alive as long as the NodeIterator is alive.

- However, the stack trace of the crash indicates that the NodeFilter can die before the NodeIterator dies.

We need to investigate what revision caused the regression. However, I cannot reproduce the crash locally and it will take time to fix the crash. So I'd like to land this monkey patch for the time being.

BUG=358858,345486
TEST=Node (I cannot reproduce the crash)

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170833 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Reland "Share code between FontPlatformDataWin and FontPlatformDataHarfBuzz"

Move linux specific code from FontPlatformDataHarfBuzz.cpp into a new
FontPlatformDataLinux.cpp file and merge the shared code across the win
and linux implementations into FontPlatformDataHarfBuzz.cpp.

With this change code shared across all HarfBuzz platforms is in
FontPlatformDataHarfBuzz.cpp and platform specific code in the Linux and
Windows files respectively.

Once Mac is fully moved over to HarfBuzz FontPlatformDataHarfBuzz will
be renamed to FontPlatformData and moved to platform/fonts.

Originally landed as r170801 and reverted as r170805 due to an android
build failure.

TBR=dglazkov@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170834 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Prepare RenderLayer::boundingBox for unification with calculateLayerBounds

RenderLayer has multiple code paths for calculating the bounds of the
RenderLayer, each of which understands some subset of the features in the
engine. This CL prepares us to unify RenderLayer::boundingBox and
calculateLayerBounds by simplifying boundingBox and renaming it to
physicalBoundingBox.

Eventually, this change will let us save 7% of the compositing update in the
calculator sample app because the overlap map and the CompositedLayerMapping
will be able to use the same bounds calculation.

Unfortunately, this CL removes support for accounting for fragments in the
RenderLayer's bounding box. Previously, accounting for fragments was optional,
which meant that a RenderLayer didn't have a clearly defined
physicalBoundingBox. Removing this functionality appears to break Region-based
multicolumn, which isn't a shipping feature. The underlying problem is that
Region-based multicolumn doesn't integrate correctly with compositing (e.g.,
fragments weren't accounted for in the overlap test). We should re-introduce
support for fragments once we've unified the various bounding box computations.
Hopefully the end result will be that Region-based multicolumn will be easier
to integrate properly with compositing.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170835 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Mark fast/js/const.html for rebaseline, and fix illegal javascript in rubberband test

TBR=pfeldman@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170836 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Better fix for momentum-reset.html

R=pfeldman@chromium.org
BUG=

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

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