[GTK] [CMake] Add support for generating gtkdoc
https://bugs.webkit.org/show_bug.cgi?id=116376

Reviewed by Martin Robinson.

.:

* Source/PlatformGTK.cmake: Added. New custom target that depends on a custom command
which calls our generate-gtkdoc script. It uses a docs-build.stamp for simplicity,
like the autotools build.

Source/WebKit2:

* PlatformGTK.cmake: make generated API files go to DerivedSources/WebKit2, to
match the autotools build and gtkdoc.py's expectation.

Tools:

* gtk/common.py: look for files in the directories used by the cmake build as well.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161017 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed build fix for GTK and EFL after r161007.

* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidUpdateBackingStoreState):
Use std::chrono::milliseconds instead of double for the timeout parameter to
CoreIPC::Connection::waitForAndDispatchImmediately.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161018 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK][WK2] Simplify ProcessExecutablePathGtk
https://bugs.webkit.org/show_bug.cgi?id=126173

Reviewed by Martin Robinson.

Don't store process name strings in global variables -- each of the names is only used in the relevant
function, so the string can be directly passed into the findWebKitProcess function call.

Simplify the findWebKitProcess function. Make the execDirectory variable static so that g_getenv is only
called once, as it's not expected for the WEBKIT_EXEC_PATH environment variable to change during the runtime.

Introduce the getExecutablePath helper function that gets the current executable path and, if non-null, returns
the directory path of that executable. The helper function preserves the small performance improvement of querying
and processing the executable path only once.
The return value of getExecutablePath is stored in a static variable and is used to construct the process path
if the executable path was successfully retrieved.

* Shared/gtk/ProcessExecutablePathGtk.cpp:
(WebKit::getExecutablePath):
(WebKit::findWebKitProcess):
(WebKit::executablePathOfWebProcess):
(WebKit::executablePathOfPluginProcess):
(WebKit::executablePathOfNetworkProcess):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161020 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Try to fix the build after r161017

* gtk/common.py:
(is_cmake_build): Instead of checking whether the return value of build_path
of the CMakeCache.txt file is None, check if a file actually exists at that path.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161023 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use isDocumentFragment() instead of comparing nodeType() with Node::DOCUMENT_FRAGMENT_NODE
https://bugs.webkit.org/show_bug.cgi?id=126178

Reviewed by Antti Koivisto.

Inspired by https://chromium.googlesource.com/chromium/blink/+/a622cb80af2bfb0c5d91123cbcfa4fa72a06554c

Use inline Node::isDocumentFragment() instead of virtual nodeType().

* dom/ContainerNode.cpp:
(WebCore::collectChildrenAndRemoveFromOldParent):
* dom/Document.cpp:
(WebCore::Document::canReplaceChild):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Minor optimization in FrameSelection::setNonDirectionalSelectionIfNeeded()
https://bugs.webkit.org/show_bug.cgi?id=126108

Reviewed by Benjamin Poulain.

Merge https://chromium.googlesource.com/chromium/blink/+/237b987c324e2e389a9e0350293bfaf16a5e201d

* editing/FrameSelection.cpp:
(WebCore::FrameSelection::setNonDirectionalSelectionIfNeeded):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161026 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix the iOS build following <http://trac.webkit.org/changeset/160236>
(https://bugs.webkit.org/show_bug.cgi?id=125239)

* rendering/RenderBlock.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned): Substitute view() for &view().
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollTo): Fix indentation of closing brace.
* rendering/RenderLayerCompositor.cpp: Include MainFrame.h.
(WebCore::RenderLayerCompositor::contentsScaleMultiplierForNewTiles): Check that page->mainFrame().view()
is non-null; also add explicit #else clause.
(WebCore::RenderLayerCompositor::ensureRootLayer): Fix up main frame check.
* rendering/RenderTheme.h:
(WebCore::RenderTheme::paintFileUploadIconDecorations): Substitute rect for r.
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintTextFieldDecorations): Use .get() to access underlying NeverDestroyed item.
(WebCore::RenderThemeIOS::systemFont):
* rendering/RenderView.cpp:
(WebCore::fixedPositionOffset): Substitute frameView.scrollOffset() for frameView->scrollOffset().

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161028 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS] Upstream WebCore/storage changes
https://bugs.webkit.org/show_bug.cgi?id=125913

Reviewed by David Kilzer.

* storage/StorageAreaSync.cpp:
(WebCore::StorageAreaSync::openDatabase): Added iOS-specific code.
(WebCore::StorageAreaSync::sync): Ditto.
* storage/StorageTracker.cpp:
(WebCore::StorageTracker::openTrackerDatabase): Ditto.
(WebCore::StorageTracker::syncImportOriginIdentifiers): Ditto.
(WebCore::StorageTracker::syncFileSystemAndTrackerDatabase): Ditto.
(WebCore::StorageTracker::syncSetOriginDetails): Ditto.
(WebCore::StorageTracker::syncDeleteAllOrigins): Ditto.
(WebCore::StorageTracker::syncDeleteOrigin): Ditto.
(WebCore::StorageTracker::databasePathForOrigin): Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161029 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add class matching to the Selector Code Generator
https://bugs.webkit.org/show_bug.cgi?id=126176

Source/JavaScriptCore: 

Reviewed by Antti Koivisto and Oliver Hunt.

Add test and branch based on BaseIndex addressing for x86_64.
Fast loops are needed to compete with clang on tight loops.

* assembler/MacroAssembler.h:
* assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::branch64):
(JSC::MacroAssemblerX86_64::branchPtr):
* assembler/X86Assembler.h:
(JSC::X86Assembler::cmpq_rm):

Source/WebCore: 

Reviewed by Antti Koivisto.

Add selector matching based on classname to the Selector Compiler.

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementDataMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasClasses):
* dom/ElementData.h:
(WebCore::ElementData::classNamesMemoryOffset):
* dom/SpaceSplitString.h:
(WebCore::SpaceSplitStringData::sizeMemoryOffset):
(WebCore::SpaceSplitStringData::tokensMemoryOffset):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161031 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix the build after r161031

I enabled ENABLE_CSS_SELECTOR_JIT by accident.

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-12-23

* wtf/Platform.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161032 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Refactor PutPropertySlot to be aware of custom properties
https://bugs.webkit.org/show_bug.cgi?id=126187

Reviewed by msaboff.

Source/JavaScriptCore:

Refactor PutPropertySlot, making the constructor take the thisValue
used as a target.  This results in a wide range of boilerplate changes
to pass the new parameter.

* API/JSObjectRef.cpp:
(JSObjectSetProperty):
* dfg/DFGOperations.cpp:
(JSC::DFG::operationPutByValInternal):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
* jit/JITOperations.cpp:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* runtime/Arguments.cpp:
(JSC::Arguments::putByIndex):
* runtime/ArrayPrototype.cpp:
(JSC::putProperty):
(JSC::arrayProtoFuncPush):
* runtime/JSCJSValue.cpp:
(JSC::JSValue::putToPrimitiveByIndex):
* runtime/JSCell.cpp:
(JSC::JSCell::putByIndex):
* runtime/JSFunction.cpp:
(JSC::JSFunction::put):
* runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::putByIndex):
* runtime/JSONObject.cpp:
(JSC::Walker::walk):
* runtime/JSObject.cpp:
(JSC::JSObject::putByIndex):
(JSC::JSObject::putDirectNonIndexAccessor):
(JSC::JSObject::deleteProperty):
* runtime/JSObject.h:
(JSC::JSObject::putDirect):
* runtime/Lookup.h:
(JSC::putEntry):
(JSC::lookupPut):
* runtime/PutPropertySlot.h:
(JSC::PutPropertySlot::PutPropertySlot):
(JSC::PutPropertySlot::setCustomProperty):
(JSC::PutPropertySlot::thisValue):
(JSC::PutPropertySlot::isCacheable):

Source/WebCore:

Update the bindings code generation and custom objects
to the new function signatures

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::put):
* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject setValue:forKey:]):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterface::putByIndex):
* bridge/NP_jsobject.cpp:
(_NPN_SetProperty):

Source/WebKit/mac:

Update for new method signatures.

* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::setProperty):

Source/WebKit2:

Update for new method signatures.

* WebProcess/Plugins/Netscape/NPJSObject.cpp:
(WebKit::NPJSObject::setProperty):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed build fix for EFL after r161007

* UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
(WebKit::CoordinatedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState):
Changed the timeout parameter to std::chrono::milliseconds

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