Add better comments to code that boosts the NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=128431

Rubber stamped by Tim Horton

* Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
(WebKit::XPCServiceEventHandler):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
(WebKit::XPCServiceEventHandler):
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::connectToService):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163684 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unify JSLock implementation for iOS and non-iOS ports.
<https://webkit.org/b/128409>

Reviewed by Michael Saboff.

The iOS and non-iOS implementations of dropAllLocks(),
dropAllLocksUnconditionally(), and grabAllLocks() effectively do the
same work. The main difference is that the iOS implementation acquires
the JSLock spin lock in the DropAllLocks class while the other ports
acquire it when it calls JSLock::lock() and unlock().

The other difference is that the iOS implementation will only increment
m_locksDropDepth if it actually drops locks, whereas other ports will
increment it unconditionally. Analogously, iOS decrements the depth only
when needed while other ports will decrement it unconditionally when
re-grabbing locks.

We can unify the 2 implementations by having both use the iOS
implementation for a start.

* runtime/JSLock.cpp:
(JSC::JSLock::dropAllLocks):
(JSC::JSLock::dropAllLocksUnconditionally):
(JSC::JSLock::grabAllLocks):
(JSC::JSLock::DropAllLocks::DropAllLocks):
(JSC::JSLock::DropAllLocks::~DropAllLocks):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163685 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Per CSSOM, computed rect() function values must be comma separated
https://bugs.webkit.org/show_bug.cgi?id=128401

Reviewed by Simon Fraser.

Updated tests.

* css/Rect.h:
(WebCore::Rect::generateCSSString):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163686 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fix for the GTK+ CMake build

* PlatformGTK.cmake: VTTCue.idl was unintentionally added to the list of GObject DOM bindings
output files. Remove it.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163687 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge database-common.js and utility.js into run-tests.js.

Reviewed by Matthew Hanson.

Now that run-tests is the only node.js script, merged database-common.js and utility.js into it.
Also moved init-database.sql out of the database directory and removed the directory entirely.

* database: Removed.
* database/database-common.js: Removed.
* database/utility.js: Removed.
* init-database.sql: Moved from database/init-database.sql.
* run-tests.js:
(connect): Moved from database-common.js.
(pathToDatabseSQL): Extracted from pathToLocalScript.
(pathToTests): Moved from database-common.js.
(config): Ditto.
(TaskQueue): Ditto.
(SerializedTaskQueue): Ditto.
(main):
(initializeDatabase):
(TestEnvironment.it):
(TestEnvironment.queryAndFetchAll):
(sendHttpRequest):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163688 268f45cc-cd09-0410-ab3c-d52691b4dbfc
FrameSelection's destructor shouldn't notify accessibility
https://bugs.webkit.org/show_bug.cgi?id=128421

Reviewed by Benjamin Poulain.

Extracted setSelectionWithoutUpdatingAppearance out of setSelection and called it in prepareForDestruction
instead of setting DoNotUpdateAppearance option. This new function doesn't reveal selection or notify
accessibility code in addition to not updating appearance.

Note that all implementations of notifyAccessibilityForSelectionChange in FrameSelectionAtk.cpp and
FrameSelectionMac.mm exit early when the selection type is not caret or either start or end is null,
which is already the case inside FrameSelection's destructor. In addition, revealSelection is never called
when selection change was not triggered by user so there should be no behavioral change from this patch.

* editing/FrameSelection.cpp:
(WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
(WebCore::FrameSelection::setSelection):
(WebCore::FrameSelection::prepareForDestruction):
* editing/FrameSelection.h:
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange): Added the trivial implementation in the case
accessibility is disabled to tidy up call sites.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163689 268f45cc-cd09-0410-ab3c-d52691b4dbfc
EFL build fix attempt after r163662.

* Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
(WebCore::IDBLevelDBCoding::encodeIDBKey):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163690 268f45cc-cd09-0410-ab3c-d52691b4dbfc
GC should safepoint the DFG worklist in a smarter way rather than just waiting for everything to complete
https://bugs.webkit.org/show_bug.cgi?id=128297

Reviewed by Oliver Hunt.
        
This makes DFG worklist threads have a rightToRun lock that gives them the ability to
be safepointed by the GC in much the same way as you'd expect from a fully
multithreaded VM.
        
The idea is that the worklist threads's roots are the DFG::Plan. They only touch those
roots when holding the rightToRun lock. They currently grab that lock to run the
compiler, but relinquish it when accessing - and waiting on - the worklist.

* bytecode/CodeBlock.h:
(JSC::CodeBlockSet::mark):
* dfg/DFGCompilationKey.cpp:
(JSC::DFG::CompilationKey::visitChildren):
* dfg/DFGCompilationKey.h:
* dfg/DFGDesiredStructureChains.cpp:
(JSC::DFG::DesiredStructureChains::visitChildren):
* dfg/DFGDesiredStructureChains.h:
* dfg/DFGDesiredTransitions.cpp:
(JSC::DFG::DesiredTransition::visitChildren):
(JSC::DFG::DesiredTransitions::visitChildren):
* dfg/DFGDesiredTransitions.h:
* dfg/DFGDesiredWeakReferences.cpp:
(JSC::DFG::DesiredWeakReferences::visitChildren):
* dfg/DFGDesiredWeakReferences.h:
* dfg/DFGDesiredWriteBarriers.cpp:
(JSC::DFG::DesiredWriteBarrier::visitChildren):
(JSC::DFG::DesiredWriteBarriers::visitChildren):
* dfg/DFGDesiredWriteBarriers.h:
* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::visitChildren):
* dfg/DFGPlan.h:
* dfg/DFGWorklist.cpp:
(JSC::DFG::Worklist::~Worklist):
(JSC::DFG::Worklist::finishCreation):
(JSC::DFG::Worklist::suspendAllThreads):
(JSC::DFG::Worklist::resumeAllThreads):
(JSC::DFG::Worklist::visitChildren):
(JSC::DFG::Worklist::runThread):
(JSC::DFG::Worklist::threadFunction):
* dfg/DFGWorklist.h:
(JSC::DFG::numberOfWorklists):
(JSC::DFG::worklistForIndexOrNull):
* heap/CodeBlockSet.h:
* heap/Heap.cpp:
(JSC::Heap::markRoots):
(JSC::Heap::collect):
* runtime/IntendedStructureChain.cpp:
(JSC::IntendedStructureChain::visitChildren):
* runtime/IntendedStructureChain.h:
* runtime/VM.cpp:
(JSC::VM::~VM):
(JSC::VM::prepareToDiscardCode):



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