Support author Shadow DOM for INPUT elements.

When the first author ShadowRoot is added to an input element, we need to
disable all of UI-specific behavior.

 * Add Element::didAddShadowRoot callback, and HTMLInputElmeent::
  didAddShadowRoot replaces m_inputTypeView with one which disables
  UI-specific behavior, and re-attach a renderer.

 * InputType::destroyShadowSubTree: We should not remove the content of
  author ShadowRoots.

We don't need to take care of removal of author ShadowRoots.  It never
happens.

BUG=274205

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

git-svn-id: svn://svn.chromium.org/blink/trunk@157510 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Replace Position::anchorNode()->document() to Position::document()

This patch replaces Position::anchorNode()->document() to Position::document(). Implementation of Position::document() is identical to Position::anchorNode()->document().

BUG=n/a
TEST=n/a; no behavior chagnes
R=tkent@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@157511 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add parsing for mask-source-type property

BUG=283717

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

git-svn-id: svn://svn.chromium.org/blink/trunk@157512 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Introduce Position::inDocument()

This patch introduces Position::inDocument() to replace Position::anchorNode()->inDocument() for shorter code pattern and safety for avoiding null reference.

BUG=n/a
TEST=n/a; no behavior changes
R=tkent@chromium.org

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

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