Get rid of custom code for Window.location attribute setter

Get rid of custom code for Window.location attribute setter by leveraging
the generator support for [PutForwards=x] IDL extended attribute.

BUG=307045
R=haraken

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159737 bbb929c8-8fbe-4397-9dbb-9b2b20218538
IDL compiler: [Reflect] for getters

A pretty complicated one, with *lots* of special cases,
but managed to make it pretty simple.
(There's some additional special handling for SVG that
we're skipping for now.)

Doc:
https://sites.google.com/a/chromium.org/dev/blink/webidl/blink-idl-extended-attributes#TOC-Reflect-a-

BUG=239771
NOTRY=true
R=haraken@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159738 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Treat failure to fetch a master as fatal.

This patch modifies fetch_buildbot_data to treat a failure to
fetch from a master as fatal. The caller can override this
behavior with a boolean to force an update.

For admins' convenience, now there's also a "force" parameter
for /updatebuilders which controls this flag. Otherwise
/updatebuilders defaults to aborting the entire fetch when
the server fails to fetch a master's data.

Update unit tests to exercise this behavior as well. Also the
tests now use sets to compare lists of fetched URLs to avoid
relying on the specific ordering of expected results.

BUG=305364

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159739 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Use DEFINE_NODE_TYPE_CASTS instead of using manual toHTMLFooElement()

Replace manual toHTMLFooElement() with DEFINE_NODE_TYPE_CASTS(). It supports more
various helper functions as well as we can use it easily. However, this cl only can
cover toHTMLFooElement() except for non-support toHTMLFooElement().

BUG=N/A

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159740 bbb929c8-8fbe-4397-9dbb-9b2b20218538
IDL compiler: [SetterCallWith], [SetterRaisesException] (test stubs only)

Just stub test cases, since setters not implemented.
(I.e., asserts nop for getters.)

BUG=239771
NOTRY=true

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

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

This generalizes a class that used to be ServiceWorker-specific, that adapts WebCallbacks objects into script-friendly objects, for use in ScriptPromiseResolver and friends.

BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159742 bbb929c8-8fbe-4397-9dbb-9b2b20218538
RenderBox::computePositionedLogicalHeightUsing() decides top, bottom and
height of the positioned box.

LogicalHeightLength is a height specified by CSS. So, whether it
contains borders and paddings depends on box-sizing value. There is no
difference between a normal block and a table.

In a table case, the current code overwrites the CSS height using the
height of a RenderBox. The height of a RenderBox always doesn't contain
borders and paddings. If a table has box-sizing border-box, the code
sets the height which doesn't contain borders and paddings to
logicalHeightLength which thinks its value contains borders and
paddings. This makes a result height narrower than an expected height.

Since we already has a height which doesn't contain borders and padding
for a table, we should not call adjustContentBoxLogicalHeightForBoxSizing().

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159743 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add showPress data to WebGestureEvent.

BUG=307485
TEST=WebInputEventConversionTest.InputEventsScaling

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159744 bbb929c8-8fbe-4397-9dbb-9b2b20218538
IDL compiler: [StrictTypeChecking], [TreatNullAs] (test stubs only)

Setter-only, just add stub tests (assert nop for getters).
Also fixes valid values for TreatNullAs/TreatUndefinedAs:
these are generally NullString, but can take other values for
indexed setters/named setters

BUG=239771
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159745 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make Stream implement ActiveDOMObject.

To implement the read() method of Stream, we'll use FileReaderLoader that
involves asynchronous operation.

BUG=169957

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159746 bbb929c8-8fbe-4397-9dbb-9b2b20218538
IDL compiler: [TreatReturnedNullStringAs]

Just adds one special case to v8_conversion_type,
but requires passing extended attributes down the call stack.

Also refactoring to simplify include handling in types
(input/output variable, not multiple return values,
gets rid of lots of "return foo, includes").

Docs:
https://sites.google.com/a/chromium.org/dev/blink/webidl/blink-idl-extended-attributes#TOC-TreatReturnedNullStringAs-m-a-

BUG=239771
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159747 bbb929c8-8fbe-4397-9dbb-9b2b20218538
When interpolating, don't generate a calc expression when one size is zero. 

IE
 calc(0px + 20em) -> 20em
 calc(20px + 0em) -> 20px

This comes up most when interpolating and one size is zero.

The spec has a special case for 0% (which can't be discarded). http://www.w3.org/TR/css3-values/#calc-computed-value
e.g. calc(100% - 100% + 1em) resolves to calc(0% + 1em), not to calc(1em)

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159748 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make baseline-shift-interpolation easier to eyeball

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159749 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert 159702 "Generate HTMLElementFactory with Python"

> Generate HTMLElementFactory with Python
> 
> This CL replaces the old Perl-based HTMLElementFactory with
> a Python implementation based in jinja2 templates.
> 
> R=eseidel@chromium.org
> 
> Review URL: https://codereview.chromium.org/27009005

Mac compile failure on the walterfall after blink roll.
Please see the comment in https://codereview.chromium.org/26615003/.

TBR=abarth@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159750 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Do not layout on no-op list item :hover effects

A RenderListItem can contain a marker which depends on the list item
style. During style recalc, if the list item's style is unchanged, we
do not need to update the marker's style.

This patch fixes a bug on Wikipedia where a global :hover selector
would cause a new style to be set on markers which would in turn
cause an unnecessary layout.

BUG=306716

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159751 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Vector stores Expression object as OwnPtr instead of raw pointer in XPath.

Vector can handle OwnPtr, so we don't have to delete an element in Vector
manually.

BUG=307055

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

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