ryanhaddad@apple.com [Fri, 6 Nov 2015 16:47:45 +0000 (16:47 +0000)]
Marking three sputnik/Conformance tests as flaky timeouts on win debug
https://bugs.webkit.org/show_bug.cgi?id=150973
Unreviewed test gardening.
* platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192105
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Fri, 6 Nov 2015 16:41:16 +0000 (16:41 +0000)]
Fixing typo in win TestExpectations file
https://bugs.webkit.org/show_bug.cgi?id=150949
Unreviewed test gardening.
* platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192104
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mario@webkit.org [Fri, 6 Nov 2015 16:25:50 +0000 (16:25 +0000)]
Layout Test accessibility/win/linked-elements.html is crashing on win debug
https://bugs.webkit.org/show_bug.cgi?id=150944
Reviewed by Chris Fleizach.
Source/WebCore:
Be more precise ASSERTing on textUnderElement, only checking that the render
tree is stable before using TextIteraror when in 'IncludeAllChildren' mode.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::textUnderElement):
LayoutTests:
Removed accessibility/win/linked-elements.html crashing expectation.
* platform/win/TestExpectations: Removed crashing expectation.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192103
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Fri, 6 Nov 2015 14:51:48 +0000 (14:51 +0000)]
[GStreamer] Use MainThreadNotifier to send notifications to main thread in WebKitWebSourceGStreamer
https://bugs.webkit.org/show_bug.cgi?id=150890
Reviewed by Žan Doberšek.
Instead of the GThreadSafeMainLoopSources.
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcStop):
(webKitWebSrcChangeState):
(webKitWebSrcNeedData):
(webKitWebSrcEnoughData):
(webKitWebSrcSeek):
(StreamingClient::handleResponseReceived):
(StreamingClient::handleDataReceived):
(StreamingClient::handleNotifyFinished):
(webKitWebSrcFinalize): Deleted.
(webKitWebSrcSetProperty): Deleted.
(webKitWebSrcGetProperty): Deleted.
(webKitWebSrcSetExtraHeader): Deleted.
(webKitWebSrcStart): Deleted.
(webKitWebSrcGetProtocols): Deleted.
(webKitWebSrcGetUri): Deleted.
(webKitWebSrcSetUri): Deleted.
(webKitWebSrcUriHandlerInit): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192102
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Fri, 6 Nov 2015 14:17:19 +0000 (14:17 +0000)]
[GStreamer] Use MainThreadNotifier to send notifications to main thread in TrackPrivateGStreamer
https://bugs.webkit.org/show_bug.cgi?id=150889
Reviewed by Žan Doberšek.
Instead of the GThreadSafeMainLoopSources.
* platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
(WebCore::InbandTextTrackPrivateGStreamer::InbandTextTrackPrivateGStreamer):
(WebCore::InbandTextTrackPrivateGStreamer::handleSample):
(WebCore::InbandTextTrackPrivateGStreamer::streamChanged):
* platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
* platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
(WebCore::TrackPrivateBaseGStreamer::TrackPrivateBaseGStreamer):
(WebCore::TrackPrivateBaseGStreamer::disconnect):
(WebCore::TrackPrivateBaseGStreamer::activeChangedCallback):
(WebCore::TrackPrivateBaseGStreamer::tagsChangedCallback):
(WebCore::TrackPrivateBaseGStreamer::tagsChanged):
(WebCore::TrackPrivateBaseGStreamer::~TrackPrivateBaseGStreamer): Deleted.
(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfActiveChanged): Deleted.
* platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192101
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Fri, 6 Nov 2015 13:07:32 +0000 (13:07 +0000)]
Suppress deprecated-declarations warning in WebCore/platform/URL.cpp
https://bugs.webkit.org/show_bug.cgi?id=150803
Reviewed by Alexey Proskuryakov.
* platform/URL.cpp:
(WebCore::appendEncodedHostname):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192100
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Fri, 6 Nov 2015 12:56:02 +0000 (12:56 +0000)]
[GStreamer] Do not use GThreadSafeMainLoopSource to send notifications to the main thread in MediaPlayerPrivateGStreamer
https://bugs.webkit.org/show_bug.cgi?id=150888
Reviewed by Žan Doberšek.
Analyzing how the main loop sources were used in GST code I've
noticed that in most of the cases they are used to send
notifications to the main thread. The way it works in those cases
is that some state is updated in whatever thread and we notify the
main thread to use the new state. There's no data passed to the
main thread, they are just notifications. I've also noticed that
we are not doing this exactly as expected in several of those
cases. GThreadSafeMainLoopSource cancels the current source when a
new one is scheduled, and that was done this way because previous
code in GST using GSources directly did it that way. But that's
not what we want, if there's a notification pending, since the
state is updated, we can just wait for it to happen instead of
cancelling and scheduling a new one. I've also noticed that in
most of the cases where we schedule notifications to the main
thread, we can be already in the main thread, so we could avoid
the schedule entirely.
We can use RunLoop::dispatch() to send notifications to the main
thread, but there's no way to cancel those tasks. This patch adds
a new helper class MainThreadNotifier that uses an enum of flags to
handle different kind of notifications. It uses
RunLoop::dispatch() to send notifications to the main thread, but
only if there isn't one pending for the given type.
This patch also makes signal callbacks static members to be able
to make the private methods actually private.
* platform/graphics/gstreamer/MainThreadNotifier.h: Added.
(WebCore::MainThreadNotifier::MainThreadNotifier):
(WebCore::MainThreadNotifier::notify):
(WebCore::MainThreadNotifier::cancelPendingNotifications):
(WebCore::MainThreadNotifier::addPendingNotification):
(WebCore::MainThreadNotifier::removePendingNotification):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::setAudioStreamPropertiesCallback):
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::videoChangedCallback):
(WebCore::MediaPlayerPrivateGStreamer::videoSinkCapsChangedCallback):
(WebCore::MediaPlayerPrivateGStreamer::audioChangedCallback):
(WebCore::MediaPlayerPrivateGStreamer::textChangedCallback):
(WebCore::MediaPlayerPrivateGStreamer::newTextSampleCallback):
(WebCore::MediaPlayerPrivateGStreamer::sourceChangedCallback):
(WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
(WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine): Deleted.
(WebCore::initializeGStreamerAndRegisterWebKitElements): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::load): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfText): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::canSaveMediaData): Deleted.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::volumeChangedCallback):
(WebCore::MediaPlayerPrivateGStreamerBase::muteChangedCallback):
(WebCore::MediaPlayerPrivateGStreamerBase::repaintCallback):
(WebCore::MediaPlayerPrivateGStreamerBase::drawCallback):
(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
(WebCore::MediaPlayerPrivateGStreamerBase::setStreamVolumeElement):
(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase): Deleted.
(WebCore::MediaPlayerPrivateGStreamerBase::setPipeline): Deleted.
(WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage): Deleted.
(WebCore::MediaPlayerPrivateGStreamerBase::muted): Deleted.
(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): Deleted.
(WebCore::MediaPlayerPrivateGStreamerBase::droppedFrameCount): Deleted.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
(WebCore::MediaPlayerPrivateGStreamerBase::setVisible): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192099
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yoav@yoav.ws [Fri, 6 Nov 2015 11:05:55 +0000 (11:05 +0000)]
Expose HTMLImageElement sizes attribute in IDL
https://bugs.webkit.org/show_bug.cgi?id=150230
Reviewed by Darin Adler.
No new tests, but fixed test expectations for exposed interfaces.
* html/HTMLImageElement.idl: Make sure that `sizes` is exposed as an IDL attribute, to ensure proper feature detection of sizes support.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192098
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Fri, 6 Nov 2015 11:00:23 +0000 (11:00 +0000)]
Unreviewed, GTK build fix after r192095.
* Source/cmake/FindGTK3.cmake:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192097
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 6 Nov 2015 09:48:45 +0000 (09:48 +0000)]
[GTK] Fails to link libwebkit2gtkinjectedbundle.so on OSX
https://bugs.webkit.org/show_bug.cgi?id=144785
Patch by Philip Chimento <philip.chimento@gmail.com> on 2015-11-06
Reviewed by Philippe Normand.
* PlatformGTK.cmake: Add missing WebKit2 library to list of
libraries to link with. Required for OSX build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192096
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mcatanzaro@igalia.com [Fri, 6 Nov 2015 09:39:30 +0000 (09:39 +0000)]
[GTK] Re-enable Quartz backend on cmake build system
https://bugs.webkit.org/show_bug.cgi?id=144561
Reviewed by Philippe Normand.
* Source/cmake/FindGTK3.cmake: Set GTK3_SUPPORTS_QUARTZ based on
the presence of of gtk+-quartz-3.0 module.
* Source/cmake/OptionsGTK.cmake: Reintroduce the
ENABLE_QUARTZ_TARGET option to the CMake build, for building the
GTK+ Quartz backend on OS X.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192095
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Fri, 6 Nov 2015 07:28:00 +0000 (07:28 +0000)]
[GStreamer] Use RunLoop::Timer instead of GMainLoopSource in video sink
https://bugs.webkit.org/show_bug.cgi?id=150807
Reviewed by Žan Doberšek.
Since we always wait until the sample is actually rendered we
don't really need either a thread safe main loop source, nor
cancelling if already requested and other things GMainLoopSource does.
This adds a helper class VideoRenderRequestScheduler to use the
RunLoop::Timer. All the logic to syncronize between threads has
been moved to this helper class too.
* platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
(VideoRenderRequestScheduler::VideoRenderRequestScheduler):
(VideoRenderRequestScheduler::start):
(VideoRenderRequestScheduler::stop):
(VideoRenderRequestScheduler::requestRender):
(VideoRenderRequestScheduler::isUnlocked):
(VideoRenderRequestScheduler::render):
(_WebKitVideoSinkPrivate::_WebKitVideoSinkPrivate):
(webkitVideoSinkRepaintRequested):
(webkitVideoSinkRender):
(webkitVideoSinkUnlock):
(webkitVideoSinkUnlockStop):
(webkitVideoSinkStop):
(webkitVideoSinkStart):
(_WebKitVideoSinkPrivate::~_WebKitVideoSinkPrivate): Deleted.
(webkitVideoSinkTimeoutCallback): Deleted.
(unlockSampleMutex): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192094
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 6 Nov 2015 05:58:52 +0000 (05:58 +0000)]
Add runtime and compile time flags for enabling Web Animations API and model.
https://bugs.webkit.org/show_bug.cgi?id=150914
Patch by Nikos Andronikos <nikos.andronikos-webkit@cisra.canon.com.au> on 2015-11-05
Reviewed by Benjamin Poulain.
Add ENABLE_WEB_ANIMATIONS compile time flag, runtime flag webAnimationsEnabled and Expose WK2 preference for runtime flag.
.:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:
Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig:
Source/WebCore:
* Configurations/FeatureDefines.xcconfig:
* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setWebAnimationsEnabled):
(WebCore::RuntimeEnabledFeatures::webAnimationsEnabled):
Source/WebKit/mac:
* Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
* Configurations/FeatureDefines.xcconfig:
* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetWebAnimationsEnabled):
(WKPreferencesGetWebAnimationsEnabled):
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
(WebKit::InjectedBundle::setWebAnimationsEnabled):
* WebProcess/InjectedBundle/InjectedBundle.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Source/WTF:
* wtf/FeatureDefines.h:
Tools:
* Scripts/webkitperl/FeatureList.pm:
WebKitLibraries:
* win/tools/vsprops/FeatureDefines.props:
* win/tools/vsprops/FeatureDefinesCairo.props:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192093
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sukolsak@gmail.com [Fri, 6 Nov 2015 05:52:41 +0000 (05:52 +0000)]
Layout Test js/intl-collator.html is crashing on win 7 debug
https://bugs.webkit.org/show_bug.cgi?id=150943
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
The string length returned by ICU's uenum_next seems to be unreliable
on an old version of ICU. Since uenum_next returns a null-terminated
string anyway, this patch removes the use of the length.
* runtime/IntlCollatorConstructor.cpp:
(JSC::sortLocaleData):
LayoutTests:
* platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192092
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryuan.choi@navercorp.com [Fri, 6 Nov 2015 04:31:49 +0000 (04:31 +0000)]
[EFL] Separate beforeunload confirm callback from confirm callback
https://bugs.webkit.org/show_bug.cgi?id=150964
Reviewed by Gyuyoung Kim.
Source/WebKit2:
Browser may need to distinguish between beforeunload confirm panel and general confirm panel.
For example, browser may want to modify the message or show different buttons from confirm panel
such as "Stay Page | Leave Page".
* UIProcess/API/efl/EwkView.cpp:
(EwkView::requestJSBeforeUnloadConfirmPopup):
* UIProcess/API/efl/EwkView.h:
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):
* UIProcess/efl/PageUIClientEfl.cpp:
(WebKit::PageUIClientEfl::runBeforeUnloadConfirmPanel):
Tools:
* MiniBrowser/efl/main.c:
(on_javascript_before_unload_confirm):
(window_create):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192091
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 6 Nov 2015 04:25:39 +0000 (04:25 +0000)]
Unreviewed, rolling out r192089.
https://bugs.webkit.org/show_bug.cgi?id=150966
This change broke an existing layout test on Yosemite and
Mavericks (Requested by ryanhaddad on #webkit).
Reverted changeset:
"Preview on apple.com/contact with all text selected shows a
map"
https://bugs.webkit.org/show_bug.cgi?id=150963
http://trac.webkit.org/changeset/192089
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192090
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Fri, 6 Nov 2015 00:38:32 +0000 (00:38 +0000)]
Preview on apple.com/contact with all text selected shows a map
https://bugs.webkit.org/show_bug.cgi?id=150963
<rdar://problem/
23421750>
Reviewed by Beth Dakin.
* editing/mac/DictionaryLookup.h:
* editing/mac/DictionaryLookup.mm:
(WebCore::DictionaryLookup::rangeForSelection):
If the range that Lookup decides to use doesn't intersect the hit point,
just ignore Lookup.
(WebCore::DictionaryLookup::rangeAtHitTestResult):
If the selection-based Lookup fails to find a usable result, fall back
to looking around the hit point.
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performDictionaryLookupForSelection):
In this case, we don't know where we hit, so pass a null VisiblePosition.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192089
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Fri, 6 Nov 2015 00:13:57 +0000 (00:13 +0000)]
Unreviewed, add FIXMEs referencing https://bugs.webkit.org/show_bug.cgi?id=150958 and
https://bugs.webkit.org/show_bug.cgi?id=150954.
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::createGenericCompare):
* b3/B3ReduceStrength.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192088
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jmarcell@apple.com [Fri, 6 Nov 2015 00:06:56 +0000 (00:06 +0000)]
run-webkit-test should look in --root directory for LayoutTestRelay
https://bugs.webkit.org/show_bug.cgi?id=150859
Reviewed by Daniel Bates.
For iOS run-webkit-tests, use LayoutTestRelay specified by --root; otherwise find
LayoutTestRelay in the Mac build directory when --root is unspecified.
* Scripts/webkitpy/port/base.py:
(Port._build_path): Use '_cached_root' instead of 'root' so that we don't overwrite the
argument that was passed in via the --root argument.
* Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort.relay_path):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192087
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Fri, 6 Nov 2015 00:03:59 +0000 (00:03 +0000)]
Web Inspector: Convert remaining ContentViews to View base class
https://bugs.webkit.org/show_bug.cgi?id=150729
Reviewed by Brian Burg.
Refactor content views to reuse View features: remove updateLayout and
element getters, and use View.prototype.addSubview and removeSubview
where appropriate.
* UserInterface/Views/ApplicationCacheFrameContentView.js:
(WebInspector.ApplicationCacheFrameContentView.prototype._createDataGrid):
* UserInterface/Views/ClusterContentView.js:
(WebInspector.ClusterContentView):
(WebInspector.ClusterContentView.prototype.updateLayout): Deleted.
* UserInterface/Views/CookieStorageContentView.js:
(WebInspector.CookieStorageContentView.prototype._rebuildTable):
(WebInspector.CookieStorageContentView.prototype.updateLayout): Deleted.
* UserInterface/Views/DOMStorageContentView.js:
(WebInspector.DOMStorageContentView):
(WebInspector.DOMStorageContentView.prototype.updateLayout): Deleted.
* UserInterface/Views/DOMTreeContentView.js:
(WebInspector.DOMTreeContentView.prototype.layout):
(WebInspector.DOMTreeContentView.prototype.updateLayout): Deleted.
* UserInterface/Views/DatabaseTableContentView.js:
(WebInspector.DatabaseTableContentView):
(WebInspector.DatabaseTableContentView.prototype._queryFinished):
(WebInspector.DatabaseTableContentView.prototype._queryError):
* UserInterface/Views/FontResourceContentView.js:
(WebInspector.FontResourceContentView.prototype.layout):
(WebInspector.FontResourceContentView):
(WebInspector.FontResourceContentView.prototype.updateLayout): Deleted.
* UserInterface/Views/IndexedDatabaseObjectStoreContentView.js:
(WebInspector.IndexedDatabaseObjectStoreContentView):
(WebInspector.IndexedDatabaseObjectStoreContentView.prototype.updateLayout): Deleted.
* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView.prototype.layout):
(WebInspector.LogContentView.prototype.updateLayout): Deleted.
* UserInterface/Views/NetworkGridContentView.js:
(WebInspector.NetworkGridContentView):
(WebInspector.NetworkGridContentView.prototype.needsLayout):
(WebInspector.NetworkGridContentView.prototype.layout):
(WebInspector.NetworkGridContentView.prototype.updateLayout): Deleted.
* UserInterface/Views/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView):
(WebInspector.OverviewTimelineView.prototype.layout): Deleted.
* UserInterface/Views/ScriptContentView.js:
(WebInspector.ScriptContentView.prototype._contentWillPopulate):
(WebInspector.ScriptContentView.prototype.updateLayout): Deleted.
* UserInterface/Views/TextContentView.js:
(WebInspector.TextContentView):
(WebInspector.TextContentView.prototype.updateLayout): Deleted.
* UserInterface/Views/TextEditor.js:
(WebInspector.TextEditor):
(WebInspector.TextEditor.prototype.layout):
(WebInspector.TextEditor.prototype.get element): Deleted.
(WebInspector.TextEditor.prototype.updateLayout): Deleted.
* UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView):
(WebInspector.TimelineRecordingContentView.prototype.layout):
(WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
(WebInspector.TimelineRecordingContentView.prototype.updateLayout): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192086
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Thu, 5 Nov 2015 23:20:37 +0000 (23:20 +0000)]
TestWebKitAPI crashed in TestWebKitAPI: TestWebKitAPI::SharedBufferTest_copyBufferCreatedWithContentsOfExistingFile_Test::TestBody
<http://webkit.org/b/150931>
<rdar://problem/
23409384>
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
(TestWebKitAPI::TEST_F(SharedBufferTest, copyBufferCreatedWithContentsOfExistingFile)):
- Switch from strnstr() to memcmp() since strings are
not guaranteed to be NULL-terminated.
- Add another expectation that the size is greater than
zero since memcmp() returns 0 (matching) if the length
argument is zero.
(TestWebKitAPI::TEST_F(SharedBufferTest, appendBufferCreatedWithContentsOfExistingFile)):
- Same change to keep tests consistent, although the
second string is NULL-terminated in this case.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192085
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Nov 2015 23:17:43 +0000 (23:17 +0000)]
Unreviewed, rolling out r192073.
https://bugs.webkit.org/show_bug.cgi?id=150962
"Broke the internal iOS build; will investigate offline"
(Requested by dydz on #webkit).
Reverted changeset:
"Teach Makefile to build LayoutTestRelay when building for iOS
Simulator"
https://bugs.webkit.org/show_bug.cgi?id=150849
http://trac.webkit.org/changeset/192073
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192084
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Thu, 5 Nov 2015 23:17:26 +0000 (23:17 +0000)]
_WKObservablePageState's _webProcessIsResponsive property isn't set to YES when an unresponsive page is reloaded
https://bugs.webkit.org/show_bug.cgi?id=150953
Reviewed by Anders Carlsson.
* UIProcess/ResponsivenessTimer.cpp:
(WebKit::ResponsivenessTimer::processTerminated): Call stop() to
indicate that we are responsive again. This gives the client a chance
to remove the SPOD cursor, among other things.
* UIProcess/ResponsivenessTimer.h:
(WebKit::ResponsivenessTimer::processTerminated): Anders told me to do this!
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::resetStateAfterProcessExited): Be sure to reset
the responsiveness timer too, or it will continue thinking we are
unresponsive after a crash or a forced load or reload.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192083
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Thu, 5 Nov 2015 23:01:03 +0000 (23:01 +0000)]
imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/event_loadeddata.html is a flaky timout
https://bugs.webkit.org/show_bug.cgi?id=150956
Unreviewed test gardening.
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192082
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 5 Nov 2015 22:44:44 +0000 (22:44 +0000)]
Move invocation argument encoding out to a separate function
https://bugs.webkit.org/show_bug.cgi?id=150950
Reviewed by Tim Horton.
* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(encodeInvocationArguments):
(encodeInvocation):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192081
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Thu, 5 Nov 2015 22:33:22 +0000 (22:33 +0000)]
Marking imported/blink/fast/css/transformed-overflow-hidden-clips-fixed.html as failing on win debug
https://bugs.webkit.org/show_bug.cgi?id=150949
Unreviewed test gardening.
* platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192080
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Thu, 5 Nov 2015 22:28:17 +0000 (22:28 +0000)]
Marking imported/blink/transitions/unprefixed-transform.html as flaky on win debug
https://bugs.webkit.org/show_bug.cgi?id=150948
Unreviewed test gardening.
* platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192079
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Nov 2015 22:21:19 +0000 (22:21 +0000)]
Using emitResolveScope & emitGetFromScope with 'this' that is TDZ lead to segfault in DFG
https://bugs.webkit.org/show_bug.cgi?id=150902
Patch by Aleksandr Skachkov <gskachkov@gmail.com> on 2015-11-05
Reviewed by Geoffrey Garen.
Tiny fix provided by Saam Barati. This fix prevent segfault error in arrow function,
when it uses in constructor of derived class, before 'super' is called.
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192078
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Thu, 5 Nov 2015 22:17:50 +0000 (22:17 +0000)]
Marking scrollbars/custom-scrollbar-appearance-property.html as a crash on win debug.
https://bugs.webkit.org/show_bug.cgi?id=150946
Unreviewed test gardening.
* platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192077
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nvasilyev@apple.com [Thu, 5 Nov 2015 22:14:52 +0000 (22:14 +0000)]
Web Inspector: Pretty print falsely triggers on some JS that wasn't minified
https://bugs.webkit.org/show_bug.cgi?id=150876
Change the minification detection heuristic. Look for the ratio of whitespace to
non-whitespace characters in the first 5000 characters.
The previous heuristic looked for lines longer than 500 characters. Not only it was
slower on large unminified files, it also had a false positive on unminified codemirror.js.
Reviewed by Timothy Hatcher.
* UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype._contentWillPopulate):
(WebInspector.SourceCodeTextEditor.prototype._isLikelyMinified):
Exit early if whitespace to non-whitespace ratio drops below 5%.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192076
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Thu, 5 Nov 2015 22:12:28 +0000 (22:12 +0000)]
Marking accessibility/win/linked-elements.html as a crash on win debug.
https://bugs.webkit.org/show_bug.cgi?id=150944
Unreviewed test gardening.
* platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192075
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Thu, 5 Nov 2015 22:00:42 +0000 (22:00 +0000)]
Marking js/intl-collator.html as a crash on win debug.
https://bugs.webkit.org/show_bug.cgi?id=150943
Unreviewed test gardening.
* platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192074
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Thu, 5 Nov 2015 22:00:16 +0000 (22:00 +0000)]
Teach Makefile to build LayoutTestRelay when building for iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=150849
Reviewed by Alexey Proskuryakov.
* LayoutTestRelay/Makefile: Temporarily override SDKROOT when it is iphonesimulator so
that we build with the default SDK. We assume that the default SDK is the OS X SDK.
* Makefile: Append LayoutTestRelay to the list of modules to build when building with
SDK iphonesimulator.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192073
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Thu, 5 Nov 2015 21:51:05 +0000 (21:51 +0000)]
B3->Air lowering should have a story for compare-branch fusion
https://bugs.webkit.org/show_bug.cgi?id=150721
Reviewed by Geoffrey Garen.
This adds comprehensive support for compares and compare/branch fusion to B3. The fusion is
super aggressive. It can even handle things like Branch(LessThan(Load8S(...), constant)). It
can even handle flipping the operands to the branch, and flipping the comparison condition,
if it enables a more efficient instruction. This happens when there is asymmetry in the
admitted argument kinds. For example, Branch32 will only accept an Imm as a second operand.
If we do a LessThan(constant, load) then we will generate it as:
Branch32 GreaterThan, (addr), $imm
This also supports compiling and fusing tests, and to some extent, compiling and fusing
double compares. Though we cannot test doubles yet because we don't have enough support for
that.
This also supports fusing compare/branches in Checks. We basically get that for free.
Because I wanted to fuse comparisons with sub-32-bit loads, I added support for those loads
directly, too.
The tests are now getting super big, so I made testb3 run tests in parallel.
Finally, this slightly changes the semantics of Branch and Check. Previously they would have
accepted a double to branch on. I found that this is awkward. It's especially awkward since
we want to be explicit about when a double zero constant is materialized. So, from now on, we
require that to branch on a double being non-zero, you have to do Branch(NotEqual(value, 0)).
* assembler/MacroAssembler.h:
(JSC::MacroAssembler::invert):
(JSC::MacroAssembler::isInvertible):
(JSC::MacroAssembler::flip):
(JSC::MacroAssembler::isSigned):
(JSC::MacroAssembler::isUnsigned):
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::test32):
(JSC::MacroAssemblerX86Common::invert):
* b3/B3CheckSpecial.cpp:
(JSC::B3::CheckSpecial::Key::Key):
(JSC::B3::CheckSpecial::Key::dump):
(JSC::B3::CheckSpecial::CheckSpecial):
(JSC::B3::CheckSpecial::~CheckSpecial):
* b3/B3CheckSpecial.h:
(JSC::B3::CheckSpecial::Key::Key):
(JSC::B3::CheckSpecial::Key::operator==):
(JSC::B3::CheckSpecial::Key::operator!=):
(JSC::B3::CheckSpecial::Key::operator bool):
(JSC::B3::CheckSpecial::Key::opcode):
(JSC::B3::CheckSpecial::Key::numArgs):
(JSC::B3::CheckSpecial::Key::isHashTableDeletedValue):
(JSC::B3::CheckSpecial::Key::hash):
(JSC::B3::CheckSpecialKeyHash::hash):
(JSC::B3::CheckSpecialKeyHash::equal):
* b3/B3Const32Value.cpp:
(JSC::B3::Const32Value::zShrConstant):
(JSC::B3::Const32Value::equalConstant):
(JSC::B3::Const32Value::notEqualConstant):
(JSC::B3::Const32Value::lessThanConstant):
(JSC::B3::Const32Value::greaterThanConstant):
(JSC::B3::Const32Value::lessEqualConstant):
(JSC::B3::Const32Value::greaterEqualConstant):
(JSC::B3::Const32Value::aboveConstant):
(JSC::B3::Const32Value::belowConstant):
(JSC::B3::Const32Value::aboveEqualConstant):
(JSC::B3::Const32Value::belowEqualConstant):
(JSC::B3::Const32Value::dumpMeta):
* b3/B3Const32Value.h:
* b3/B3Const64Value.cpp:
(JSC::B3::Const64Value::zShrConstant):
(JSC::B3::Const64Value::equalConstant):
(JSC::B3::Const64Value::notEqualConstant):
(JSC::B3::Const64Value::lessThanConstant):
(JSC::B3::Const64Value::greaterThanConstant):
(JSC::B3::Const64Value::lessEqualConstant):
(JSC::B3::Const64Value::greaterEqualConstant):
(JSC::B3::Const64Value::aboveConstant):
(JSC::B3::Const64Value::belowConstant):
(JSC::B3::Const64Value::aboveEqualConstant):
(JSC::B3::Const64Value::belowEqualConstant):
(JSC::B3::Const64Value::dumpMeta):
* b3/B3Const64Value.h:
* b3/B3ConstDoubleValue.cpp:
(JSC::B3::ConstDoubleValue::subConstant):
(JSC::B3::ConstDoubleValue::equalConstant):
(JSC::B3::ConstDoubleValue::notEqualConstant):
(JSC::B3::ConstDoubleValue::lessThanConstant):
(JSC::B3::ConstDoubleValue::greaterThanConstant):
(JSC::B3::ConstDoubleValue::lessEqualConstant):
(JSC::B3::ConstDoubleValue::greaterEqualConstant):
(JSC::B3::ConstDoubleValue::dumpMeta):
* b3/B3ConstDoubleValue.h:
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::LowerToAir):
(JSC::B3::Air::LowerToAir::run):
(JSC::B3::Air::LowerToAir::shouldCopyPropagate):
(JSC::B3::Air::LowerToAir::ArgPromise::ArgPromise):
(JSC::B3::Air::LowerToAir::ArgPromise::tmp):
(JSC::B3::Air::LowerToAir::ArgPromise::operator bool):
(JSC::B3::Air::LowerToAir::ArgPromise::kind):
(JSC::B3::Air::LowerToAir::ArgPromise::peek):
(JSC::B3::Air::LowerToAir::ArgPromise::consume):
(JSC::B3::Air::LowerToAir::tmp):
(JSC::B3::Air::LowerToAir::tmpPromise):
(JSC::B3::Air::LowerToAir::canBeInternal):
(JSC::B3::Air::LowerToAir::addr):
(JSC::B3::Air::LowerToAir::loadPromise):
(JSC::B3::Air::LowerToAir::imm):
(JSC::B3::Air::LowerToAir::appendBinOp):
(JSC::B3::Air::LowerToAir::tryAppendStoreUnOp):
(JSC::B3::Air::LowerToAir::tryAppendStoreBinOp):
(JSC::B3::Air::LowerToAir::createGenericCompare):
(JSC::B3::Air::LowerToAir::createBranch):
(JSC::B3::Air::LowerToAir::createCompare):
(JSC::B3::Air::LowerToAir::tryLoad):
(JSC::B3::Air::LowerToAir::tryLoad8S):
(JSC::B3::Air::LowerToAir::tryLoad8Z):
(JSC::B3::Air::LowerToAir::tryLoad16S):
(JSC::B3::Air::LowerToAir::tryLoad16Z):
(JSC::B3::Air::LowerToAir::tryAdd):
(JSC::B3::Air::LowerToAir::tryStackSlot):
(JSC::B3::Air::LowerToAir::tryEqual):
(JSC::B3::Air::LowerToAir::tryNotEqual):
(JSC::B3::Air::LowerToAir::tryLessThan):
(JSC::B3::Air::LowerToAir::tryGreaterThan):
(JSC::B3::Air::LowerToAir::tryLessEqual):
(JSC::B3::Air::LowerToAir::tryGreaterEqual):
(JSC::B3::Air::LowerToAir::tryAbove):
(JSC::B3::Air::LowerToAir::tryBelow):
(JSC::B3::Air::LowerToAir::tryAboveEqual):
(JSC::B3::Air::LowerToAir::tryBelowEqual):
(JSC::B3::Air::LowerToAir::tryPatchpoint):
(JSC::B3::Air::LowerToAir::tryCheck):
(JSC::B3::Air::LowerToAir::tryBranch):
(JSC::B3::Air::LowerToAir::loadAddr): Deleted.
* b3/B3LoweringMatcher.patterns:
* b3/B3Opcode.cpp:
(JSC::B3::invertedCompare):
* b3/B3Opcode.h:
(JSC::B3::isCheckMath):
* b3/B3Procedure.cpp:
(JSC::B3::Procedure::addBlock):
(JSC::B3::Procedure::addIntConstant):
(JSC::B3::Procedure::addBoolConstant):
(JSC::B3::Procedure::resetValueOwners):
* b3/B3Procedure.h:
* b3/B3ReduceStrength.cpp:
* b3/B3Validate.cpp:
* b3/B3Value.cpp:
(JSC::B3::Value::zShrConstant):
(JSC::B3::Value::equalConstant):
(JSC::B3::Value::notEqualConstant):
(JSC::B3::Value::lessThanConstant):
(JSC::B3::Value::greaterThanConstant):
(JSC::B3::Value::lessEqualConstant):
(JSC::B3::Value::greaterEqualConstant):
(JSC::B3::Value::aboveConstant):
(JSC::B3::Value::belowConstant):
(JSC::B3::Value::aboveEqualConstant):
(JSC::B3::Value::belowEqualConstant):
(JSC::B3::Value::invertedCompare):
* b3/B3Value.h:
* b3/air/AirArg.cpp:
(JSC::B3::Air::Arg::isRepresentableAs):
(JSC::B3::Air::Arg::dump):
(WTF::printInternal):
* b3/air/AirArg.h:
(JSC::B3::Air::Arg::isUse):
(JSC::B3::Air::Arg::typeForB3Type):
(JSC::B3::Air::Arg::widthForB3Type):
(JSC::B3::Air::Arg::Arg):
(JSC::B3::Air::Arg::value):
(JSC::B3::Air::Arg::isRepresentableAs):
(JSC::B3::Air::Arg::asNumber):
(JSC::B3::Air::Arg::pointerValue):
(JSC::B3::Air::Arg::asDoubleCondition):
(JSC::B3::Air::Arg::inverted):
(JSC::B3::Air::Arg::flipped):
(JSC::B3::Air::Arg::isSignedCond):
(JSC::B3::Air::Arg::isUnsignedCond):
* b3/air/AirInst.h:
(JSC::B3::Air::Inst::Inst):
(JSC::B3::Air::Inst::operator bool):
* b3/air/AirOpcode.opcodes:
* b3/air/opcode_generator.rb:
* b3/testb3.cpp:
(hiddenTruthBecauseNoReturnIsStupid):
(JSC::B3::testStoreLoadStackSlot):
(JSC::B3::modelLoad):
(JSC::B3::testLoad):
(JSC::B3::testBranch):
(JSC::B3::testComplex):
(JSC::B3::testSimplePatchpoint):
(JSC::B3::testSimpleCheck):
(JSC::B3::genericTestCompare):
(JSC::B3::modelCompare):
(JSC::B3::testCompareLoad):
(JSC::B3::testCompareImpl):
(JSC::B3::testCompare):
(JSC::B3::run):
(main):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithMod):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emitIntTypedArrayGetByVal):
(JSC::JIT::emitIntTypedArrayPutByVal):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192072
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Thu, 5 Nov 2015 21:25:23 +0000 (21:25 +0000)]
Marking animations/multiple-backgrounds.html as flaky on mac-wk2
https://bugs.webkit.org/show_bug.cgi?id=150942
Unreviewed test gardening.
* platform/mac-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192071
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Thu, 5 Nov 2015 21:17:41 +0000 (21:17 +0000)]
Web Inspector: Convert TimelineRuler to View base class
https://bugs.webkit.org/show_bug.cgi?id=150703
Reviewed by Brian Burg.
Convert TimelineRuler to View base class. Ruler markers and selection elements
can be updated independent from its main layout. The logic for these additional
layouts is implemented as an override of View.prototype.needsLayout, and remains
largely unchanged.
* UserInterface/Views/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView):
Add ruler as a subview.
(WebInspector.OverviewTimelineView.prototype.layout): Deleted.
Separate ruler layout no longer needed.
* UserInterface/Views/TimelineRuler.js:
(WebInspector.TimelineRuler):
(WebInspector.TimelineRuler.prototype.set allowsClippedLabels):
(WebInspector.TimelineRuler.prototype.set formatLabelCallback):
(WebInspector.TimelineRuler.prototype.set allowsTimeRangeSelection):
(WebInspector.TimelineRuler.prototype.set zeroTime):
(WebInspector.TimelineRuler.prototype.set startTime):
(WebInspector.TimelineRuler.prototype.set duration):
(WebInspector.TimelineRuler.prototype.get endTime):
(WebInspector.TimelineRuler.prototype.set endTime):
(WebInspector.TimelineRuler.prototype.get secondsPerPixel):
(WebInspector.TimelineRuler.prototype.set secondsPerPixel):
(WebInspector.TimelineRuler.prototype.updateLayoutIfNeeded):
(WebInspector.TimelineRuler.prototype.needsLayout):
(WebInspector.TimelineRuler.prototype.layout):
(WebInspector.TimelineRuler.prototype._needsMarkerLayout):
(WebInspector.TimelineRuler.prototype._needsSelectionLayout):
(WebInspector.TimelineRuler.prototype._recalculate):
(WebInspector.TimelineRuler.prototype._updateMarkers):
(WebInspector.TimelineRuler.prototype._updateSelection):
(WebInspector.TimelineRuler.prototype._handleMouseDown):
(WebInspector.TimelineRuler.prototype._handleMouseMove):
(WebInspector.TimelineRuler.prototype._handleMouseUp):
(WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseDown):
(WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseMove):
(WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseUp):
Renamed methods to match new View.prototype methods and cleaned up
some code to use let, for...of.
(WebInspector.TimelineRuler.prototype.get element): Deleted.
No longer needed.
(WebInspector.TimelineRuler.prototype.updateLayout): Deleted.
Renamed to layout, overrides View.prototype.layout.
(WebInspector.TimelineRuler.prototype._needsLayout): Deleted.
Renamed to needsLayout, overrides View.prototype.needsLayout.
(WebInspector.TimelineRuler.prototype._needsMarkerLayout.update): Deleted.
(WebInspector.TimelineRuler.prototype._needsSelectionLayout.update): Deleted.
* UserInterface/Views/View.js:
(WebInspector.View.prototype.get isLayoutPending):
Added getter to check for pending layout.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192070
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 5 Nov 2015 20:37:24 +0000 (20:37 +0000)]
Add regression test for Bug 150937
https://bugs.webkit.org/show_bug.cgi?id=150937
Reviewed by Geoffrey Garen.
Add regression test for Bug 150937:
Regression(r192038): Safari cannot load any pages
The new test makes sure that load deferring works as intended. The fix
for this already landed in r192060.
* loader/load-defer-expected.txt: Added.
* loader/load-defer.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192069
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Thu, 5 Nov 2015 20:23:02 +0000 (20:23 +0000)]
Modern IDB: Implement IDBIndex get/getKey/count requests.
https://bugs.webkit.org/show_bug.cgi?id=150910
Reviewed by Alex Christensen.
Source/WebCore:
Tests: storage/indexeddb/modern/index-get-count-basic.html
storage/indexeddb/modern/index-get-count-failures.html
* Modules/indexeddb/IndexedDB.h:
* Modules/indexeddb/client/IDBAnyImpl.cpp:
(WebCore::IDBClient::IDBAny::IDBAny):
(WebCore::IDBClient::IDBAny::modernIDBIndex):
* Modules/indexeddb/client/IDBAnyImpl.h:
(WebCore::IDBClient::IDBAny::create):
(WebCore::IDBClient::IDBAny::createUndefined):
* Modules/indexeddb/client/IDBIndexImpl.cpp:
(WebCore::IDBClient::IDBIndex::count):
(WebCore::IDBClient::IDBIndex::doCount):
(WebCore::IDBClient::IDBIndex::get):
(WebCore::IDBClient::IDBIndex::doGet):
(WebCore::IDBClient::IDBIndex::getKey):
(WebCore::IDBClient::IDBIndex::doGetKey):
* Modules/indexeddb/client/IDBIndexImpl.h:
(WebCore::IDBClient::IDBIndex::info):
* Modules/indexeddb/client/IDBObjectStoreImpl.h:
(WebCore::IDBClient::IDBObjectStore::isDeleted):
(WebCore::IDBClient::IDBObjectStore::modernTransaction):
* Modules/indexeddb/client/IDBRequestImpl.cpp:
(WebCore::IDBClient::IDBRequest::createCount):
(WebCore::IDBClient::IDBRequest::createGet):
(WebCore::IDBClient::IDBRequest::IDBRequest):
(WebCore::IDBClient::IDBRequest::sourceObjectStoreIdentifier):
(WebCore::IDBClient::IDBRequest::sourceIndexIdentifier):
(WebCore::IDBClient::IDBRequest::requestedIndexRecordType):
(WebCore::IDBClient::IDBRequest::setResultToUndefined):
* Modules/indexeddb/client/IDBRequestImpl.h:
* Modules/indexeddb/client/IDBTransactionImpl.cpp:
(WebCore::IDBClient::IDBTransaction::requestGetValue):
(WebCore::IDBClient::IDBTransaction::requestGetKey):
(WebCore::IDBClient::IDBTransaction::didGetRecordOnServer):
(WebCore::IDBClient::IDBTransaction::requestCount):
* Modules/indexeddb/client/IDBTransactionImpl.h:
* Modules/indexeddb/client/TransactionOperation.cpp:
(WebCore::IDBClient::TransactionOperation::TransactionOperation):
* Modules/indexeddb/client/TransactionOperation.h:
(WebCore::IDBClient::TransactionOperation::indexIdentifier):
(WebCore::IDBClient::TransactionOperation::indexRecordType):
* Modules/indexeddb/server/IDBBackingStore.h:
* Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
(WebCore::IDBServer::MemoryIDBBackingStore::getRecord):
(WebCore::IDBServer::MemoryIDBBackingStore::getIndexRecord):
(WebCore::IDBServer::MemoryIDBBackingStore::getCount):
* Modules/indexeddb/server/MemoryIDBBackingStore.h:
* Modules/indexeddb/server/MemoryIndex.cpp:
(WebCore::IDBServer::MemoryIndex::valueForKeyRange):
(WebCore::IDBServer::MemoryIndex::countForKeyRange):
* Modules/indexeddb/server/MemoryIndex.h:
* Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::createIndex):
(WebCore::IDBServer::MemoryObjectStore::countForKeyRange):
(WebCore::IDBServer::MemoryObjectStore::indexValueForKeyRange):
* Modules/indexeddb/server/MemoryObjectStore.h:
* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::getRecord):
(WebCore::IDBServer::UniqueIDBDatabase::performGetIndexRecord):
(WebCore::IDBServer::UniqueIDBDatabase::getCount):
(WebCore::IDBServer::UniqueIDBDatabase::performGetCount):
(WebCore::IDBServer::UniqueIDBDatabase::performGetRecord): Deleted.
* Modules/indexeddb/server/UniqueIDBDatabase.h:
* Modules/indexeddb/shared/IDBRequestData.cpp:
(WebCore::IDBRequestData::IDBRequestData):
(WebCore::IDBRequestData::objectStoreIdentifier):
(WebCore::IDBRequestData::indexIdentifier):
(WebCore::IDBRequestData::indexRecordType):
* Modules/indexeddb/shared/IDBRequestData.h:
LayoutTests:
* storage/indexeddb/modern/index-get-count-basic-expected.txt: Added.
* storage/indexeddb/modern/index-get-count-basic.html: Added.
* storage/indexeddb/modern/index-get-count-failures-expected.txt: Added.
* storage/indexeddb/modern/index-get-count-failures.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192068
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Thu, 5 Nov 2015 19:55:27 +0000 (19:55 +0000)]
Rebaselining fast/text/tatechuyoko.html on win
https://bugs.webkit.org/show_bug.cgi?id=150935
Unreviewed test gardening.
* platform/win/fast/text/tatechuyoko-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192067
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Nov 2015 19:40:01 +0000 (19:40 +0000)]
Rename the variable to avoid conflict between the variable and the parameter.
https://bugs.webkit.org/show_bug.cgi?id=150019.
Patch by Zhuo Li <zachli@apple.com> on 2015-11-05
Reviewed by Dan Bernstein.
* platform/cocoa/SearchPopupMenuCocoa.mm:
(WebCore::typeCheckedRecentSearchesRemovingRecentSearchesAddedAfterDate): Rename `date`
to `dateAdded` so that it does not have the same name as the parameter passed in.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192066
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Nov 2015 19:35:22 +0000 (19:35 +0000)]
Web Inspector: ⌥⌘C sometimes ends ups up opening inspector without console prompt focused
https://bugs.webkit.org/show_bug.cgi?id=150916
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-11-05
Reviewed by Timothy Hatcher.
When first opening the inspector we hide the window until the document
is mostly ready / loaded. However once displaying the window WK2 would
set the initial focus, clearing what we already had and focusing the
first natural element (tabindex dictates the toolbar). Workaround this
by detecting when the document becomes visible and then focusing the
console prompt.
* UserInterface/Protocol/InspectorFrontendAPI.js:
(InspectorFrontendAPI.showConsole):
(InspectorFrontendAPI.handleEvent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192065
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Nov 2015 19:31:35 +0000 (19:31 +0000)]
Web Inspector: Clean up InjectedScript uses
https://bugs.webkit.org/show_bug.cgi?id=150921
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-11-05
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
* inspector/InjectedScript.cpp:
(Inspector::InjectedScript::wrapCallFrames):
* inspector/InjectedScript.h:
* inspector/InjectedScriptBase.cpp:
(Inspector::InjectedScriptBase::initialize): Deleted.
* inspector/InjectedScriptBase.h:
* inspector/InjectedScriptManager.cpp:
(Inspector::InjectedScriptManager::didCreateInjectedScript):
* inspector/InjectedScriptManager.h:
* inspector/InjectedScriptModule.cpp:
(Inspector::InjectedScriptModule::ensureInjected):
* inspector/InjectedScriptModule.h:
* inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::currentCallFrames):
* inspector/agents/InspectorDebuggerAgent.h:
Source/WebCore:
* inspector/CommandLineAPIModule.cpp:
(WebCore::CommandLineAPIModule::injectIfNeeded):
(WebCore::CommandLineAPIModule::CommandLineAPIModule):
* inspector/CommandLineAPIModule.h:
* inspector/WebInjectedScriptManager.cpp:
(WebCore::WebInjectedScriptManager::didCreateInjectedScript):
* inspector/WebInjectedScriptManager.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192064
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Nov 2015 19:27:37 +0000 (19:27 +0000)]
Web Inspector: Toolbar "Inspect Node" button not highlighting when active
https://bugs.webkit.org/show_bug.cgi?id=150938
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-11-05
Reviewed by Timothy Hatcher.
* UserInterface/Views/ButtonToolbarItem.css:
(.toolbar .item.button:not(.disabled):matches(:focus, .activate.activated) > .glyph):
(.toolbar .item.button:not(.disabled):active:matches(:focus, .activate.activated) > .glyph):
Copy the navigation-bar button activated styles to toolbar.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192063
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 5 Nov 2015 19:25:29 +0000 (19:25 +0000)]
[WK2] Clean up / Modernize NetworkResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=150922
Reviewed by Andreas Kling.
Clean up / Modernize NetworkResourceLoader.
* NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
(WebKit::NetworkBlobRegistry::filesInBlob):
* NetworkProcess/FileAPI/NetworkBlobRegistry.h:
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):
(WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::SynchronousLoadData::SynchronousLoadData):
(WebKit::sendReplyToSynchronousRequest):
(WebKit::NetworkResourceLoader::NetworkResourceLoader):
(WebKit::NetworkResourceLoader::startNetworkLoad):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::willSendRedirectedRequest):
(WebKit::NetworkResourceLoader::bufferingTimerFired):
(WebKit::NetworkResourceLoader::sendBufferMaybeAborting):
(WebKit::NetworkResourceLoader::validateCacheEntry):
(WebKit::NetworkResourceLoader::messageSenderConnection):
(WebKit::NetworkResourceLoader::invalidateSandboxExtensions):
(WebKit::NetworkResourceLoader::~NetworkResourceLoader): Deleted.
(WebKit::NetworkResourceLoader::didReceiveBuffer): Deleted.
(WebKit::NetworkResourceLoader::didRetrieveCacheEntry): Deleted.
(WebKit::NetworkResourceLoader::consumeSandboxExtensions): Deleted.
(WebKit::NetworkResourceLoader::sendAbortingOnFailure): Deleted.
* NetworkProcess/NetworkResourceLoader.h:
* NetworkProcess/mac/NetworkDiskCacheMonitor.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192062
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Nov 2015 19:22:42 +0000 (19:22 +0000)]
Web Inspector: Put ScriptDebugServer into InspectorEnvironment and cleanup duplicate references
https://bugs.webkit.org/show_bug.cgi?id=150869
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-11-05
Reviewed by Brian Burg.
Source/JavaScriptCore:
ScriptDebugServer (JSC::Debugger) is being used by more and more agents
for instrumentation into JavaScriptCore. Currently the ScriptDebugServer
is owned by DebuggerAgent subclasses that make their own ScriptDebugServer
subclass. As more agents want to use it there was added boilerplate.
Instead, put the ScriptDebugServer in the InspectorEnvironment (Controllers).
Then each agent can access it during construction through the environment.
Do the same clean up for RuntimeAgent::globalVM, which is now just a
duplication of InspectorEnvironment::vm.
* inspector/InspectorEnvironment.h:
Add scriptDebugServer().
* inspector/JSGlobalObjectInspectorController.h:
* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::scriptDebugServer):
Own the JSGlobalObjectScriptDebugServer.
* inspector/agents/InspectorDebuggerAgent.h:
* inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::InspectorDebuggerAgent):
(Inspector::InspectorDebuggerAgent::enable):
(Inspector::InspectorDebuggerAgent::disable):
(Inspector::InspectorDebuggerAgent::setBreakpointsActive):
(Inspector::InspectorDebuggerAgent::isPaused):
(Inspector::InspectorDebuggerAgent::setSuppressAllPauses):
(Inspector::InspectorDebuggerAgent::handleConsoleAssert):
(Inspector::InspectorDebuggerAgent::removeBreakpoint):
(Inspector::InspectorDebuggerAgent::continueToLocation):
(Inspector::InspectorDebuggerAgent::resolveBreakpoint):
(Inspector::InspectorDebuggerAgent::schedulePauseOnNextStatement):
(Inspector::InspectorDebuggerAgent::cancelPauseOnNextStatement):
(Inspector::InspectorDebuggerAgent::resume):
(Inspector::InspectorDebuggerAgent::stepOver):
(Inspector::InspectorDebuggerAgent::stepInto):
(Inspector::InspectorDebuggerAgent::stepOut):
(Inspector::InspectorDebuggerAgent::setPauseOnExceptions):
(Inspector::InspectorDebuggerAgent::evaluateOnCallFrame):
(Inspector::InspectorDebuggerAgent::scriptExecutionBlockedByCSP):
(Inspector::InspectorDebuggerAgent::didPause):
(Inspector::InspectorDebuggerAgent::breakProgram):
(Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState):
* inspector/agents/InspectorRuntimeAgent.h:
* inspector/agents/InspectorRuntimeAgent.cpp:
(Inspector::InspectorRuntimeAgent::InspectorRuntimeAgent):
(Inspector::setPauseOnExceptionsState):
(Inspector::InspectorRuntimeAgent::parse):
(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):
(Inspector::InspectorRuntimeAgent::setTypeProfilerEnabledState):
(Inspector::InspectorRuntimeAgent::getBasicBlocks):
Use VM and ScriptDebugServer passed during construction.
* inspector/agents/JSGlobalObjectDebuggerAgent.h:
* inspector/agents/JSGlobalObjectDebuggerAgent.cpp:
(Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval):
(Inspector::JSGlobalObjectDebuggerAgent::JSGlobalObjectDebuggerAgent): Deleted.
One special case needed by this subclass as a convenience to access the global object.
* inspector/agents/JSGlobalObjectRuntimeAgent.h:
* inspector/agents/JSGlobalObjectRuntimeAgent.cpp:
(Inspector::JSGlobalObjectRuntimeAgent::globalVM): Deleted.
This virtual method is no longer needed, the base class has everything now.
Source/WebCore:
Refactoring covered by existing tests.
* WebCore.xcodeproj/project.pbxproj:
Privately export PageScriptDebuggerAgent.h due to InspectorController.h needing it.
* inspector/InspectorController.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::scriptDebugServer):
Own the PageScriptDebugServer.
* inspector/WorkerInspectorController.h:
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::WorkerInspectorController):
(WebCore::WorkerInspectorController::scriptDebugServer):
Own the WorkerScriptDebugServer.
(WebCore::WorkerInspectorController::vm):
Use the VM accessed through the worker global object.
* inspector/InspectorWebAgentBase.h:
(WebCore::InspectorAgentBase::InspectorAgentBase):
Given Web agents a m_environment convenience to access the InspectorEnvironment.
* inspector/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::timestamp):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::timestamp):
(WebCore::InspectorPageAgent::enable):
(WebCore::InspectorPageAgent::frameStartedLoading):
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
(WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorTimelineAgent::internalStart):
(WebCore::InspectorTimelineAgent::internalStop):
(WebCore::InspectorTimelineAgent::timestamp):
(WebCore::InspectorTimelineAgent::startFromConsole):
(WebCore::InspectorTimelineAgent::willCallFunction):
(WebCore::InspectorTimelineAgent::willEvaluateScript):
(WebCore::InspectorTimelineAgent::setPageScriptDebugServer): Deleted.
* inspector/InspectorTimelineAgent.h:
Use the InspectorEnvironment for VM / ScriptDebugServer.
* inspector/PageDebuggerAgent.cpp:
(WebCore::PageDebuggerAgent::PageDebuggerAgent): Deleted.
(WebCore::PageDebuggerAgent::scriptDebugServer): Deleted.
* inspector/PageDebuggerAgent.h:
* inspector/PageRuntimeAgent.cpp:
(WebCore::PageRuntimeAgent::globalVM): Deleted.
* inspector/PageRuntimeAgent.h:
* inspector/WorkerDebuggerAgent.h:
* inspector/WorkerRuntimeAgent.cpp:
(WebCore::WorkerRuntimeAgent::globalVM): Deleted.
* inspector/WorkerRuntimeAgent.h:
* inspector/WorkerDebuggerAgent.cpp:
(WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent): Deleted.
(WebCore::WorkerDebuggerAgent::scriptDebugServer): Deleted.
Remove now unnecessary subclass code.
(WebCore::WorkerDebuggerAgent::interruptAndDispatchInspectorCommands):
One more special case for accessing Worker properties from the ScriptDebugServer.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192061
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 5 Nov 2015 18:30:51 +0000 (18:30 +0000)]
Regression(r192038): Safari cannot load any pages
https://bugs.webkit.org/show_bug.cgi?id=150937
<rdar://problem/
23413859>
Reviewed by Alex Christensen.
Make sure we use the current "defersLoading" state instead of the
original one when constructing / initializing the NetworkLoad.
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::startNetworkLoad):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192060
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Thu, 5 Nov 2015 17:19:05 +0000 (17:19 +0000)]
Marking http/tests/contentextensions/async-xhr-onerror.html as flaky on mac-wk2
https://bugs.webkit.org/show_bug.cgi?id=150577
Unreviewed test gardening.
* platform/mac-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192059
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Thu, 5 Nov 2015 14:51:07 +0000 (14:51 +0000)]
[GLib] Avoid gint64, std::chrono::microseconds overflows in RunLoop::TimerBase
https://bugs.webkit.org/show_bug.cgi?id=150930
Reviewed by Carlos Garcia Campos.
In RunLoop::TimerBase::start(), avoid overflowing the std::chrono::microseconds
value in case the passed-in fire interval (in seconds) is too large (e.g. when
std::chrono::microseconds::max() is used as the desired interval). This is
achieved by using the passed-in fire interval, converted in microseconds, only
if the value of this interval is smaller than std::chrono::microseconds::max().
In RunLoop::TimerBase::updateReadyTime(), the zero-delay is still considered a
short cut, but we use G_MAXINT64 in case the sum of the current time and the
desired fire interval (now in microseconds) would overflow.
* wtf/glib/RunLoopGLib.cpp:
(WTF::RunLoop::TimerBase::updateReadyTime):
(WTF::RunLoop::TimerBase::start):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192058
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
calvaris@igalia.com [Thu, 5 Nov 2015 14:01:13 +0000 (14:01 +0000)]
[Streams API] Shield implementation from user mangling Promise.reject and resolve methods
https://bugs.webkit.org/show_bug.cgi?id=150895
Reviewed by Youenn Fablet.
Source/JavaScriptCore:
Keep Promise.resolve and reject also as internal slots for the Promise constructor given that there is no way to
retrieve the former implementation if the user decides to replace it. This allows to safely create vended
promises even if the user changes the constructor methods.
* runtime/JSPromiseConstructor.h:
* runtime/JSPromiseConstructor.cpp:
(JSC::JSPromiseConstructor::addOwnInternalSlots): Added to include @reject and @resolve.
(JSC::JSPromiseConstructor::create): Call addOwnInternalSlots.
Source/WebCore:
Replace all calls to @Promise.resolve and @Promise.reject with their internal slot counterparts. This way we
ensure that if the user replaces those constructor methods, our implementation still works.
Test: streams/streams-promises.html.
* Modules/streams/ReadableStream.js:
(initializeReadableStream):
(cancel):
* Modules/streams/ReadableStreamInternals.js:
(privateInitializeReadableStreamReader):
(cancelReadableStream):
(readFromReadableStreamReader):
* Modules/streams/ReadableStreamReader.js:
(cancel):
(read):
(closed):
* Modules/streams/StreamInternals.js:
(promiseInvokeOrNoop):
(promiseInvokeOrFallbackOrNoop):
* Modules/streams/WritableStream.js:
(initializeWritableStream):
(abort):
(close):
(write):
(closed):
(ready):
LayoutTests:
* streams/streams-promises.html: Improved some style issues. Added tests about changing Promise.resolve and
reject.
* streams/streams-promises-expected.txt: Added expectations.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192057
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Thu, 5 Nov 2015 11:36:15 +0000 (11:36 +0000)]
Give ResourceUsageOverlay a stacked chart for dirty memory per category.
<https://webkit.org/b/150905>
Reviewed by Antti Koivisto.
Refactored the data gathering to operate on "memory categories", a memory category is at
the top level a VM tag, e.g the VM tag for our bmalloc allocator. It can in turn have
sub-categories, e.g one for the GC heap, which allocates all of its blocks through bmalloc
and thus end up in the same tag.
Each category also has a hard-coded color, which is used consistently in labels and charts.
Also went back to drawing everything with CGContext directly instead of GraphicsContext
since the latter is not thread safe.
* page/ResourceUsageOverlay.h:
* page/cocoa/ResourceUsageOverlayCocoa.mm:
(-[WebOverlayLayer drawInContext:]):
(WebCore::RingBuffer::last):
(WebCore::MemoryCategoryInfo::MemoryCategoryInfo):
(WebCore::ResourceUsageData::ResourceUsageData):
(WebCore::showText):
(WebCore::drawGraphLabel):
(WebCore::drawCpuHistory):
(WebCore::drawGCHistory):
(WebCore::drawMemHistory):
(WebCore::drawSlice):
(WebCore::drawMemoryPie):
(WebCore::ResourceUsageOverlay::platformDraw):
(WebCore::categoryForVMTag):
(WebCore::runSamplerThread):
(WebCore::drawPlate): Deleted.
(WebCore::fontCascade): Deleted.
(WebCore::ResourceUsageOverlay::draw): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192056
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 5 Nov 2015 09:54:13 +0000 (09:54 +0000)]
Having page overlays causes iframe to get composited
https://bugs.webkit.org/show_bug.cgi?id=150920
Reviewed by Tim Horton.
When deciding whether to enable compositing for a subframe, don't consult the
main frame's overlay count. Only do that for the main frame.
(WebCore::RenderLayerCompositor::updateCompositingLayers):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192055
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rego@igalia.com [Thu, 5 Nov 2015 09:30:30 +0000 (09:30 +0000)]
[css-grid] Support positioned grid children
https://bugs.webkit.org/show_bug.cgi?id=150837
Reviewed by Darin Adler.
Source/WebCore:
According to the spec positioned grid children have
a special behavior described at:
https://drafts.csswg.org/css-grid/#abspos
The idea is that for positioned children the containing block will
correspond to the padding edges of the grid container, unless the
grid placement properties are defined.
This not only affects to positioned grid items (direct children) but
also to any descendant where the containing block is the grid container.
In order to manage this special behavior, the patch is overriding
RenderBlock::layoutPositionedObject() to calculate the position and size
depending on the grid-placement properties.
RenderBox class has some changes to calculate the containing block width
and height for positioned objects (using the override value). And also
to compute their static position.
Finally, the positioned items are not taken into account in all the
different grid methods, in order that they do not interfere the layout
of the grid as stated in the spec.
Tests: fast/css-grid-layout/absolute-positioning-grid-container-containing-block.html
fast/css-grid-layout/absolute-positioning-grid-container-parent.html
fast/css-grid-layout/grid-positioned-items-background.html
fast/css-grid-layout/grid-positioned-items-implicit-grid-line.html
fast/css-grid-layout/grid-positioned-items-implicit-grid.html
fast/css-grid-layout/grid-positioned-items-unknown-named-grid-line.html
fast/css-grid-layout/grid-sizing-positioned-items.html
fast/css-grid-layout/positioned-grid-items-should-not-create-implicit-tracks.html
fast/css-grid-layout/positioned-grid-items-should-not-take-up-space.html
* rendering/OrderIterator.cpp:
(WebCore::OrderIterator::next): Fix method to avoid issues if no items
are added to the iterator.
* rendering/RenderBlock.h: Mark layoutPositionedObject() as virtual.
* rendering/RenderBox.cpp: Add new maps for inline/block extra offsets.
(WebCore::RenderBox::~RenderBox): Clear the new maps.
(WebCore::RenderBox::extraInlineOffset): Extra offset that we need to
apply to positioned grid children due to the grid placement properties.
(WebCore::RenderBox::extraBlockOffset): Ditto.
(WebCore::RenderBox::setExtraInlineOffset):
(WebCore::RenderBox::setExtraBlockOffset):
(WebCore::RenderBox::clearExtraInlineAndBlockOffests):
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned): Use the
override containing block if any.
(WebCore::RenderBox::containingBlockLogicalHeightForPositioned): Ditto.
(WebCore::RenderBox::computePositionedLogicalWidth): Add the extra
offset if it's a positioned element.
(WebCore::RenderBox::computePositionedLogicalHeight): Ditto.
* rendering/RenderBox.h:
(WebCore::RenderBox::scrollbarLogicalWidth): Add utility method.
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock): Clear grid after layout positioned
objects instead of at the end of layoutGridItems().
(WebCore::RenderGrid::placeItemsOnGrid): Ignore positioned items.
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator): Ditto.
(WebCore::RenderGrid::layoutGridItems): Ditto.
(WebCore::RenderGrid::prepareChildForPositionedLayout): Set static
position for positioned items.
(WebCore::RenderGrid::layoutPositionedObject): Calculate position and
size for positioned children.
(WebCore::RenderGrid::offsetAndBreadthForPositionedChild): Calculate
extra offset and breadth for positioned children.
* rendering/RenderGrid.h:
* rendering/style/GridResolvedPosition.cpp:
(WebCore::GridResolvedPosition::isNonExistentNamedLineOrArea): Make it a
public static method.
(WebCore::GridUnresolvedSpan::adjustGridPositionsFromStyle): Fix calls
to isNonExistentNamedLineOrArea().
(WebCore::resolveGridPositionFromStyle): Ditto.
* rendering/style/GridResolvedPosition.h: Make
isNonExistentNamedLineOrArea() public.
LayoutTests:
* fast/css-grid-layout/absolute-positioning-grid-container-containing-block-expected.txt: Added.
* fast/css-grid-layout/absolute-positioning-grid-container-containing-block.html: Added.
* fast/css-grid-layout/absolute-positioning-grid-container-parent-expected.txt: Added.
* fast/css-grid-layout/absolute-positioning-grid-container-parent.html: Added.
* fast/css-grid-layout/grid-positioned-items-background-expected.html: Added.
* fast/css-grid-layout/grid-positioned-items-background.html: Added.
* fast/css-grid-layout/grid-positioned-items-implicit-grid-expected.txt: Added.
* fast/css-grid-layout/grid-positioned-items-implicit-grid-line-expected.txt: Added.
* fast/css-grid-layout/grid-positioned-items-implicit-grid-line.html: Added.
* fast/css-grid-layout/grid-positioned-items-implicit-grid.html: Added.
* fast/css-grid-layout/grid-positioned-items-unknown-named-grid-line-expected.txt: Added.
* fast/css-grid-layout/grid-positioned-items-unknown-named-grid-line.html: Added.
* fast/css-grid-layout/grid-sizing-positioned-items-expected.txt: Added.
* fast/css-grid-layout/grid-sizing-positioned-items.html: Added.
* fast/css-grid-layout/positioned-grid-items-should-not-create-implicit-tracks-expected.txt: Added.
* fast/css-grid-layout/positioned-grid-items-should-not-create-implicit-tracks.html: Added.
* fast/css-grid-layout/positioned-grid-items-should-not-take-up-space-expected.txt: Added.
* fast/css-grid-layout/positioned-grid-items-should-not-take-up-space.html: Added.
* fast/css-grid-layout/resources/grid.css: Added some common CSS classes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192054
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryuan.choi@navercorp.com [Thu, 5 Nov 2015 09:29:40 +0000 (09:29 +0000)]
[EFL] Add try_close API to handle beforeunload event
https://bugs.webkit.org/show_bug.cgi?id=150705
Reviewed by Gyuyoung Kim.
Source/WebKit2:
This patch adds ewk_view_try_close to have a chance to call confirm callback
for beforeunload event while destryoing webview.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_try_close):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(EWK2ViewTest::beforeUnloadCallback):
(EWK2ViewTest::windowCloseCallback):
(TEST_F): Added test case for ewk_view_try_close.
Tools:
* MiniBrowser/efl/main.c:
(on_window_deletion):
Call ewk_view_try_close instead of removing object directly.
(window_create): Fixed that passes wrong data.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192053
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Thu, 5 Nov 2015 07:12:45 +0000 (07:12 +0000)]
[GTK] Epiphany with Debug mode compiled WebKitGtk+ 2.10.3 hits ASSERT_ARG on willEnterAcceleratedCompositingMode
https://bugs.webkit.org/show_bug.cgi?id=150620
Reviewed by Mario Sanchez Prada.
WillEnterAcceleratedCompositingMode message is sent when the
LayerTreeHost is created in the Web Process. This can happen while
there's still a DidUpdateBackingStoreState pending, in which case
we are receiving the new backingStoreStateID, but the current one
hasn't been updated yet.
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::willEnterAcceleratedCompositingMode):
Fix the ASSERT to check the given ID is alt least the next one,
and remove the early return since it's valid to not enter AC mode
in the end after the WillEnter message.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192052
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Thu, 5 Nov 2015 05:50:02 +0000 (05:50 +0000)]
[JSC] Add B3-to-Air lowering for the shift opcodes
https://bugs.webkit.org/show_bug.cgi?id=150919
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-11-04
Reviewed by Filip Pizlo.
* assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::rshift64):
(JSC::MacroAssemblerX86_64::urshift64):
* assembler/X86Assembler.h:
(JSC::X86Assembler::shrq_CLr):
* b3/B3Const32Value.cpp:
(JSC::B3::Const32Value::shlConstant):
(JSC::B3::Const32Value::sShrConstant):
(JSC::B3::Const32Value::zShrConstant):
* b3/B3Const32Value.h:
* b3/B3Const64Value.cpp:
(JSC::B3::Const64Value::shlConstant):
(JSC::B3::Const64Value::sShrConstant):
(JSC::B3::Const64Value::zShrConstant):
* b3/B3Const64Value.h:
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::appendShift):
(JSC::B3::Air::LowerToAir::tryShl):
(JSC::B3::Air::LowerToAir::trySShr):
(JSC::B3::Air::LowerToAir::tryZShr):
* b3/B3LoweringMatcher.patterns:
* b3/B3Opcode.h:
* b3/B3ReduceStrength.cpp:
* b3/B3Value.cpp:
(JSC::B3::Value::shlConstant):
(JSC::B3::Value::sShrConstant):
(JSC::B3::Value::zShrConstant):
* b3/B3Value.h:
* b3/air/AirInstInlines.h:
(JSC::B3::Air::isShiftValid):
(JSC::B3::Air::isRshift32Valid):
(JSC::B3::Air::isRshift64Valid):
(JSC::B3::Air::isUrshift32Valid):
(JSC::B3::Air::isUrshift64Valid):
* b3/air/AirOpcode.opcodes:
* b3/testb3.cpp:
(JSC::B3::testShlArgs):
(JSC::B3::testShlImms):
(JSC::B3::testShlArgImm):
(JSC::B3::testShlArgs32):
(JSC::B3::testShlImms32):
(JSC::B3::testShlArgImm32):
(JSC::B3::testSShrArgs):
(JSC::B3::testSShrImms):
(JSC::B3::testSShrArgImm):
(JSC::B3::testSShrArgs32):
(JSC::B3::testSShrImms32):
(JSC::B3::testSShrArgImm32):
(JSC::B3::testZShrArgs):
(JSC::B3::testZShrImms):
(JSC::B3::testZShrArgImm):
(JSC::B3::testZShrArgs32):
(JSC::B3::testZShrImms32):
(JSC::B3::testZShrArgImm32):
(JSC::B3::run):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192051
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Thu, 5 Nov 2015 04:09:25 +0000 (04:09 +0000)]
Web Inspector: Load markers persist in timeline ruler after resetting recording
https://bugs.webkit.org/show_bug.cgi?id=150918
Reviewed by Joseph Pecoraro.
* UserInterface/Views/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView):
(WebInspector.OverviewTimelineView.prototype._recordingReset):
Clears ruler markers on recording reset. Adds current time marker back.
* UserInterface/Views/TimelineOverview.js:
(WebInspector.TimelineOverview):
(WebInspector.TimelineOverview.prototype._recordingReset):
Clears ruler markers on recording reset. Adds current time marker back.
* UserInterface/Views/TimelineRuler.js:
(WebInspector.TimelineRuler.prototype.clearMarkers):
Added method to clear markers and marker elements.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192050
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Thu, 5 Nov 2015 04:07:51 +0000 (04:07 +0000)]
Web Inspector: Uncaught Exception opening inspector - TypeError: Attempted to assign to readonly property.
https://bugs.webkit.org/show_bug.cgi?id=150913
Reviewed by Timothy Hatcher.
Fix invalid call to BackForwardEntry.prototype.contentView set.
* UserInterface/Views/ContentViewContainer.js:
(WebInspector.ContentViewContainer.prototype.replaceContentView):
Replace each BackForwardEntry matching the old content view with a new entry.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192049
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nvasilyev@apple.com [Thu, 5 Nov 2015 03:21:11 +0000 (03:21 +0000)]
Web Inspector: Uncaught exception mousing over CSS resource
https://bugs.webkit.org/show_bug.cgi?id=150917
Reviewed by Joseph Pecoraro.
* UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
(WebInspector.CodeMirrorTokenTrackingController.prototype._processMarkedToken): Add missing parameter.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192048
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Nov 2015 03:16:07 +0000 (03:16 +0000)]
Remove "defer" from the scripts' references in the graphics benchmark home page
https://bugs.webkit.org/show_bug.cgi?id=150915
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-11-04
Reviewed by Simon Fraser.
It causes the benchmark to be very flakey.
* Animometer/runner/animometer.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192047
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Thu, 5 Nov 2015 00:59:48 +0000 (00:59 +0000)]
REGRESSION (r191499): 100% repro crash under _prepareForMoveToWindow:
https://bugs.webkit.org/show_bug.cgi?id=150912
<rdar://problem/
23402116>
Reviewed by Simon Fraser.
* UIProcess/API/mac/WKView.mm:
(-[WKView _prepareForMoveToWindow:withCompletionHandler:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192045
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 5 Nov 2015 00:54:25 +0000 (00:54 +0000)]
Regression(r192038): Crash in ~SandboxExtension()
https://bugs.webkit.org/show_bug.cgi?id=150898
Reviewed by Alex Christensen.
We are seeing a couple of crashes under ~SandboxExtension() on the bots
after ~SandboxExtension(). The reason is that the SandBoxExtension is
still in use (useCount > 0) when destroyed. This happens due to a bug
in setDefersLoading() that could cause the load to get started more
than once and thus the SandboxExtension to be consumed more than once.
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::setDefersLoading):
(WebKit::NetworkResourceLoader::consumeSandboxExtensions):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192044
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jiewen_tan@apple.com [Thu, 5 Nov 2015 00:46:34 +0000 (00:46 +0000)]
Null dereference loading Blink layout test editing/execCommand/delete-hidden-crash.html
https://bugs.webkit.org/show_bug.cgi?id=149289
<rdar://problem/
22746352>
Reviewed by Enrica Casucci.
Source/WebCore:
This is a merge of Blink r176497:
https://codereview.chromium.org/
340713003
It ensures the start & end positions in DeleteSelectionCommand::initializePositionData
are editable.
Test: editing/execCommand/delete-hidden-crash.html
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::initializePositionData):
* editing/Editor.cpp:
(WebCore::Editor::advanceToNextMisspelling):
* editing/htmlediting.cpp:
(WebCore::firstEditablePositionAfterPositionInRoot):
(WebCore::lastEditablePositionBeforePositionInRoot):
These two functions don't make any sense to return VisiblePosition. Change them
to return Position instead. Since there is a viable conversion from Position to
VisiblePosition. It should not change the behavior of any other components depending
on it.
* editing/htmlediting.h:
LayoutTests:
* editing/execCommand/delete-hidden-crash-expected.txt: Added.
* editing/execCommand/delete-hidden-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192043
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Thu, 5 Nov 2015 00:26:26 +0000 (00:26 +0000)]
Ruby base ending in tatechuyoko forces a line break before the tatechuyoko
https://bugs.webkit.org/show_bug.cgi?id=150883
Reviewed by Darin Adler.
Source/WebCore:
Asking the width of a 0-length tatechuyoko should return 0.
Test: fast/text/ruby-tatechuyoko.html
* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::width):
LayoutTests:
* platform/mac/fast/text/international/text-combine-image-test-expected.txt: Updated.
* platform/mac/fast/text/tatechuyoko-expected.txt: Ditto.
* fast/text/ruby-tatechuyoko-expected.html: Added.
* fast/text/ruby-tatechuyoko.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192042
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Thu, 5 Nov 2015 00:01:43 +0000 (00:01 +0000)]
Updating expectations for fast/forms/HTMLOptionElement_label03.html on win
https://bugs.webkit.org/show_bug.cgi?id=150909
Unreviewed test gardening.
* platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192041
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 4 Nov 2015 23:59:48 +0000 (23:59 +0000)]
Source/WebInspectorUI:
Web Inspector: WebInspector.Color should support #rgba and #rrggbbaa syntax
https://bugs.webkit.org/show_bug.cgi?id=150894
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-11-04
Reviewed by Timothy Hatcher.
Support for hex with alpha color syntax.
* UserInterface/Models/Color.js:
(WebInspector.Color.fromString):
(WebInspector.Color.prototype.nextFormat):
(WebInspector.Color.prototype.copy):
(WebInspector.Color.prototype.toString):
(WebInspector.Color.prototype._toShortHEXAlphaString):
(WebInspector.Color.prototype._toHEXAlphaString):
Add support for new hex syntax. Address some minor issues
like case insensitivity and extra comma separate values.
* UserInterface/Views/CodeMirrorTextMarkers.js:
This prevent trailing hex characters from showing up
when cycling through color variants.
* UserInterface/Views/CodeMirrorAdditions.js:
When CodeMirror stops treating the new values as error
this will give them our hex-color styles.
LayoutTests:
Web Inspector: Support #rgba and #rrggbbaa syntax
https://bugs.webkit.org/show_bug.cgi?id=150894
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-11-04
Reviewed by Timothy Hatcher.
* inspector/model/color-expected.txt: Added.
* inspector/model/color.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192040
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
wenson_hsieh@apple.com [Wed, 4 Nov 2015 23:34:47 +0000 (23:34 +0000)]
Fix crashing and flaky UIScriptController-based tests in fast/events/ios
https://bugs.webkit.org/show_bug.cgi?id=150901
<rdar://problem/
23261499>
Reviewed by Simon Fraser.
Tools:
Clear out zooming and keyboard-related callbacks after uiScriptComplete has been invoked. This prevents
later tests from calling into code which previous tests attached to these callbacks and causing
WebKitTestRunner to crash due to accessing a deallocated UIScriptController.
* WebKitTestRunner/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::platformClearAllCallbacks):
(WTR::UIScriptController::uiScriptComplete):
* WebKitTestRunner/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::platformClearAllCallbacks):
LayoutTests:
Several changes to tests in fast/events/ios that address flaky behavior when running these tests.
Removes an unnecessary (and flaky) check for the initial innerHeight in
keyboard-should-not-trigger-resize.html, refactors unscalable-viewport-clicks-on-doubletap.html to
send successive taps like the other fast-clicking tests, and adjusts input-value-after-oninput.html
to no longer break if typing in an input autocapitalizes the first letter.
* fast/events/ios/input-value-after-oninput.html:
* fast/events/ios/keyboard-should-not-trigger-resize-expected.txt:
* fast/events/ios/keyboard-should-not-trigger-resize.html:
* fast/events/ios/unscalable-viewport-clicks-on-doubletap-expected.txt:
* fast/events/ios/unscalable-viewport-clicks-on-doubletap.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192039
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Wed, 4 Nov 2015 22:39:15 +0000 (22:39 +0000)]
[WK2] Extract networking code out of NetworkResourceLoader class to improve reusability
https://bugs.webkit.org/show_bug.cgi?id=150898
Reviewed by Alex Christensen.
Extract networking code out of NetworkResourceLoader class to improve
reusability (will be used for speculative revalidation) and simplify
the NetworkResourceLoader.
* CMakeLists.txt:
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
* NetworkProcess/NetworkLoad.cpp: Added.
* NetworkProcess/NetworkLoad.h: Added.
* NetworkProcess/NetworkLoadClient.h: Added.
* NetworkProcess/NetworkLoadParameters.cpp: Added.
* NetworkProcess/NetworkLoadParameters.h: Added.
* NetworkProcess/NetworkResourceLoader.cpp:
* NetworkProcess/NetworkResourceLoader.h:
* NetworkProcess/mac/NetworkLoadMac.mm: Added.
* NetworkProcess/mac/NetworkResourceLoaderMac.mm:
(WebKit::NetworkResourceLoader::willCacheResponseAsync):
* WebKit2.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192038
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Wed, 4 Nov 2015 22:34:01 +0000 (22:34 +0000)]
Link preview doesn't work on XHTML pages with Content-Type header as
`application/xhtml+xml`
https://bugs.webkit.org/show_bug.cgi?id=150740
-and corresponding-
rdar://problem/
23063585
Reviewed by Darin Adler.
My original fix for this bug was incorrect in the presence of non-HTML
elements that happen to have the same local name as HTML elements. Since it
seems silly to have all of this logic in the UI process to determine whether
to treat something as a link or an image, this patch fixes the bug by adding
isLink and isImage to InteractionInformationAtPosition in order to simplify
everything. The only remaining uses of clickableElementName just use it to
compare against isNull and isEmpty, so that can be a bool too.
Add isLink and isImage, and turn clickableElementName into isClickableElement
* Shared/InteractionInformationAtPosition.cpp:
(WebKit::InteractionInformationAtPosition::encode):
(WebKit::InteractionInformationAtPosition::decode):
* Shared/InteractionInformationAtPosition.h:
Use the new isLink, isImage, and isClickableElement
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _actionForLongPress]):
(-[WKContentView gestureRecognizerShouldBegin:]):
(-[WKContentView _highlightLongPressRecognized:]):
(-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]):
(-[WKContentView _dataForPreviewItemController:atPosition:type:]):
Set everything correctly.
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getPositionInformation):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192037
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
wenson_hsieh@apple.com [Wed, 4 Nov 2015 22:21:25 +0000 (22:21 +0000)]
Fix crashing fast-clicking WK2 tests on iOS
https://bugs.webkit.org/show_bug.cgi?id=150896
<rdar://problem/
23344491>
Reviewed by Simon Fraser.
Source/WebKit2:
In order for the modified fast-clicking tests to pass, we can't allow hit-testing to
find the tap highlight view. See the Radar for more UIKit-specific descriptions.
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _showTapHighlight]):
LayoutTests:
Fix the fast-clicking tests by making them fire an exact number of times rather than
sending continuously until a minimum number of clicks are fired. This causes us to
avoid crashing during the following test when the marker events corresponding to single
taps fired after the test has completed have been handled.
* css3/touch-action/touch-action-manipulation-fast-clicks.html:
* fast/events/ios/viewport-device-width-at-initial-scale-fast-clicks.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192036
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Wed, 4 Nov 2015 22:15:00 +0000 (22:15 +0000)]
B3 should be able to compile a Check
https://bugs.webkit.org/show_bug.cgi?id=150878
Reviewed by Saam Barati.
The Check opcode in B3 is going to be our main OSR exit mechanism. It is a stackmap
value, so you can pass it any number of additional arguments, and you will get to find
out how those arguments are represented at the point that the value lands in the machine
code. Unlike a Patchpoint, a Check branches on a value, with the goal of supporting full
compare/branch fusion. The stackmap's generator runs in an out-of-line path to which
that branch is linked.
This change fills in the glue necessary to compile a Check and it includes a simple
test of this functionality. That test also happens to check that such simple code will
never use callee-saves, which I think is sensible.
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::append):
(JSC::B3::Air::LowerToAir::ensureSpecial):
(JSC::B3::Air::LowerToAir::fillStackmap):
(JSC::B3::Air::LowerToAir::tryStackSlot):
(JSC::B3::Air::LowerToAir::tryPatchpoint):
(JSC::B3::Air::LowerToAir::tryCheck):
(JSC::B3::Air::LowerToAir::tryUpsilon):
* b3/B3LoweringMatcher.patterns:
* b3/testb3.cpp:
(JSC::B3::testSimplePatchpoint):
(JSC::B3::testSimpleCheck):
(JSC::B3::run):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192035
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
keith_miller@apple.com [Wed, 4 Nov 2015 21:46:10 +0000 (21:46 +0000)]
Fix endless OSR exits when creating a rope that contains an object that ToPrimitive's to a number.
https://bugs.webkit.org/show_bug.cgi?id=150583
Reviewed by Benjamin Poulain.
Source/JavaScriptCore:
Before we assumed that the result of ToPrimitive on any object was a string.
This had a couple of negative effects. First, the result ToPrimitive on an
object can be overridden to be any primitive type. In fact, as of ES6, ToPrimitive,
when part of a addition expression, will type hint a number value. Second, even after
repeatedly exiting with a bad type we would continue to think that the result
of ToPrimitive would be a string so we continue to convert StrCats into MakeRope.
The fix is to make Prediction Propagation match the behavior of Fixup and move
canOptimizeStringObjectAccess to DFGGraph.
* bytecode/SpeculatedType.h:
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::attemptToForceStringArrayModeByToStringConversion):
(JSC::DFG::FixupPhase::fixupToPrimitive):
(JSC::DFG::FixupPhase::fixupToStringOrCallStringConstructor):
(JSC::DFG::FixupPhase::attemptToMakeFastStringAdd):
(JSC::DFG::FixupPhase::isStringPrototypeMethodSane): Deleted.
(JSC::DFG::FixupPhase::canOptimizeStringObjectAccess): Deleted.
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::isStringPrototypeMethodSane):
(JSC::DFG::Graph::canOptimizeStringObjectAccess):
* dfg/DFGGraph.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::resultOfToPrimitive):
(JSC::DFG::resultOfToPrimitive): Deleted.
* bytecode/SpeculatedType.h:
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::attemptToForceStringArrayModeByToStringConversion):
(JSC::DFG::FixupPhase::fixupToPrimitive):
(JSC::DFG::FixupPhase::fixupToStringOrCallStringConstructor):
(JSC::DFG::FixupPhase::attemptToMakeFastStringAdd):
(JSC::DFG::FixupPhase::isStringPrototypeMethodSane): Deleted.
(JSC::DFG::FixupPhase::canOptimizeStringObjectAccess): Deleted.
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::isStringPrototypeMethodSane):
(JSC::DFG::Graph::canOptimizeStringObjectAccess):
* dfg/DFGGraph.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::resultOfToPrimitive):
(JSC::DFG::resultOfToPrimitive): Deleted.
* tests/stress/string-rope-with-custom-valueof.js: Added.
(catNumber):
(number.valueOf):
(catBool):
(bool.valueOf):
(catUndefined):
(undef.valueOf):
(catRandom):
(random.valueOf):
LayoutTests:
Created a regression test to look for OSRing in string concatenation when
valueOf returns a non-string primitive.
* js/regress/script-tests/string-rope-with-object.js: Added.
(body.f):
(body.String.prototype.valueOf):
(body.bar.valueOf):
(body):
* js/regress/string-rope-with-object-expected.txt: Added.
* js/regress/string-rope-with-object.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192034
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Wed, 4 Nov 2015 21:28:14 +0000 (21:28 +0000)]
Rebaselining LayoutTest fast/text/international/thai-baht-space.html on win
https://bugs.webkit.org/show_bug.cgi?id=150865
Unreviewed test gardening.
* platform/win/fast/text/international/thai-baht-space-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192033
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Wed, 4 Nov 2015 20:50:52 +0000 (20:50 +0000)]
Update the name of a Mail class that we hardcode
https://bugs.webkit.org/show_bug.cgi?id=150879
<rdar://problem/
23384627>
Reviewed by Alexey Proskuryakov.
* editing/cocoa/HTMLConverter.mm:
(_WebMessageDocumentClass):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192032
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 4 Nov 2015 19:38:19 +0000 (19:38 +0000)]
PageLoadState::will/didChangeProcessIsResponsive should call observers
https://bugs.webkit.org/show_bug.cgi?id=150870
Reviewed by Dan Bernstein.
* UIProcess/PageLoadState.cpp:
(WebKit::PageLoadState::willChangeProcessIsResponsive):
(WebKit::PageLoadState::didChangeProcessIsResponsive):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192031
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Wed, 4 Nov 2015 19:21:46 +0000 (19:21 +0000)]
Speculative build fix. Missed the checkin for the changelog with r192029.
* UIProcess/API/Cocoa/WKWebView.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192030
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Wed, 4 Nov 2015 19:03:42 +0000 (19:03 +0000)]
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192029
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Wed, 4 Nov 2015 18:55:07 +0000 (18:55 +0000)]
[MediaStream] A RealtimeMediaSource should begin producing data automatically
https://bugs.webkit.org/show_bug.cgi?id=150851
rdar://problem/
23380636
A RealtimeMediaSource should be producing data unless it is muted, which is not under the
control of the application, so a local source should begin producing data as soon as it
is added to a stream. Remove "producing data" and "enabled" observer callbacks because
they don't provide anything that the "muted" callback already provides.
Reviewed by Jer Noble.
* Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::trackProducingDataChanged): Deleted.
* Modules/mediastream/MediaStreamTrack.h:
* Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::didCreateStream): Tell sources to begin producing data.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::load): Don't call stream->startProducingData,
it isn't necessary.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setReadyState): Call characteristicsChanged
when the readyState changes.
* platform/mediastream/MediaStreamPrivate.cpp:
(WebCore::MediaStreamPrivate::trackProducingDataChanged): Deleted.
* platform/mediastream/MediaStreamPrivate.h:
* platform/mediastream/MediaStreamTrackPrivate.cpp:
(WebCore::MediaStreamTrackPrivate::sourceProducingDataChanged): Deleted.
(WebCore::MediaStreamTrackPrivate::sourceEnabledChanged): Deleted.
* platform/mediastream/MediaStreamTrackPrivate.h:
* platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::isProducingDataDidChange): Deleted.
(WebCore::RealtimeMediaSource::setEnabled): Deleted.
* platform/mediastream/RealtimeMediaSource.h:
* platform/mediastream/mac/AVAudioCaptureSource.mm:
(WebCore::AVAudioCaptureSource::captureOutputDidOutputSampleBufferFromConnection): !enabled() -> muted().
* platform/mediastream/mac/AVMediaCaptureSource.mm:
(WebCore::AVMediaCaptureSource::captureSessionIsRunningDidChange): Don't call isProducingDataDidChange..
* platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::processNewFrame): !enabled() -> muted().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192028
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Wed, 4 Nov 2015 18:48:47 +0000 (18:48 +0000)]
[iOS] <video> elements without audio tracks should not interrupt music
https://bugs.webkit.org/show_bug.cgi?id=149888
Reviewed by Eric Carlson.
Source/WebCore:
Tests: TestWebKitAPI/Tests/WebKit/ios/AudioSessionCategoryIOS.mm
Only set the AVAudioSession category to "playback" when the video element in question has an
audio track.
Add a new PlatformMediaSessionClient method called canProduceAudio(), overridden in HTMLMediaElement
and AudioContext, which is checked when updating the AudioSession category in
PlatformMediaSessionManager::updateSessionState().
* Modules/webaudio/AudioContext.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged):
* html/HTMLMediaElement.h:
* platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::activeAudioSessionRequired):
(WebCore::PlatformMediaSession::setCanProduceAudio):
* platform/audio/PlatformMediaSession.h:
(WebCore::PlatformMediaSession::canProduceAudio):
* platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::canProduceAudio):
(WebCore::PlatformMediaSessionManager::sessionCanProduceAudioChanged):
(WebCore::PlatformMediaSessionManager::activeAudioSessionRequired):
(WebCore::PlatformMediaSessionManager::sessionWillBeginPlayback):
* platform/audio/PlatformMediaSessionManager.h:
* platform/audio/mac/MediaSessionManagerMac.cpp:
(PlatformMediaSessionManager::updateSessionState):
Tools:
Add tests to ensure that the AVAudioSession category is correctly set when playing
back media both with and without audio tracks.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/ios/AudioSessionCategoryIOS.mm: Added.
(-[AudioSessionCategoryUIWebViewDelegate webView:shouldStartLoadWithRequest:navigationType:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/ios/video-with-audio.html: Added.
* TestWebKitAPI/Tests/WebKit/ios/video-with-audio.mp4: Added.
* TestWebKitAPI/Tests/WebKit/ios/video-without-audio.html: Added.
* TestWebKitAPI/Tests/WebKit/ios/video-without-audio.mp4: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192027
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Wed, 4 Nov 2015 18:40:41 +0000 (18:40 +0000)]
Fixing test added with r192022
https://bugs.webkit.org/show_bug.cgi?id=150670
Unreviewed test gardening.
* accessibility/list-item-with-pseudo-element-crash.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192026
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Wed, 4 Nov 2015 18:12:12 +0000 (18:12 +0000)]
iOS test results are not visible on the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=150884
Reviewed by Darin Adler.
Re-generated builders.jsonp using generate_builders_json.py.
I think that this is all that's needed for basic support. There is more work needed
to display test expectations, but that's already mostly broken even for Mac.
* TestResultServer/static-dashboards/builders.jsonp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192025
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
calvaris@igalia.com [Wed, 4 Nov 2015 18:09:18 +0000 (18:09 +0000)]
Remove bogus global internal functions for properties and prototype retrieval
https://bugs.webkit.org/show_bug.cgi?id=150892
Reviewed by Darin Adler.
Global @getOwnPropertyNames and @getPrototypeOf point to the floor function, so it is bogus dead code.
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init): Removed global @getOwnPropertyNames and @getPrototypeOf.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192024
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dino@apple.com [Wed, 4 Nov 2015 17:49:46 +0000 (17:49 +0000)]
Accept 8 and 4 value hex colors (#RRGGBBAA)
https://bugs.webkit.org/show_bug.cgi?id=150853
<rdar://problem/
23380930>
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
Delete these tests. The have been updated in the original repository,
so we'll get the new versions soon. Meanwhile, they are covered by
other tests.
* canvas/2d.fillStyle.parse.invalid.hex4-expected.txt: Removed.
* canvas/2d.fillStyle.parse.invalid.hex4.html: Removed.
* canvas/2d.fillStyle.parse.invalid.hex8-expected.txt: Removed.
* canvas/2d.fillStyle.parse.invalid.hex8.html: Removed.
* css/css-color-3/t421-rgb-hex-parsing-f.xht:
Source/WebCore:
CSS Color Level 4 allows #RGBA and #RRGGBBAA values
for colors.
Test: fast/css/hex-colors.html
* platform/graphics/Color.cpp:
(WebCore::parseHexColorInternal): Update the color parsing for
the new syntax.
LayoutTests:
Add a new test for hex colors that covers 4 and 8 value forms.
Also update existing tests now that the syntax has changed.
For the deleted philip tests, they are now in the W3C web-latform-tests import.
* canvas/philip/tests/2d.fillStyle.parse.invalid.hex4-expected.txt: Removed.
* canvas/philip/tests/2d.fillStyle.parse.invalid.hex4.html: Removed.
* canvas/philip/tests/2d.fillStyle.parse.invalid.hex8-expected.txt: Removed.
* canvas/philip/tests/2d.fillStyle.parse.invalid.hex8.html: Removed.
* fast/css/hex-colors-expected.txt: Added.
* fast/css/hex-colors.html: Added.
* fast/css/invalid-hex-color-expected.txt:
* fast/css/invalid-hex-color.html:
* fast/css/invalid-predefined-color-expected.txt:
* fast/css/invalid-predefined-color.html:
* fast/css/script-tests/invalid-predefined-color.js:
* fast/dom/attribute-legacy-colors-expected.txt:
* fast/dom/script-tests/attribute-legacy-colors.js:
* svg/dom/rgb-color-parser-expected.txt:
* svg/dom/rgb-color-parser.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192023
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mario@webkit.org [Wed, 4 Nov 2015 14:46:19 +0000 (14:46 +0000)]
[AX] WebProcess from WebKitGtk+ 2.10.0 compiled in Debug mode hits ASSERT on textUnderElement
https://bugs.webkit.org/show_bug.cgi?id=150670
Source/WebCore:
Patch by Mario Sanchez Prada <mario@webkit.org> on 2015-11-04
Reviewed by Chris Fleizach.
Move the ASSERTs stating that the render tree is stable before using the
TextIterator to their right place, in AccessibilityRenderObject, so that
we don't crash in debug builds in cases when this condition is irrelevant.
Test: accessibility/gtk/list-item-with-pseudo-element-crash.html
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::textUnderElement): Removed ASSERTs.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::textUnderElement): Added ASSERTs, but
only before calling plainText and using the right document for the node.
LayoutTests:
Patch by Joanmarie Diggs <jdiggs@igalia.com> on 2015-11-04
Reviewed by Chris Fleizach.
* accessibility/list-item-with-pseudo-element-crash-expected.txt: Added.
* accessibility/list-item-with-pseudo-element-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192022
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
calvaris@igalia.com [Wed, 4 Nov 2015 11:15:51 +0000 (11:15 +0000)]
[Streams API] Shield streams against user replacing the Promise constructor
https://bugs.webkit.org/show_bug.cgi?id=150887
Reviewed by Youenn Fablet.
Source/WebCore:
With this rework, we shield the Streams implementation against the user doing something like "Promise =
function() { /* do garbage */ };".
Test: streams/streams-promises.html.
* Modules/streams/ReadableStream.js:
(initializeReadableStream):
(cancel):
* Modules/streams/ReadableStreamInternals.js:
(privateInitializeReadableStreamReader):
(cancelReadableStream):
(readFromReadableStreamReader):
* Modules/streams/ReadableStreamReader.js:
(cancel):
(read):
(closed):
* Modules/streams/StreamInternals.js:
(promiseInvokeOrNoop):
(promiseInvokeOrFallbackOrNoop):
* Modules/streams/WritableStream.js:
(initializeWritableStream):
(abort):
(close):
(write):
(closed):
(ready):
* Modules/streams/WritableStreamInternals.js:
(syncWritableStreamStateWithQueue):
LayoutTests:
* streams/streams-promises-expected.txt: Added.
* streams/streams-promises.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192021
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 4 Nov 2015 10:40:17 +0000 (10:40 +0000)]
SVG: hit testing region for <text> elements is incorrect
https://bugs.webkit.org/show_bug.cgi?id=150838
Patch by Antoine Quint <graouts@apple.com> on 2015-11-04
Reviewed by Dean Jackson.
Source/WebCore:
Hit testing for SVG <text> elements was using the same code as hit testing
for CSS-rendered elements. However, in SVG, text elements should only hit
test based on their character cells, not the rectangular bounds of the
element, see section 16.6 of the SVG 1.1 specification:
http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty
So we now hit test each SVGTextFragment of each SVGInlineTextBox
that is a child of an SVGRootInlineBox to correctly find whether the
provided HitTestLocation is contained within a character cell.
Tests: svg/hittest/text-dominant-baseline-hanging.svg
svg/hittest/text-multiple-dx-values.svg
svg/hittest/text-with-multiple-tspans.svg
svg/hittest/text-with-text-node-and-content-elements.svg
svg/hittest/text-with-text-node-only.svg
svg/hittest/text-with-text-path.svg
* rendering/RootInlineBox.h:
Remove the final keyword since nodeAtPoint() may now be subclassed as
implemented in SVGRootInlineBox.
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::nodeAtPoint):
Iterate over the SVGTextFragments to look for a fragment containing the
provided HitTestLocation.
* rendering/svg/SVGRootInlineBox.cpp:
(WebCore::SVGRootInlineBox::nodeAtPoint):
* rendering/svg/SVGRootInlineBox.h:
Override RootInlineBox::nodeAtPoint() to delegate hit testing to the
children inline boxes.
LayoutTests:
* svg/hittest/text-dominant-baseline-hanging-expected.svg: Added.
* svg/hittest/text-dominant-baseline-hanging.svg: Added.
* svg/hittest/text-multiple-dx-values-expected.svg: Added.
* svg/hittest/text-multiple-dx-values.svg: Added.
* svg/hittest/text-with-multiple-tspans-expected.svg: Added.
* svg/hittest/text-with-multiple-tspans.svg: Added.
* svg/hittest/text-with-text-node-and-content-elements-expected.svg: Added.
* svg/hittest/text-with-text-node-and-content-elements.svg: Added.
* svg/hittest/text-with-text-node-only-expected.svg: Added.
* svg/hittest/text-with-text-node-only.svg: Added.
* svg/hittest/text-with-text-path-expected.svg: Added.
* svg/hittest/text-with-text-path.svg: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192020
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Wed, 4 Nov 2015 10:13:27 +0000 (10:13 +0000)]
[GStreamer] Use RunLoop::Timer for ready state timer in MediaPlayerPrivateGStreamer
https://bugs.webkit.org/show_bug.cgi?id=150836
Reviewed by Philippe Normand.
We don't really need a GThreadSafeMainLoopSource for this simple timer.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::readyTimerFired):
(WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
(WebCore::MediaPlayerPrivateGStreamer::loadingFailed):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192019
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
calvaris@igalia.com [Wed, 4 Nov 2015 09:34:37 +0000 (09:34 +0000)]
Unreviewed.
* platform/win/TestExpectations: Marked 150867 as duplicate of 147933.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192018
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fred.wang@free.fr [Wed, 4 Nov 2015 08:50:31 +0000 (08:50 +0000)]
Add support for the USE_TYPO_METRICS flag on iOS
https://bugs.webkit.org/show_bug.cgi?id=131839
Reviewed by Darin Adler.
Make the iOS Font service use the typo metrics for fonts with a MATH table when the OS/2 USE_TYPO_METRICS flag is set.
The code shared by iOS, OS X and AppleWin is moved into a separate OpenTypeCG module.
No new tests because this is already tested by fonts/use-typo-metrics-1.html
* PlatformAppleWin.cmake: Add OpenTypeCG files.
* PlatformMac.cmake: ditto.
* WebCore.vcxproj/WebCore.vcxproj: ditto.
* WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
* WebCore.xcodeproj/project.pbxproj: ditto.
* platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::platformInit): Use functions from OpenTypeCG.
(WebCore::fontHasMathTable): Deleted.
* platform/graphics/ios/FontServicesIOS.mm:
(WebCore::FontServicesIOS::FontServicesIOS): Use the typo metrics for fonts with a MATH table when the OS/2 USE_TYPO_METRICS flag is set.
* platform/graphics/opentype/OpenTypeCG.h: Added.
* platform/graphics/opentype/OpenTypeCG.cpp: Added.
(WebCore::OpenType::fontHasMathTable): Move this code from FontCocoa.mm.
(WebCore::OpenType::readShortFromTable): Inline function to read a 16-bit big endian integer from the OS/2 table and to cast it into a short integer.
(WebCore::OpenType::tryGetTypoMetrics): Move this code from FontCocoa.mm.
* platform/graphics/opentype/OpenTypeTypes.h: Add missing Glyph.h header needed by TableWithCoverage::getCoverageIndex.
* platform/graphics/win/SimpleFontDataCGWin.cpp:
(WebCore::Font::platformInit): Use functions from OpenTypeCG.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192017
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Wed, 4 Nov 2015 08:10:09 +0000 (08:10 +0000)]
Regression(r191652): Colloquy doesn’t render any chat content
https://bugs.webkit.org/show_bug.cgi?id=150861
<rdar://problem/
23381007>
Reviewed by Antti Koivisto.
Source/WebCore:
Do a partial revert of r191652 as this web-exposed behavior change
broke Colloquy app. This only reverts the code change, the tests
are left as is so that they don't rely of the frame ID setting the
Window name.
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::parseAttribute):
(WebCore::HTMLFrameElementBase::setNameAndOpenURL):
LayoutTests:
Update / rebaseline a couple of tests as this patch restores the
pre-r191652 behavior.
* fast/dom/Window/window-special-properties-expected.txt:
* fast/frames/iframe-no-name-expected.txt:
* fast/frames/iframe-no-name.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192016
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aestes@apple.com [Wed, 4 Nov 2015 07:59:16 +0000 (07:59 +0000)]
[Cocoa] Add SPI to warm an initial web process
https://bugs.webkit.org/show_bug.cgi?id=150886
Reviewed by Dan Bernstein.
* UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _warmInitialProcess]):
* UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192015
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Wed, 4 Nov 2015 07:16:30 +0000 (07:16 +0000)]
Modern IDB: Fill out IDBIndex, create MemoryIndex in backing store.
https://bugs.webkit.org/show_bug.cgi?id=150868
Reviewed by Alex Christensen.
Source/WebCore:
Tests: storage/indexeddb/modern/create-index-failures.html
storage/indexeddb/modern/get-index-failures.html
storage/indexeddb/modern/idbindex-properties-basic.html
Note: The MemoryIndex in the backing store doesn't actually do anything yet.
That's coming next.
* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* Modules/indexeddb/IDBIndex.h:
* Modules/indexeddb/client/IDBConnectionToServer.cpp:
(WebCore::IDBClient::IDBConnectionToServer::createIndex):
(WebCore::IDBClient::IDBConnectionToServer::didCreateIndex):
* Modules/indexeddb/client/IDBConnectionToServer.h:
* Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
* Modules/indexeddb/client/IDBCursorWithValueImpl.h:
* Modules/indexeddb/client/IDBDatabaseImpl.cpp:
(WebCore::IDBClient::IDBDatabase::didCreateIndexInfo):
* Modules/indexeddb/client/IDBDatabaseImpl.h:
* Modules/indexeddb/client/IDBIndexImpl.cpp:
(WebCore::IDBClient::IDBIndex::create):
(WebCore::IDBClient::IDBIndex::IDBIndex):
(WebCore::IDBClient::IDBIndex::objectStore):
(WebCore::IDBClient::IDBIndex::keyPathAny):
(WebCore::IDBClient::IDBIndex::openCursor):
(WebCore::IDBClient::IDBIndex::count):
(WebCore::IDBClient::IDBIndex::openKeyCursor):
(WebCore::IDBClient::IDBIndex::get):
(WebCore::IDBClient::IDBIndex::getKey):
* Modules/indexeddb/client/IDBIndexImpl.h:
* Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
(WebCore::IDBClient::IDBObjectStore::createIndex):
(WebCore::IDBClient::IDBObjectStore::index):
* Modules/indexeddb/client/IDBObjectStoreImpl.h:
* Modules/indexeddb/client/IDBTransactionImpl.cpp:
(WebCore::IDBClient::IDBTransaction::createObjectStore):
(WebCore::IDBClient::IDBTransaction::createIndex):
(WebCore::IDBClient::IDBTransaction::createIndexOnServer):
(WebCore::IDBClient::IDBTransaction::didCreateIndexOnServer):
* Modules/indexeddb/client/IDBTransactionImpl.h:
* Modules/indexeddb/legacy/LegacyIndex.h:
* Modules/indexeddb/server/IDBBackingStore.h:
* Modules/indexeddb/server/IDBConnectionToClient.cpp:
(WebCore::IDBServer::IDBConnectionToClient::didCreateIndex):
* Modules/indexeddb/server/IDBConnectionToClient.h:
* Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
* Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::createIndex):
* Modules/indexeddb/server/IDBServer.h:
* Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
(WebCore::IDBServer::MemoryBackingStoreTransaction::addNewIndex):
(WebCore::IDBServer::MemoryBackingStoreTransaction::addExistingIndex):
* Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
* Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
(WebCore::IDBServer::MemoryIDBBackingStore::createIndex):
* Modules/indexeddb/server/MemoryIDBBackingStore.h:
* Modules/indexeddb/server/MemoryIndex.cpp: Added.
(WebCore::IDBServer::MemoryIndex::create):
(WebCore::IDBServer::MemoryIndex::MemoryIndex):
(WebCore::IDBServer::MemoryIndex::~MemoryIndex):
* Modules/indexeddb/server/MemoryIndex.h: Added.
(WebCore::IDBServer::MemoryIndex::info):
* Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::createIndex):
(WebCore::IDBServer::MemoryObjectStore::registerIndex):
(WebCore::IDBServer::MemoryObjectStore::unregisterIndex):
* Modules/indexeddb/server/MemoryObjectStore.h:
* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::createIndex):
(WebCore::IDBServer::UniqueIDBDatabase::performCreateIndex):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformCreateIndex):
* Modules/indexeddb/server/UniqueIDBDatabase.h:
* Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseConnection::didCreateIndex):
* Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
* Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::createIndex):
* Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
* Modules/indexeddb/shared/IDBDatabaseInfo.cpp:
(WebCore::IDBDatabaseInfo::getInfoForExistingObjectStore):
(WebCore::IDBDatabaseInfo::infoForExistingObjectStore):
* Modules/indexeddb/shared/IDBDatabaseInfo.h:
* Modules/indexeddb/shared/IDBIndexInfo.cpp:
(WebCore::IDBIndexInfo::IDBIndexInfo):
(WebCore::IDBIndexInfo::isolatedCopy):
* Modules/indexeddb/shared/IDBIndexInfo.h:
(WebCore::IDBIndexInfo::identifier):
(WebCore::IDBIndexInfo::objectStoreIdentifier):
* Modules/indexeddb/shared/IDBObjectStoreInfo.cpp:
(WebCore::IDBObjectStoreInfo::createNewIndex):
(WebCore::IDBObjectStoreInfo::addExistingIndex):
(WebCore::IDBObjectStoreInfo::hasIndex):
(WebCore::IDBObjectStoreInfo::infoForExistingIndex):
(WebCore::IDBObjectStoreInfo::isolatedCopy):
* Modules/indexeddb/shared/IDBObjectStoreInfo.h:
* Modules/indexeddb/shared/IDBResultData.cpp:
(WebCore::IDBResultData::createIndexSuccess):
* Modules/indexeddb/shared/IDBResultData.h:
* Modules/indexeddb/shared/InProcessIDBServer.cpp:
(WebCore::InProcessIDBServer::didCreateIndex):
(WebCore::InProcessIDBServer::createIndex):
* Modules/indexeddb/shared/InProcessIDBServer.h:
* bindings/js/JSIDBObjectStoreCustom.cpp:
(WebCore::JSIDBObjectStore::createIndex):
* platform/CrossThreadCopier.cpp:
(WebCore::IDBIndexInfo>::copy):
* platform/CrossThreadCopier.h:
LayoutTests:
* platform/mac-wk2/TestExpectations:
* storage/indexeddb/modern/create-index-failures-expected.txt: Added.
* storage/indexeddb/modern/create-index-failures.html: Added.
* storage/indexeddb/modern/get-index-failures-expected.txt: Added.
* storage/indexeddb/modern/get-index-failures.html: Added.
* storage/indexeddb/modern/idbindex-properties-basic-expected.txt: Added.
* storage/indexeddb/modern/idbindex-properties-basic.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192014
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aestes@apple.com [Wed, 4 Nov 2015 07:06:16 +0000 (07:06 +0000)]
[Cocoa] Adopt WKWebViewAdditions
https://bugs.webkit.org/show_bug.cgi?id=150885
Reviewed by Dan Bernstein.
* UIProcess/API/Cocoa/WKWebView.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192013
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bshafiei@apple.com [Wed, 4 Nov 2015 06:33:12 +0000 (06:33 +0000)]
Versioning.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192011
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aestes@apple.com [Wed, 4 Nov 2015 06:30:42 +0000 (06:30 +0000)]
[Cocoa] Only query for kMGQDeviceName on iOS
https://bugs.webkit.org/show_bug.cgi?id=150858
Reviewed by Brent Fulgham.
* platform/ios/Device.cpp:
(WebCore::deviceName): On non-iOS platorms, just return "iPhone" as the device name.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192010
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 4 Nov 2015 05:45:51 +0000 (05:45 +0000)]
Unreviewed, rolling out r191995.
https://bugs.webkit.org/show_bug.cgi?id=150880
Broke iOS tests (Requested by ap on #webkit).
Reverted changeset:
"run-webkit-test should look in --root directory for
LayoutTestRelay"
https://bugs.webkit.org/show_bug.cgi?id=150859
http://trac.webkit.org/changeset/191995
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192009
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Wed, 4 Nov 2015 05:12:40 +0000 (05:12 +0000)]
[JSC] Add B3-to-Air lowering for BitXor
https://bugs.webkit.org/show_bug.cgi?id=150872
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-11-03
Reviewed by Filip Pizlo.
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::xor32):
Fix the indentation.
* b3/B3Const32Value.cpp:
(JSC::B3::Const32Value::bitXorConstant):
* b3/B3Const32Value.h:
* b3/B3Const64Value.cpp:
(JSC::B3::Const64Value::bitXorConstant):
* b3/B3Const64Value.h:
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::tryXor):
* b3/B3LoweringMatcher.patterns:
* b3/B3ReduceStrength.cpp:
* b3/B3Value.cpp:
(JSC::B3::Value::bitXorConstant):
* b3/B3Value.h:
* b3/air/AirOpcode.opcodes:
* b3/testb3.cpp:
(JSC::B3::testBitXorArgs):
(JSC::B3::testBitXorSameArg):
(JSC::B3::testBitXorImms):
(JSC::B3::testBitXorArgImm):
(JSC::B3::testBitXorImmArg):
(JSC::B3::testBitXorBitXorArgImmImm):
(JSC::B3::testBitXorImmBitXorArgImm):
(JSC::B3::testBitXorArgs32):
(JSC::B3::testBitXorSameArg32):
(JSC::B3::testBitXorImms32):
(JSC::B3::testBitXorArgImm32):
(JSC::B3::testBitXorImmArg32):
(JSC::B3::testBitXorBitXorArgImmImm32):
(JSC::B3::testBitXorImmBitXorArgImm32):
(JSC::B3::run):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192008
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jiewen_tan@apple.com [Wed, 4 Nov 2015 02:47:50 +0000 (02:47 +0000)]
[WK1] Null dereference loading Blink layout test editing/input/text-input-controller-no-editable-no-crash.html
https://bugs.webkit.org/show_bug.cgi?id=149484
<rdar://problem/
22811338>
Reviewed by Darin Adler.
Source/WebKit/mac:
firstRectForCharacterRange(): don't fall over in an editable-less frame.
* WebView/WebFrame.mm:
(-[WebFrame _convertToDOMRange:]):
LayoutTests:
This test is from Blink r194870:
https://codereview.chromium.org/
1122593004
* editing/mac/input/text-input-controller-no-editable-no-crash-expected.txt: Added.
* editing/mac/input/text-input-controller-no-editable-no-crash.html: Added.
* platform/wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192007
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 4 Nov 2015 01:58:34 +0000 (01:58 +0000)]
Add graphics benchmark to performance bot
https://bugs.webkit.org/show_bug.cgi?id=150450
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-11-03
Reviewed by Chris Dumez.
* Scripts/webkitpy/benchmark_runner/data/patches/Animometer.patch: Added.
* Scripts/webkitpy/benchmark_runner/data/plans/animometer.plan: Added.
Add a patch and a plan to set the defaults of the benchmark, run it,
collect the result and report it to the benchmark runner.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192006
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Wed, 4 Nov 2015 01:48:47 +0000 (01:48 +0000)]
Web Inspector: REGRESSION (r191612): Storage sidebar panel tree outline is broken
https://bugs.webkit.org/show_bug.cgi?id=150862
Reviewed by Joseph Pecoraro.
* UserInterface/Views/ApplicationCacheFrameContentView.js:
Inherit from ContentView.
* UserInterface/Views/StorageSidebarPanel.js:
(WebInspector.StorageSidebarPanel.prototype._addDatabase):
Fixed syntax error.
(WebInspector.StorageSidebarPanel.prototype._addIndexedDatabase):
(WebInspector.StorageSidebarPanel.prototype._addFrameManifest):
WebInspector.TreeOutline.append doesn't exist; changed to appendChild.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192005
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Wed, 4 Nov 2015 01:42:17 +0000 (01:42 +0000)]
Duplicate validateUserInterfaceItem in WKWebView
https://bugs.webkit.org/show_bug.cgi?id=150873
Reviewed by Anders Carlsson.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView changeFont:]):
(-[WKWebView startSpeaking:]):
(-[WKWebView validateUserInterfaceItem:]):
(-[WKWebView goBack:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192004
268f45cc-cd09-0410-ab3c-
d52691b4dbfc