Make a '::distributed' pseudo element the first-ever client who can accept a relative selector.

The spec of relative selectors is:
   http://dev.w3.org/csswg/selectors4/#relative

'::distributed' can be categorized as the following use case mentioned in the spec:
> if the reference element set consists of only a virtual scoping root:

This patch hasn't implemented the following case, which is now treated as a parsing error. I'll address that in a follow-up patch.
> 2. Otherwise, if the selector starts with any combinator other than the descendant combinator, change the selector to ‘:not(*)’.

I also have a plan to support relative selectors in other use cases such as Element.find(relative_selectors). But today is not the day.

BUG=234028

Review URL: https://chromiumcodereview.appspot.com/15657003

git-svn-id: svn://svn.chromium.org/blink/trunk@151172 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove unsued includes.

Review URL: https://chromiumcodereview.appspot.com/15779008

git-svn-id: svn://svn.chromium.org/blink/trunk@151173 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Clean up TimingFunction code

- Remove zero-argument overload of CubicBezierTimingFunction::create() and
  make it more explicit when we're creating a cubic bezier of type 'Ease'. This
  also allows us to remove the default arguments to the
  CubicBezierTimingFunction constructor.
- Rename CubicBezierTimingFunction::create() to preset() and cache instances
  for the preset types of cubic bezier, as
  CubicBezierTimingFunction::defaultTimingFunction() did.
- Move duplicated code to evaluate a timing function to a new
  TimingFunction::evaluate() method. Also move accuracyForDuration() helper to
  a shared location.

BUG=240653
R=dstockwell

Review URL: https://chromiumcodereview.appspot.com/15679002

git-svn-id: svn://svn.chromium.org/blink/trunk@151174 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Do not dispatch change event twice in single step action.

If an input element has no value, and step-up or step-down is requested, we set
the default value, dispatched a change event, modified it, then dispatched
another change event. The first change event is unnecessary, and harmful.

Also, add EvenQueueScope to avoid to make similar problems in the future.

BUG=243991
TEST=automated

Review URL: https://chromiumcodereview.appspot.com/16079002

git-svn-id: svn://svn.chromium.org/blink/trunk@151175 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move popup menu code from core/platform to WebKit/chromium/src.

These code depends on non-platform core code. It's a layering violation. We
move them to WebKit/chromium/src like other implementations of platform
interfaces.

BUG=242763

Review URL: https://chromiumcodereview.appspot.com/16077002

git-svn-id: svn://svn.chromium.org/blink/trunk@151176 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Clean up the style of the jinja2 templates to use a
lowercase_with_underscores naming convention.

BUG=237400

Review URL: https://chromiumcodereview.appspot.com/15790004

git-svn-id: svn://svn.chromium.org/blink/trunk@151177 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Auto-generate V8NodeList::namedPropertyGetter

Remove V8NodeList::namedPropertyGetter
in V8NodeListCustom.cpp

R=haraken@chromium.org
BUG=229740
TEST=No tests. refactoring.

Review URL: https://chromiumcodereview.appspot.com/15852002

git-svn-id: svn://svn.chromium.org/blink/trunk@151178 bbb929c8-8fbe-4397-9dbb-9b2b20218538
On IE and FireFox, they treats contenteditable="false" element as atomic element. When moving caret around it, cursor is placed at start/end of it.

This patch changes Blink(Chrome) behavior as IE and FireFox.

This patch updates tests for behavior change:
- editing/selection/4889598.html: Removed, because updated version of mixed-editability-3.html does same test, line motion around uneditable table element.
- editing/selection/mixed-editability-3.html: Changed to cover forward and backward line motion and verify by script rather than editing log and render tree for ease of future maintenance.
- editing/selection/move-by-line-004.html: Changed for new behavior. Caret can't go cross uneditable table cell as FireFox.

BUG=238000

Review URL: https://chromiumcodereview.appspot.com/14794012

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

BUG=NONE
NOTRY=true

Review URL: https://chromiumcodereview.appspot.com/15680004

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