[GTK] Add parameters from 'DOM Object Model Core' spec and 'DOM CSS' spec that can be NULL

https://bugs.webkit.org/show_bug.cgi?id=117536

Patch by Diego Pino Garcia <dpino@igalia.com> on 2014-01-25
Reviewed by Xan Lopez.

* bindings/scripts/CodeGeneratorGObject.pm:
(ParamCanBeNull): Add new pairs (function, parameter) that can be NULL

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162766 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Move InspectorRuntimeAgent into JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=127605

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
Add new files to the build.

* inspector/agents/InspectorRuntimeAgent.h: Renamed from Source/WebCore/inspector/InspectorRuntimeAgent.h.
* inspector/agents/InspectorRuntimeAgent.cpp: Renamed from Source/WebCore/inspector/InspectorRuntimeAgent.cpp.
(Inspector::InspectorRuntimeAgent::InspectorRuntimeAgent):
(Inspector::InspectorRuntimeAgent::parse):
(Inspector::InspectorRuntimeAgent::evaluate):
(Inspector::InspectorRuntimeAgent::callFunctionOn):
(Inspector::InspectorRuntimeAgent::getProperties):
- Move the agent into JavaScriptCore.
- Modernize and cleanup.
- Make globalVM a pure virtual function for subclasses to implement.

* inspector/agents/JSGlobalObjectRuntimeAgent.h: Added.
* inspector/agents/JSGlobalObjectRuntimeAgent.cpp: Added.
(Inspector::JSGlobalObjectRuntimeAgent::JSGlobalObjectRuntimeAgent):
(Inspector::JSGlobalObjectRuntimeAgent::didCreateFrontendAndBackend):
(Inspector::JSGlobalObjectRuntimeAgent::willDestroyFrontendAndBackend):
(Inspector::JSGlobalObjectRuntimeAgent::globalVM):
(Inspector::JSGlobalObjectRuntimeAgent::injectedScriptForEval):
Straightforward JSGlobalObject implementation.

* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
Add a runtime agent when inspecting a JSContext!

Source/WebCore:

Covered by existing tests. No change in functionality.

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* inspector/InspectorAllInOne.cpp:
Remove WebCore InspectorRuntimeAgent.

* ForwardingHeaders/inspector/agents/InspectorRuntimeAgent.h: Added.
Add JavaScriptCore InspectorRuntimeAgent.

* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/WorkerInspectorController.h:
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::WorkerInspectorController):
New constructors for the runtime agent.

* inspector/PageRuntimeAgent.h:
* inspector/PageRuntimeAgent.cpp:
(WebCore::PageRuntimeAgent::PageRuntimeAgent):
(WebCore::PageRuntimeAgent::enable):
(WebCore::PageRuntimeAgent::disable):
(WebCore::PageRuntimeAgent::didCreateMainWorldContext):
(WebCore::PageRuntimeAgent::didCreateIsolatedContext):
(WebCore::PageRuntimeAgent::globalVM):
Modernize and implement globalVM.

* inspector/WorkerRuntimeAgent.h:
* inspector/WorkerRuntimeAgent.cpp:
(WebCore::WorkerRuntimeAgent::WorkerRuntimeAgent):
(WebCore::WorkerRuntimeAgent::injectedScriptForEval):
(WebCore::WorkerRuntimeAgent::globalVM):
Modernize and implement globalVM.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162767 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Remove null check for WebPopupMenuProxy::Client in WebPopupMenuProxyGtk::showPopupMenu
https://bugs.webkit.org/show_bug.cgi?id=107036

Reviewed by Andreas Kling.

* UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
(WebKit::WebPopupMenuProxyGtk::showPopupMenu): Don't perform an early return
if the client is not available - it always should be. The client is set to null
only when the proxy is invalidated. This happens immediately after this function
returns, either with the popup being forced to close or being closed by the user
with possibly an item being chosen. Rather than the early return, use an ASSERT.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162768 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move CSSFontFace, CSSFontSelector to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=127569

Reviewed by Andreas Kling.

Move the CSSFontFace and CSSFontSelector classes from using OwnPtr, PassOwnPtr and adoptPtr
to using std::unique_ptr, move semantics and std::make_unique.

* css/CSSFontFace.cpp:
(WebCore::CSSFontFace::addSource):
* css/CSSFontFace.h:
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::addFontFaceRule):
(WebCore::CSSFontSelector::getFontFace):
* css/CSSFontSelector.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162769 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move StyleProperties, StyleResolver to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=127570

Reviewed by Andreas Kling.

Move the StyleProperties and StyleResolver classes from using OwnPtr and adoptPtr
to using std::unique_ptr and std::make_unique.

* css/StyleInvalidationAnalysis.h: Remove the PassOwnPtr.h header inclusion.
* css/StyleProperties.cpp:
(WebCore::MutableStyleProperties::ensureCSSStyleDeclaration):
(WebCore::MutableStyleProperties::ensureInlineCSSStyleDeclaration):
* css/StyleProperties.h:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::addViewportDependentMediaQueryResult):
* css/StyleResolver.h:
* css/StyleScopeResolver.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162770 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move PropertySetCSSStyleDeclaration, WebKitCSSKeyframesRule to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=127572

Reviewed by Andreas Kling.

Switch the PropertySetCSSStyleDeclaration and WebKitCSSKeyframesRule classes from using
OwnPtr and adoptPtr to using std::unique_ptr and std::make_unique.

* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
(WebCore::StyleRuleCSSStyleDeclaration::didMutate):
(WebCore::InlineCSSStyleDeclaration::didMutate):
* css/PropertySetCSSStyleDeclaration.h:
* css/WebKitCSSKeyframesRule.cpp:
(WebCore::WebKitCSSKeyframesRule::cssRules):
* css/WebKitCSSKeyframesRule.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162771 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move MediaQueryMatcher, SelectorFilter to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=127574

Reviewed by Andreas Kling.

Replace the use of OwnPtr and adoptPtr with std::unique_ptr and std::make_unique
in the MediaQueryMatcher and SelectorFilter classes.

* css/MediaQueryMatcher.cpp:
(WebCore::MediaQueryMatcher::prepareEvaluator):
(WebCore::MediaQueryMatcher::evaluate):
(WebCore::MediaQueryMatcher::addListener):
(WebCore::MediaQueryMatcher::styleResolverChanged):
* css/MediaQueryMatcher.h:
* css/SelectorFilter.cpp:
(WebCore::SelectorFilter::popParentStackFrame):
(WebCore::SelectorFilter::setupParentStack):
* css/SelectorFilter.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162772 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move CSSGroupingRule, CSSStyleSheet, ElementRuleCollector to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=127575

Reviewed by Andreas Kling.

Use std::unique_ptr and std::make_unique in place of OwnPtr and adoptPtr
in the CSSGroupingRule, CSSStyleSheet and ElementRuleCollector classes.

* css/CSSFunctionValue.cpp: Remove the unnecessary PassOwnPtr header inclusion.
* css/CSSGroupingRule.cpp:
(WebCore::CSSGroupingRule::cssRules):
* css/CSSGroupingRule.h:
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::cssRules):
* css/CSSStyleSheet.h:
* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::addMatchedRule):
* css/ElementRuleCollector.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162773 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Modernize HashTable threading code
https://bugs.webkit.org/show_bug.cgi?id=127621

Reviewed by Darin Adler.

Source/WebCore:

Explicitly include headers that used to be brought in by HashTable.h

* platform/DragData.h:
Change a Windows-specific typedef to avoid having to include WindDef.h from a header.

* platform/audio/AudioSession.h:
* platform/network/cf/SocketStreamHandle.h:

Source/WebKit/win:

Explicitly include headers that used to be brought in by HashTable.h

* WebLocalizableStrings.cpp:

Source/WebKit2:

Explicitly include headers that used to be brought in by HashTable.h

* Shared/BlockingResponseMap.h:

Source/WTF:

Use std::mutex and std::atomic instead of WTF threading primitives.

* wtf/DynamicAnnotations.h:
Include Platform.h here since this file relies on USE macros.

* wtf/HashTable.cpp:
(WTF::HashTableStats::recordCollisionAtCount):
Change this to take an unsigned.

(WTF::HashTableStats::dumpStats):
* wtf/HashTable.h:
(WTF::KeyTraits>::HashTable):
(WTF::KeyTraits>::remove):
(WTF::KeyTraits>::invalidateIterators):
Use a single probe counter.

(WTF::addIterator):
(WTF::removeIterator):

Tools:

Explicitly include headers that used to be brought in by HashTable.h

* DumpRenderTree/JavaScriptThreading.cpp:

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