[iOS WebKit2] Flush RemoteLayerBackingStore contexts on a secondary queue
https://bugs.webkit.org/show_bug.cgi?id=132667
<rdar://problem/15349483>

* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::create):
Address a missed review comment about a missing std::move.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168544 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Follow-up build fix.

* Scripts/build-webkit:
WebKit2 should no longer be built before WebKit.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168545 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Another build fix.

* Scripts/build-webkit:
WebKit2 should always be built for OS X and iOS.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168546 268f45cc-cd09-0410-ab3c-d52691b4dbfc
com.apple.iphonesimulator.startSession needs to pass "RuntimeIdentifier"
https://bugs.webkit.org/show_bug.cgi?id=132718

Reviewed by David Kilzer.

The simulator may not be able to look up runtimes by SDK paths
and instead will map SDK versions to runtimes instead. In
com.apple.iphonesimulator.startSession notifications,
'runtimeIdentifier' (SDK version string) is preferred over
'sdkRoot' (SDK path) anyway. Include the 'runtimeIdentifier' key
when creating a new DRT or WKTR simulator session.

IPhoneSimulatorNotification.pm filters out keys for this
notification's userInfo with a hard-coded list. There's no harm
in including extra key-value pairs in an NSNotification userInfo
dictionary anyway and the simulator may again change its
userInfo schema for this notification.

* DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/lib/IPhoneSimulatorNotification.pm:
(postStartSessionNotification):
* Scripts/old-run-webkit-tests:
(installAndLaunchDumpToolAppUsingNotification):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168547 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JSDOMWindow should have a WatchpointSet to fire on window close
https://bugs.webkit.org/show_bug.cgi?id=132721

Reviewed by Filip Pizlo.


Source/JavaScriptCore: 
This patch allows us to reset the inline caches that assumed they could skip 
the first part of JSDOMWindow::getOwnPropertySlot that checks if the window has 
been closed. This is part of getting rid of HasImpureGetOwnPropertySlot on JSDOMWindow.

PropertySlot now accepts a WatchpointSet which the inline cache code can look for
to see if it should create a new Watchpoint for that particular inline cache site.

* bytecode/Watchpoint.h:
* jit/Repatch.cpp:
(JSC::generateByIdStub):
(JSC::tryBuildGetByIDList):
(JSC::tryCachePutByID):
(JSC::tryBuildPutByIdList):
* runtime/PropertySlot.h:
(JSC::PropertySlot::PropertySlot):
(JSC::PropertySlot::watchpointSet):
(JSC::PropertySlot::setWatchpointSet):

Source/WebCore: 
No new tests.

This patch allows us to reset the inline caches that assumed they could skip 
the first part of JSDOMWindow::getOwnPropertySlot that checks if the window has 
been closed. This is part of getting rid of HasImpureGetOwnPropertySlot on JSDOMWindow.

JSDOMWindowBase now has a WatchpointSet that the underlying DOMWindow fires when its
frame is cleared. In getOwnPropertySlot, we now pass this WatchpointSet to PropertySlot
which will shepherd it back up to the code that generates the inline cache (and the 
Watchpoint for clearing it).

* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::JSDOMWindowBase):
(WebCore::JSDOMWindowBase::fireFrameClearedWatchpointsForWindow):
* bindings/js/JSDOMWindowBase.h:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertySlot):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::frameDestroyed):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168548 268f45cc-cd09-0410-ab3c-d52691b4dbfc
8.8% spent in Object.prototype.hasOwnProperty() on sbperftest.
<https://webkit.org/b/132749>

Leverage the fast-resolve-to-AtomicString optimization for JSRopeString
in Object.prototype.* by using JSString::toIdentifier() in the cases where
we are converting JSString -> String -> Identifier.

This brings time spent in hasOwnProperty() from 8.8% to 1.3% on
"The Great HTML5 Gaming Performance Test: 2014 edition"
<http://www.scirra.com/demos/c2/sbperftest/>

Reviewed by Oliver Hunt.

* runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncHasOwnProperty):
(JSC::objectProtoFuncDefineGetter):
(JSC::objectProtoFuncDefineSetter):
(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168549 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Production build fix.

Reviewed by Dan Bernstein.

* Configurations/BaseTarget.xcconfig:
Add SDKROOT in front of UMBRELLA_FRAMEWORKS_DIR for OS X Production builds.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168550 268f45cc-cd09-0410-ab3c-d52691b4dbfc
{TelephoneNumber, Selection}ControllerMac implementations dosn't handle tiled drawing properly.
https://bugs.webkit.org/show_bug.cgi?id=132746
<rdar://problem/16789588>

Reviewed by Tim Horton.

Don't try to draw the detector UI if no part of the selection bounds are inside
the current tile. Don't limit the detector UI to the bounds of this tile, or else
it will attempt to squeeze itself into the possibly small space available. Let it
draw as if it had the whole screen, and rely on the context clip region to
avoid overdrawing.

* WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm:
(WebKit::TelephoneNumberOverlayController::drawRect): Correct tiled drawing behavior.
* WebProcess/WebPage/mac/SelectionOverlayControllerMac.mm:
(WebKit::SelectionOverlayController::drawRect): Ditto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168551 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix the iOS DRT build by including CG headers in WKPreferences.h, which uses CGFloat.

* UIProcess/API/Cocoa/WKPreferences.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168552 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Expose functions necessary for copying favicon between IconDatabases.
https://bugs.webkit.org/show_bug.cgi?id=132709

Patch by Gordon Sheridan <gordon_sheridan@apple.com> on 2014-05-09
Reviewed by Brady Eidson.

* UIProcess/API/C/WKIconDatabase.cpp:
(WKIconDatabaseSetIconURLForPageURL):
Add C API wrapper for WebIconDatabase::setIconURLForPageURL().

(WKIconDatabaseCopyIconURLForPageURL):
Add C API wrapper for WebIconDatabase::synchronousIconURLForPageURL().

* UIProcess/API/C/WKIconDatabase.h:
Added declarations for wrapper functions above.

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