Make calls to AtomicString(const String&) explicit in editing/

Make calls to AtomicString(const String&) explicit in editing/ 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 editing/ part so that it is more
easily reviewable.

R=eseidel, abarth
BUG=323739

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163805 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Replaced HTMLIdentifier usage with a factory function which will try to match the string with a map of all known static strings.

As the HTMLNames strings are now static and hence threadsafe, the HTMLIdentifier wrapper used for thread safe string usage by the parser thread is no longer needed.

Sourced from discussions in https://codereview.chromium.org/74513003/

R=abarth@chromium.org,eseidel@chromium.org
BUG=277886

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163806 bbb929c8-8fbe-4397-9dbb-9b2b20218538
See also webkit.org/b/113415

Include the logical bottom margin in the layout overflow rect. In the most common use
case this ensures we can scroll down to the margin that sits after any element that has it.
The only cases we need to avoid are where the margin is present but doesn't contribute height.
These are (1) where the element has a margin quirk (i.e. the margin is
defined with quirky em values ('__qems')) and so is disregarded in margin collapsing and (2) when
the element is self-collapsing so the entire element adds no height of its own.

This fix revealed a separate bug where collapsed margins from the content of a table caption
were not contributing to the height of the caption and its parent. This is tested in
fast/forms/form-hides-table.html.

BUG=320743

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

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163807 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove Page dependency from Settings

I added an Observer pattern to Settings
which we'll use once Settings is passed to the Frames directly
instead of Page being the only observer and passing messages
along to frames itself.

For now Page is the only SettingsObserver.  I did that to prevent
having to change any of the code I was moving from Settings to Page.

I'll come back with a second patch and make Frame a SettingsObserver
instead of Page.

I couldn't remove the last reference to Page* in Settings without
changing autogenerated inspector code I wasn't familiar with
so I filed crbug.com/327476 to handle the last bit of cleanup.
Until then there is a really ugly hack whereby we ask the
SettingsObserver to provide a page.

I also removed a Timer used for avoiding a crash in Mac WebView
when clients had overriden -[WebView dealloc].  Obviously we don't
have that problem in blink anymore.

BUG=305811
R=abarth@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163808 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move PlatformSpeechSynthesizerMock to modules/speech/testing/

BUG=297477

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

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