Enable LLVM stackmap liveOuts computation
https://bugs.webkit.org/show_bug.cgi?id=130821

Reviewed by Andy Estes and Sam Weinig.

* ftl/FTLStackMaps.cpp:
(JSC::FTL::StackMaps::Record::dump):
* llvm/library/LLVMExports.cpp:
(initializeAndGetJSCLLVMAPI):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166359 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Connection::dispatchOneMessage() can be re-entered while handling Cmd-key menu
equivalents, ASSERT(!_data->_keyDownEventBeingResent)
https://bugs.webkit.org/show_bug.cgi?id=130767
<rdar://problem/16307487>

Source/WebCore: 

Added a wrapper for RunLoop::initializeMainThread that also adds modal run loop
mode to it on Mac.

* CMakeLists.txt:
* WebCore.exp.in:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* platform/MainRunLoop.cpp: Added.
(WebCore::initializeMainRunLoop):
* platform/MainRunLoop.h: Added.
* platform/mac/MainRunLoop.mm: Added.
(WebCore::initializeMainRunLoop):

Source/WebKit/mac: 

Reviewed by Darin Adler.

Switched to a WebCore wrapper for RunLoop::initializeMainRunLoop that adds
NSModalPanelRunLoopMode to RunLoop event source and timer modes.

* Carbon/CarbonWindowAdapter.mm: (+[CarbonWindowAdapter initialize]):
* History/WebBackForwardList.mm: (+[WebBackForwardList initialize]):
* History/WebHistoryItem.mm: (+[WebHistoryItem initialize]):
* Misc/WebCache.mm: (+[WebCache initialize]):
* Misc/WebElementDictionary.mm: (+[WebElementDictionary initialize]):
* Misc/WebIconDatabase.mm: (+[WebIconDatabase initialize]):
* Plugins/Hosted/WebHostedNetscapePluginView.mm: (+[WebHostedNetscapePluginView initialize]):
* Plugins/WebBaseNetscapePluginView.mm:
* Plugins/WebBasePluginPackage.mm:
* Plugins/WebNetscapePluginView.mm: (+[WebNetscapePluginView initialize]):
* WebCoreSupport/WebEditorClient.mm: (+[WebUndoStep initialize]):
* WebCoreSupport/WebFrameLoaderClient.mm:
* WebView/WebArchive.mm: (+[WebArchivePrivate initialize]):
* WebView/WebDataSource.mm: (+[WebDataSource initialize]):
* WebView/WebHTMLView.mm:
(+[WebHTMLViewPrivate initialize]):
(+[WebHTMLView initialize]):
* WebView/WebPreferences.mm: (+[WebPreferences initialize]):
* WebView/WebResource.mm: (+[WebResourcePrivate initialize]):
* WebView/WebTextIterator.mm: (+[WebTextIteratorPrivate initialize]):
* WebView/WebView.mm: (+[WebView initialize]):
* WebView/WebViewData.mm: (+[WebViewPrivate initialize]):

Source/WebKit2: 

Reviewed by Darin Adler.

* Shared/WebKit2Initialize.cpp: (WebKit::InitializeWebKit2): Added NSModalPanelRunLoopMode
to RunLoop event source and timer modes.

Source/WTF: 

Reviewed by Darin Adler.

Changed RunLoop to wake up and fire timers only in default run loop mode by default,
and added an ability to add more modes (can't use AppKit symbols in WTF).

In addition to this bug, the change also blocks modal alerts from appearing under
menus during menu tracking.

* wtf/RunLoop.h:
* wtf/cf/RunLoopCF.cpp:
(WTF::RunLoop::RunLoop):
(WTF::RunLoop::addModeForWakeUpAndTimers):
(WTF::RunLoop::TimerBase::start):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rename WKFrameHandle to _WKFrameHandle
https://bugs.webkit.org/show_bug.cgi?id=130847

Reviewed by Tim Horton.

* Shared/API/Cocoa/_WKFrameHandle.h: Renamed from Source/WebKit2/Shared/API/Cocoa/WKFrameHandle.h.
* Shared/API/Cocoa/_WKFrameHandle.mm: Renamed from Source/WebKit2/Shared/API/Cocoa/WKFrameHandle.mm.
(-[_WKFrameHandle dealloc]):
(-[_WKFrameHandle isEqual:]):
(-[_WKFrameHandle hash]):
(-[_WKFrameHandle _frameID]):
(-[_WKFrameHandle copyWithZone:]):
(+[_WKFrameHandle supportsSecureCoding]):
(-[_WKFrameHandle initWithCoder:]):
(-[_WKFrameHandle encodeWithCoder:]):
(-[_WKFrameHandle API::]):
* Shared/API/Cocoa/_WKFrameHandleInternal.h: Renamed from Source/WebKit2/Shared/API/Cocoa/WKFrameHandleInternal.h.
(WebKit::wrapper):
* Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h:
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
(+[WKWebProcessPlugInFrame lookUpFrameFromHandle:]):
(-[WKWebProcessPlugInFrame handle]):
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166361 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix a crash caused by track insertion after load()
https://bugs.webkit.org/show_bug.cgi?id=130777

Reviewed by Eric Carlson.

Test: media/track/track-insert-after-load-crash.html

Based on the Blink change (patch by acolwell@chromium.org):
https://codereview.chromium.org/211373009/

Source/WebCore:

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute): Remove stale LoadMediaResource flag after explicit load.

LayoutTests:

* media/track/track-insert-after-load-crash-expected.txt: Added.
* media/track/track-insert-after-load-crash.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166362 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Win] Correct handling of autogenerated WebInspectorUI files
https://bugs.webkit.org/show_bug.cgi?id=130846

Reviewed by Joseph Pecoraro.

* WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Files need to be placed in the
'Protocol' subdirectory of the WebInspectorUI directory.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166363 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Operator stretching: expose a math data API
https://bugs.webkit.org/show_bug.cgi?id=130572

Reviewed by Chris Fleizach.

We expose a new SimpleFontData API to give access to the data from the
OpenType MATH table using a font cache. The class OpenTypeMathData will
be implemented in bug 130324. On Darwin platform, we also implement the
missing FontPlatformData::openTypeTable function which will be necessary
to load the OpenType MATH table. The changes are intended to be used
for MathML operator stretching (bug 130322) so tests are not added yet.

* CMakeLists.txt: add new OpenTypeMathData files.
* WebCore.vcxproj/WebCore.vcxproj: ditto.
* WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
* WebCore.xcodeproj/project.pbxproj: ditto.
* platform/graphics/FontCache.cpp: We add a FontCache::getMathData function to implement a cache for the math data.
We make the math and vertical data share the same key for the cache.
(WebCore::fontMathDataCacheInstance):
(WebCore::FontCache::getMathData):
(WebCore::fontVerticalDataCacheInstance):
* platform/graphics/FontCache.h: We declare FontCache::getMathData and FontFileKey on all platforms.
* platform/graphics/FontPlatformData.cpp:
(WebCore::FontPlatformData::openTypeTable): We implement openTypeTable() on Darwin platform.
* platform/graphics/FontPlatformData.h: We expose openTypeTable() on Darwin platform.
* platform/graphics/SimpleFontData.cpp: We initialize m_mathData from the font cache.
(WebCore::SimpleFontData::SimpleFontData):
* platform/graphics/SimpleFontData.h: We expose a mathData() function to access the MATH data.
* platform/graphics/opentype/OpenTypeMathData.cpp: Added. This is a new class that will be used to parse the data from the OpenType MATH table.
(WebCore::OpenTypeMathData::OpenTypeMathData):
* platform/graphics/opentype/OpenTypeMathData.h: Added.
(WebCore::OpenTypeMathData::create):
(WebCore::OpenTypeMathData::hasMathData):

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