Web Inspector: Copying array or object output does not contain values
https://bugs.webkit.org/show_bug.cgi?id=117669

ConsoleCommandResult was overriding toClipboardString() but wasn't using the complex code
in ConsoleMessageImpl's toClipboardString() to provide a nicely formatted output for objects.
We now use a "clipboarPrefixString" property to customize the prefix used in the clipboard
and, additionally, only use that prefix if we're copying more than a single message since it's
the only situation where it's useful to have the ">" or "<" prefix shown. Console messages with
a log level always print the level and when saving the console log using Cmd+S, all messages
contain their prefix as well.

Reviewed by Timothy Hatcher.

* UserInterface/ConsoleCommand.js:
(WebInspector.ConsoleCommand.prototype.toClipboardString):
Handle the new isPrefixOptional argument.

* UserInterface/ConsoleCommandResult.js:
(WebInspector.ConsoleCommandResult.prototype.get clipboarPrefixString):
Provide a custom "< " prefix and set "enforcesClipboardPrefixString" to false such that
the prefix isn't printed out in situations when it may not.

* UserInterface/ConsoleMessageImpl.js:
Set "enforcesClipboardPrefixString" to true since we always want to log the log level
prefix in all situations.

(WebInspector.ConsoleMessageImpl.prototype.get clipboarPrefixString):
Implement this new getter to return our clipboard string such that subclasses may
customize it.

(WebInspector.ConsoleMessageImpl.prototype.toClipboardString):
Take into account both isPrefixOptional and the "enforcesClipboardPrefixString" property
to only log the prefix if necessary.

* UserInterface/LogContentView.js:
(WebInspector.LogContentView.prototype._formatMessagesAsData):
Make the logging of prefix optional when we have a single message selected and we're
not saving via Cmd+S.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151738 268f45cc-cd09-0410-ab3c-d52691b4dbfc
BUILD FIX (r151663): Fix build for iOS WebKit

* wtf/text/AtomicStringTable.cpp: Include MainThread.h.
(WTF::AtomicStringTable::create): Use AtomicStringTable::destroy
instead of non-existent destroyAtomicStringTable function.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151739 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement WebIDL implements
https://bugs.webkit.org/show_bug.cgi?id=117785

Reviewed by Kentaro Hara.

Add support for Web IDL 'implements' statements to the bindings generator:
http://www.w3.org/TR/WebIDL/#dfn-implements-statement

Introduce ChildNode IDL interface and have Element, DocumentType and
CharacterData implement it, to match the specification:
http://dom.spec.whatwg.org/#childnode

There is no change in behavior, merely refactoring to match the
specification by leveraging support for Web IDL implements statements.

No new tests, no behavior change.

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* bindings/scripts/generate-bindings.pl:
* bindings/scripts/preprocess-idls.pl:
(GeneratePartialInterface):
(getImplementersFromIDL):
* bindings/scripts/test/CPP/WebDOMTestImplements.cpp: Added.
* bindings/scripts/test/CPP/WebDOMTestImplements.h: Added.
* bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
(WebDOMTestInterface::implementsStr1):
(WebDOMTestInterface::implementsStr2):
(WebDOMTestInterface::setImplementsStr2):
(WebDOMTestInterface::implementsNode):
(WebDOMTestInterface::setImplementsNode):
(WebDOMTestInterface::implementsMethod1):
(WebDOMTestInterface::implementsMethod4):
* bindings/scripts/test/CPP/WebDOMTestInterface.h:
* bindings/scripts/test/GObject/WebKitDOMTestImplements.cpp: Added.
* bindings/scripts/test/GObject/WebKitDOMTestImplements.h: Added.
* bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
(webkit_dom_test_interface_set_property):
(webkit_dom_test_interface_get_property):
(webkit_dom_test_interface_class_init):
(webkit_dom_test_interface_implements_method1):
(webkit_dom_test_interface_implements_method2):
(webkit_dom_test_interface_implements_method4):
(webkit_dom_test_interface_get_implements_str1):
(webkit_dom_test_interface_get_implements_str2):
(webkit_dom_test_interface_set_implements_str2):
(webkit_dom_test_interface_get_implements_node):
(webkit_dom_test_interface_set_implements_node):
* bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
* bindings/scripts/test/JS/JSTestImplements.cpp: Added.
* bindings/scripts/test/JS/JSTestImplements.h: Added.
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr):
(WebCore::jsTestInterfaceConstructorImplementsStaticAttr):
(WebCore::jsTestInterfaceImplementsStr1):
(WebCore::jsTestInterfaceImplementsStr2):
(WebCore::jsTestInterfaceImplementsStr3):
(WebCore::jsTestInterfaceImplementsNode):
(WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
(WebCore::setJSTestInterfaceImplementsStr2):
(WebCore::setJSTestInterfaceImplementsStr3):
(WebCore::setJSTestInterfaceImplementsNode):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3):
(WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4):
(WebCore::jsTestInterfaceIMPLEMENTSCONSTANT1):
(WebCore::jsTestInterfaceIMPLEMENTSCONSTANT2):
* bindings/scripts/test/JS/JSTestInterface.h:
* bindings/scripts/test/ObjC/DOMTestImplements.cpp: Added.
* bindings/scripts/test/ObjC/DOMTestImplements.h: Added.
* bindings/scripts/test/ObjC/DOMTestInterface.h:
* bindings/scripts/test/ObjC/DOMTestInterface.mm:
(-[DOMTestInterface implementsStr1]):
(-[DOMTestInterface implementsStr2]):
(-[DOMTestInterface setImplementsStr2:]):
(-[DOMTestInterface implementsStr3]):
(-[DOMTestInterface setImplementsStr3:]):
(-[DOMTestInterface implementsNode]):
(-[DOMTestInterface setImplementsNode:]):
(-[DOMTestInterface implementsMethod1]):
(-[DOMTestInterface implementsMethod2:objArg:]):
(-[DOMTestInterface implementsMethod3]):
(-[DOMTestInterface implementsMethod4]):
* bindings/scripts/test/TestImplements.idl: Added.
* dom/CharacterData.idl:
* dom/ChildNode.idl: Copied from Source/WebCore/dom/DocumentType.idl.
* dom/DocumentType.idl:
* dom/Element.idl:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151740 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WinCairo] Does not compile.
https://bugs.webkit.org/show_bug.cgi?id=117798

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-06-19
Reviewed by Brent Fulgham.

Add USE(CFNETWORK) guards.

* WebCoreSupport/WebFrameNetworkingContext.cpp: Add USE(CFNETWORK) guard.
(WebFrameNetworkingContext::ensurePrivateBrowsingSession): Change USE(CF_NETWORK) to USE(CFNETWORK).
* WebCoreSupport/WebFrameNetworkingContext.h: Add USE(CFNETWORK) guard.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151742 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WinCairo] Webfont rendering is broken.
https://bugs.webkit.org/show_bug.cgi?id=117695

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-06-19
Reviewed by Brent Fulgham.

The native font handle created from webfont data is invalid.
In much the same way it's done in WinApple, we first need to install the webfont,
create a native font handle from the new font name,
and pass the font handle to the FontPlatformData object, where it's needed to get the glyphs.

* platform/graphics/FontPlatformData.h: Added HFONT parameter to constructor.
* platform/graphics/win/FontCustomPlatformDataCairo.cpp:
(WebCore::FontCustomPlatformData::~FontCustomPlatformData): Release installed webfont.
(WebCore::FontCustomPlatformData::fontPlatformData): Create valid HFONT handle for webfont.
(WebCore::createUniqueFontName): Added method to create webfont name.
(WebCore::createFontCustomPlatformData): Install font from webfont data.
* platform/graphics/win/FontCustomPlatformDataCairo.h: Removed.
* platform/graphics/win/FontPlatformDataCairoWin.cpp:
(WebCore::FontPlatformData::FontPlatformData): Added HFONT parameter to constructor.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151743 268f45cc-cd09-0410-ab3c-d52691b4dbfc
../WebCore: [Windows] AX: Extend notification handling
https://bugs.webkit.org/show_bug.cgi?id=117761.

Reviewed by Anders Carlsson.

accessibility/press-works-on-control-types.html

* accessibility/win/AXObjectCacheWin.cpp:
(WebCore::AXObjectCache::postPlatformNotification): Add handlers for more event notifications.
* accessibility/win/AccessibilityObjectWrapperWin.cpp:
(WebCore::AccessibilityObjectWrapper::accessibilityAttributeValue): Protect against null
pointer dereference found during testing.
* dom/Document.cpp:
(WebCore::Document::implicitClose): Execute notification handler for Windows as well as Mac.
* page/FrameView.cpp:
(WebCore::FrameView::layout): Ditto.

../WebKit/win: [Windows] AX: Extend notification support.
https://bugs.webkit.org/show_bug.cgi?id=117761

Reviewed by Anders Carlsson.

* AccessibleDocument.cpp:
(AccessibleDocument::state): Improve handling of focus state.
* AccessibleDocument.h: Provide signature for new state override.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151745 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rebaseline results on GTK and EFL after r151737

Unreviewed, gardening.

* platform/efl/fast/css/word-space-extra-expected.txt:
* platform/efl/fast/replaced/width100percent-image-expected.png:
* platform/efl/fast/replaced/width100percent-image-expected.txt:
* platform/efl/fast/replaced/width100percent-menulist-expected.png:
* platform/efl/fast/replaced/width100percent-menulist-expected.txt:
* platform/efl/fast/replaced/width100percent-searchfield-expected.png:
* platform/efl/fast/replaced/width100percent-searchfield-expected.txt:
* platform/efl/fast/replaced/width100percent-textarea-expected.png:
* platform/efl/fast/replaced/width100percent-textarea-expected.txt:
* platform/efl/fast/replaced/width100percent-textfield-expected.png:
* platform/efl/fast/replaced/width100percent-textfield-expected.txt:
* platform/efl/tables/mozilla/bugs/bug57828-expected.png:
* platform/efl/tables/mozilla/bugs/bug57828-expected.txt:
* platform/gtk/fast/css/word-space-extra-expected.txt:
* platform/gtk/fast/replaced/width100percent-image-expected.png:
* platform/gtk/fast/replaced/width100percent-image-expected.txt:
* platform/gtk/fast/replaced/width100percent-menulist-expected.png:
* platform/gtk/fast/replaced/width100percent-menulist-expected.txt:
* platform/gtk/fast/replaced/width100percent-searchfield-expected.png:
* platform/gtk/fast/replaced/width100percent-searchfield-expected.txt:
* platform/gtk/fast/replaced/width100percent-textarea-expected.png:
* platform/gtk/fast/replaced/width100percent-textarea-expected.txt:
* platform/gtk/fast/replaced/width100percent-textfield-expected.png:
* platform/gtk/fast/replaced/width100percent-textfield-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug57828-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151746 268f45cc-cd09-0410-ab3c-d52691b4dbfc