Deliver Menu key event after sending context menu event

BUG=168845

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171830 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Don't assert when clicking on a <button> and then switching to a different app.

BUG=364304
TEST=code is less trigger-happy
R=tkent@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171831 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Only boxes should have child transform layers.

The child transform layer exists to apply a perspective 
transform on its composited descendants. If this were to
be necessary, the renderer housing the transform should
be a box. Without this requirement, we cannot determine
the correct size of the composited layer which will own
the perpective transform.

Rationale,

According to http://www.w3.org/TR/css-transforms-1/

Perspective can apply to "transformable elements."
That is, to

"""
an element whose layout is governed by the CSS box model
which is either a block-level or atomic inline-level
element, or whose display property computes to table-row,
table-row-group, table-header-group, table-footer-group,
table-cell, or table-caption [CSS21] an element in the
SVG namespace and not governed by the CSS box model which
has the attributes transform, ‘patternTransform‘ or
gradientTransform [SVG11].
"""

block-level elements and atomic inline-level elements
are boxes (see http://www.w3.org/TR/CSS2/visuren.html#x13
for more info on atomic inline-level elements), as are
the table-* things.

SVG elements could cause problems if they could be
separately composited, but they cannot be currently and
the SVG root is a box.

BUG=363873

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171832 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Minor refactoring to avoid redundant calls to RenderObject::style()

We can avoid redundant calls to style() in the api computePreferredLogicalWidths()
by introducing a local variable.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171833 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parsing input type=number should skip spaces
skipping spaces in number string parsing without reformatting user input.

BUG=162463

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171834 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Simplify GlyphPage initialization for SegmentedFontData

Instead of filling a scratch page and merging it to m_page, just call
fill() on m_page in reverse order of the segmented ranges.
Also change OpenTypeVerticalData::substituteWithVerticalGlyphs() to check
FontData since the page passed may contain different FontData.

BUG=none
TEST=blink_platform_unittests

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171835 bbb929c8-8fbe-4397-9dbb-9b2b20218538
MediaQueryTokenizer does not parse correctly negative exponents

MediaQueryTokenizer does not parse correctly negative exponents. The sign
parameter for getExponent() was passed by value instead of reference.
Therefore, setting the sign to -1 in the function had no impact on the
caller.

TEST=MediaQueryTokenizerTest

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

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