Let NullPtr.h define nullptr_t in C++11 mode with STLport.

I'm playing with -std=gnu++11 on Android, and this is the first thing that
fails to compile with this flag:

../../third_party/WebKit/Source/wtf/HashTraits.h:126:22:error: no type named 'nullptr_t' in namespace 'std'
        typedef std::nullptr_t EmptyValueType;
                ~~~~~^

(It's possible this won't go anywhere, in which case I'll revert this.)

BUG=none
R=abarth@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154080 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Introduce css3TextEnabled instead of CSS3_TEXT.

Introduce css3TextEnabled instead of CSS3_TEXT,
and remove '-webkit' prefix from the '-webkit-text-align-last' property.

BUG=259332

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154081 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Refactoring: Introduce HTMLImport interface to form import tree.

This change introduces HTMLImport abstract class which is derived by
HTMLImportLoader and HTMLImportsController.

- A set of HTMLImport forms a tree which represents the import dependnecy.
  Currently only child-to-parent link is available. The tree root is
  a HTMLImportController.

- Document now refers HTMLImport instead of HTMLImportController.
  For the master document, the object is HTMLImportController.
  For each imported document, it is a HTMLImportLoader which loads the document.
  Note that the only interaction from a document to its import is
  to ask if all of its (sub) imports are loaded.

- HTMLImportsController is turned from a RefCounted to a document Supplement.
  The lifetime is managed by the supplement machinery instead of RefPtr
  which Document::m_import originally was.
  Now m_import is a weak, raw pointer and is cleared by HTMLImport subclasses.

- didLoad() notification is now fired recursively up to
  the import dependency chain. This is crusial when
  scripts inside imported documents block the document parsing
  and let the notification unblock it.

TEST=none
BUG=240592
R=dglazkov@chromium.org

Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=153977

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154082 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove generic TextFieldDecorator in favor of PasswordGeneratorButtonElement

The generic support for text field decorators is only used by password generator
icons and also prevents us from allowing author ShadowRoots on <input>'s. It's
also not clear that we ever want to really allow lots of little icons inside inputs,
currently we'd allow 8 of them, but that seems crazy to stuff into inputs.

This is the first step of tightening up the interface for password generator just like
SpeechInputClient and allows removing 300 lines of code.

R=tkent@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154083 bbb929c8-8fbe-4397-9dbb-9b2b20218538
core/dom: Include wtf files using "wtf/foo.h" form.

Instead of including them as:

\#include <wtf/foo.h>

Change it to include as:

\#include "wtf/foo.h"

Patch generated with thakis's script:

git grep -l '#include <wtf' Source/core/dom | xargs sed -i -e 's/#include <\(wtf\/[^>]*\)>/#include "\1"/'

BUG=254653
R=abarth@chromium.org,thakis@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154084 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add leak-window-scriptable-object test.

Re-land the window scriptable object leak test from crrev.com/14019005.

This test was flaky when originally added, so re-landing it with flaky test
expectations to avoid closing pending it being made more reliable.

BUG=152006

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154085 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix reentrance of BaseMultipleFieldsDateAndTimeInputType::destroyShadowSubtree.

destroyShadowSubtree could dispatch 'blur' event unexpectedly because
element()->focused() had incorrect information. We make sure it has
correct information by checking if the UA shadow root contains the
focused element.

BUG=257353

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

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