Add FrameLoader::m_provisionalItem, centralize HistoryItem state setting

History navigations cheat and set FrameLoader::m_currentItem when they the navigation starts, rather than when the navigation commits. This patch adds a provisional item to FrameLoader, comparable to what once existed on HistoryController.

Also, navigation-related HistoryItem state is set in a couple of different places (namely, there is a special block for push/replaceState). Set everything in FrameLoader::setHistoryItemStateForCommit(). Form state, scroll state, and page scale factor are still set in FrameLoader::saveDocumentAndScrollState.

BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@164425 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make calls to AtomicString(const String&) explicit in loader/ and fetch/

Make calls to AtomicString(const String&) explicit in load/ and fetch/, and
avoid useless conversions from String to AtomicString when possible.

This is one step towards making the AtomicString(const String&) constructor
explicit. This CL takes care only of the loader/ & fetch/ part so that it is
more easily reviewable.

R=eseidel
BUG=323739

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

git-svn-id: svn://svn.chromium.org/blink/trunk@164426 bbb929c8-8fbe-4397-9dbb-9b2b20218538
IndexedDB: Ensure IDBRequest.result throws after cursor is continued

IDBRequest.result is cached by the binding layer, with a dirty flag
that is poked when the result changes. A case was missed, and the flag
was not poked when request is re-used by a continued cursor, so
the cached value was returned instead of an exception being raised.

Clear the result via the setResult() helper which pokes the dirty
flag.

BUG=331132
R=dgrogan

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

git-svn-id: svn://svn.chromium.org/blink/trunk@164427 bbb929c8-8fbe-4397-9dbb-9b2b20218538
depend on fontconfig for linux rather than x11

https://codereview.chromium.org/99103006 moved WebFontInfo.cpp from
core to platform.  In core fontconfig is enabled if OS=="linux",
but in platform it is enabled if use_x11==1.  In most setups this
works because the headers are in the same base directory, but if
that's not the case the build will fail.

To fix this, I think platform should just depend on fontconfig if
OS=="linux".

BUG=303332

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

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