Timeline



May 29, 2015:

8:55 PM Changeset in webkit [185030] by Joseph Pecoraro
  • 3 edits in trunk/Source/WebKit2

Web Inspector: Crash closing a related tab with Web Inspector open while page is refreshing
https://bugs.webkit.org/show_bug.cgi?id=145488

Reviewed by Alexey Proskuryakov.

  • WebProcess/WebPage/WebInspector.h:
  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::~WebInspector):
Ensure, no matter how we close, that we have invalidated the
frontend connection of which we are the client.

(WebKit::WebInspector::createInspectorPage):
This member variable will never be null.

8:51 PM Changeset in webkit [185029] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebCore

Unreviewed bindings test rebaseline after r185023.

  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:

(WebCore::isObservable): Deleted.
(WebCore::JSTestGenerateIsReachableOwner::isReachableFromOpaqueRoots): Deleted.

7:49 PM Changeset in webkit [185028] by akling@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] When bouncing back from max pinch zoom scale, scaleChangeRate should be 0.
<https://webkit.org/b/145487>
<rdar://problem/20989389>

Reviewed by Benjamin Poulain.

Make sure we don't send WebCore some velocity data with non-zero scaleChangeRate
when we bounce back from being pinch-zoomed past the maximum scale.

This fixes an issue where the bounce-back animation would cause a burst of
unnecessary tile generation.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::adjustVelocityDataForBoundedScale):
(WebKit::WebPage::updateVisibleContentRects):

7:48 PM Changeset in webkit [185027] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Reduce tiling coverage when doing a pure pinch zoom with no panning.
<https://webkit.org/b/145481>
<rdar://problem/20989389>

Reviewed by Benjamin Poulain.

When we're zooming in with a pinch gesture but not panning the page
at the same time, make the coverage rect be the visible rect.

This reduces memory pressure during zooming, especially on slower
devices that struggle to keep up with the current viewport.

  • platform/graphics/ca/TileController.cpp:

(WebCore::TileController::computeTileCoverageRect):

7:07 PM Changeset in webkit [185026] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.32-branch/Source

Versioning.

6:49 PM Changeset in webkit [185025] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.32.8

New tag.

6:19 PM Changeset in webkit [185024] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Make the header replace rule more restrictive and get rid of a special case
https://bugs.webkit.org/show_bug.cgi?id=145486

Reviewed by Ryosuke Niwa.

We used to not run the header migration script on WAKScrollView.h since we had a rule that would transform
"<WebCore" to "<WebKitLegacy" to convert header #imports. However, WAKScrollView.h contains "WAKView <WebCoreFrameScrollView>"
which would get transformed to "WAKView <WebKitLegacyFrameScrollView>".

Instead, check for the trailing slash as well and stop special-casing WAKScrollView.h.

  • MigrateHeaders.make:
5:26 PM Changeset in webkit [185023] by commit-queue@webkit.org
  • 4 edits
    3 adds in trunk

WeakMap reference w/ DOM element as key does not survive long enough.
https://bugs.webkit.org/show_bug.cgi?id=137651

Patch by Keith Miller <keith_miller@apple.com> on 2015-05-29
Reviewed by Geoffrey Garen.

Source/WebCore:

Remove isObservable functions as an "unobservable wrappers"
optimization is invalid with WeakMaps. Performance testing
will be done after the code is commited. If major
performance issues occur the patch will be rolled out.

Test: js/dom/weakmap-gc-unobservable-dom-nodes.html

  • bindings/js/JSNodeCustom.cpp:

(WebCore::isReachableFromDOM):
(WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
(WebCore::JSNode::insertBefore):
(WebCore::isObservable): Deleted.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

LayoutTests:

  • js/dom/script-tests/weakmap-gc-unobservable-dom-nodes.js: Added.

(.set gc):

  • js/dom/weakmap-gc-unobservable-dom-nodes.html: Added.
5:19 PM Changeset in webkit [185022] by mark.lam@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Refactoring HandlerInfo and UnlinkedHandlerInfo.
https://bugs.webkit.org/show_bug.cgi?id=145480

Reviewed by Benjamin Poulain.

HandlerInfo and UnlinkedHandlerInfo have common parts, but are not currently
expressed as 2 unrelated structs that happen to have near identical fields.
We can refactor them to better express their relationship. We can also add
some convenience functions to make the code that uses them a little more
readable.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::handlerForBytecodeOffset):

  • bytecode/HandlerInfo.h:

(JSC::UnlinkedHandlerInfo::UnlinkedHandlerInfo):
(JSC::HandlerInfo::initialize):

  • I chose to include CodeLocationLabel arg even though it is unused by by non-JIT builds. This makes the call site cleaner to read.
  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedSimpleJumpTable::add):
(JSC::UnlinkedInstruction::UnlinkedInstruction):
(JSC::UnlinkedCodeBlock::numberOfExceptionHandlers):
(JSC::UnlinkedCodeBlock::addExceptionHandler):
(JSC::UnlinkedCodeBlock::exceptionHandler):
(JSC::UnlinkedCodeBlock::symbolTable):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::generate):

5:11 PM Changeset in webkit [185021] by andersca@apple.com
  • 19 edits
    1 delete in trunk/Source

Get rid of WAKViewPrivate.h
https://bugs.webkit.org/show_bug.cgi?id=145482
rdar://problem/21162149

Reviewed by Dan Bernstein.

Source/WebCore:

Merge WAKViewPrivate.h into WAKViewInternal.h and move the NSView sizing enum
to WAKView.h since that was the only thing WebKit used (indirectly) from WAKViewPrivate.h.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/WAKViewInternal.h:

(WAKViewForWKViewRef):

  • platform/ios/ScrollViewIOS.mm:
  • platform/ios/wak/WAKResponder.m:
  • platform/ios/wak/WAKView.h:
  • platform/ios/wak/WAKView.mm:
  • platform/ios/wak/WAKViewPrivate.h: Removed.

(WAKViewForWKViewRef): Deleted.

  • platform/ios/wak/WAKWindow.mm:
  • platform/ios/wak/WKView.h:
  • platform/ios/wak/WKView.mm:

Source/WebKit/mac:

Remove WAKViewPrivate.h imports.

  • DefaultDelegates/WebDefaultUIDelegate.m:
  • MigrateHeaders.make:
  • Misc/WebKitNSStringExtras.mm:
  • Misc/WebNSViewExtras.m:
  • WebCoreSupport/WebFrameLoaderClient.mm:
  • WebView/WebFrame.mm:
  • WebView/WebFrameView.mm:
  • WebView/WebHTMLView.mm:
4:59 PM Changeset in webkit [185020] by dbates@webkit.org
  • 5 edits in trunk/Source/WebCore

Clean up logic for updating caps lock indicator state
https://bugs.webkit.org/show_bug.cgi?id=145329

Reviewed by Sam Weinig.

Remove logic to explicitly update the state of the caps lock indicator, which was used
when the caps logic indicator was implemented as part of RenderTextControl. Currently,
the caps logic indicator is implemented as part of a shadow DOM and we have existing
logic to forward DOM focus and blur events to it so that it may update its state.

No change in behavior.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::focusedOrActiveStateChanged): Deleted.

  • editing/FrameSelection.h:
  • page/EventHandler.cpp:

(WebCore::EventHandler::keyEvent): Inline the code from EventHandler::capsLockStateMayHaveChanged()
into this function because it is the only caller of EventHandler::capsLockStateMayHaveChanged() after
we removed the call site in FrameSelection::focusedOrActiveStateChanged().
(WebCore::EventHandler::capsLockStateMayHaveChanged): Deleted.

  • page/EventHandler.h:
4:53 PM Changeset in webkit [185019] by Alan Bujtas
  • 3 edits
    4 adds in trunk

Text disappears shortly after page load on Nexus 7 site.
https://bugs.webkit.org/show_bug.cgi?id=145467
rdar://problem/18327239

Reviewed by Simon Fraser.

This patch ensures that overlap testing for composited layers works properly when the sibling
layer gets composited through its child.

When a layer gets composited through its child content, the recursive overlap testing should build up the
overlapmap stack so that sibling content is intersected both against the child and its parent bounds.

Source/WebCore:

Tests: compositing/sibling-layer-does-not-get-composited-overflow-hidden-case.html

compositing/sibling-layer-does-not-get-composited-transform-case.html

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
(WebCore::RenderLayerCompositor::OverlapMap::contains): Deleted.

LayoutTests:

  • compositing/sibling-layer-does-not-get-composited-overflow-hidden-case-expected.html: Added.
  • compositing/sibling-layer-does-not-get-composited-overflow-hidden-case.html: Added.
  • compositing/sibling-layer-does-not-get-composited-transform-case-expected.html: Added.
  • compositing/sibling-layer-does-not-get-composited-transform-case.html: Added.
4:51 PM Changeset in webkit [185018] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

Review feedback followup for r185003.
https://bugs.webkit.org/show_bug.cgi?id=145463

Reviewed by Darin Adler.

  • platform/sql/SQLiteDatabase.cpp:

(WebCore::SQLiteDatabase::overrideUnauthorizedFunctions): static const one thing, c++-style cast another.

4:42 PM Changeset in webkit [185017] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

WebContent crash in WebCore::Page::sessionID() const + 0 (Page.cpp:1660)
https://bugs.webkit.org/show_bug.cgi?id=145422
<rdar://problem/20613631>

Reviewed by Brady Eidson.

We sometimes crash when destroying a PageCache CachedFrame because its
DocumentLoader is still loading. This should never happen as we are not
supposed to let pages are still have pending loads into the PageCache.

However, we were using DocumentLoader::isLoadingInAPISense() as check
in PageCache::canCachePageContainingThisFrame() which is not exactly
what we want. isLoadingInAPISense() no longer considers subresource
loads once the frame as loaded. This means if the JS triggers a new
load in a subframe after it has been loaded, then isLoadingInAPISense()
will return false, despite the pending load.

This patch replaces the isLoadingInAPISense() check with isLoading()
as this will consider all pending loads, even after the frame is
loaded.

In most cases, using isLoadingInAPISense() was not an issue because
we call DocumentLoader::stopLoading() in all subframes before starting
a provisional load. However, nothing seems to prevent JS from
triggering a new load after that and before the new load gets committed
(which is when we save the page into PageCache).

No new test as we don't have a reliable reproduction case and the
issue is timing related.

  • history/PageCache.cpp:

(WebCore::logCanCacheFrameDecision):
(WebCore::PageCache::canCachePageContainingThisFrame):

  • page/DiagnosticLoggingKeys.cpp:

(WebCore::DiagnosticLoggingKeys::isLoading):
(WebCore::DiagnosticLoggingKeys::loadingAPISenseKey): Deleted.

  • page/DiagnosticLoggingKeys.h:
4:20 PM Changeset in webkit [185016] by jonlee@apple.com
  • 3 edits in trunk/Source/WebKit2

Fix preferences for wireless playback
https://bugs.webkit.org/show_bug.cgi?id=145477
rdar://problem/21166767

Reviewed by Anders Carlsson.

  • UIProcess/API/C/WKPreferences.cpp: Add missing preference calls in C API.
  • UIProcess/API/C/WKPreferencesRef.h:
4:07 PM Changeset in webkit [185015] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Activity Viewer does not update on "clear all console messages"
https://bugs.webkit.org/show_bug.cgi?id=144681

Patch by Tobias Reiss <tobi+webkit@basecode.de> on 2015-05-29
Reviewed by Joseph Pecoraro.

Do not apply "ignoreDidClearMessages" hack on "Clear log" Button and Context menu.

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype._sessionStarted):
(WebInspector.LogContentView.prototype._clearLogIgnoringClearMessages):
(WebInspector.LogContentView.prototype._clearLog): Deleted.

4:03 PM Changeset in webkit [185014] by rniwa@webkit.org
  • 2 edits
    2 adds in trunk/Tools

run-benchmark should print out the results
https://bugs.webkit.org/show_bug.cgi?id=145398

Reviewed by Antti Koivisto.

Added BenchmarkResults to compute and format the aggregated values. It also does the syntax/semantic check
of the output to catch early errors.

  • Scripts/webkitpy/benchmark_runner/benchmark_results.py: Added.

(BenchmarkResults): Added.
(BenchmarkResults.init): Added.
(BenchmarkResults.format): Added.
(BenchmarkResults._format_tests): Added. Used by BenchmarkResults.format.
(BenchmarkResults._format_values): Formats a list of values measured for a given metric on a given test.
Uses the sample standard deviation to compute the significant figures for the value.
(BenchmarkResults._unit_from_metric): Added.
(BenchmarkResults._aggregate_results): Added.
(BenchmarkResults._aggregate_results_for_test): Added.
(BenchmarkResults._flatten_list): Added.
(BenchmarkResults._subtest_values_by_config_iteration): Added. Organizes values measured for subtests
by the iteration number so that i-th array contains values for all subtests at i-th iteration.
(BenchmarkResults._aggregate_values): Added.
(BenchmarkResults._lint_results): Added.
(BenchmarkResults._lint_subtest_results): Added.
(BenchmarkResults._lint_aggregator_list): Added.
(BenchmarkResults._lint_configuration): Added.
(BenchmarkResults._lint_values): Added.
(BenchmarkResults._is_numeric): Added.

  • Scripts/webkitpy/benchmark_runner/benchmark_results_unittest.py: Added.

(BenchmarkResultsTest):
(BenchmarkResultsTest.test_init):
(BenchmarkResultsTest.test_format):
(test_format_values_with_large_error):
(test_format_values_with_small_error):
(test_format_values_with_time):
(test_format_values_with_no_error):
(test_format_values_with_small_difference):
(test_aggregate_results):
(test_aggregate_results_with_gropus):
(test_aggregate_nested_results):
(test_lint_results):

  • Scripts/webkitpy/benchmark_runner/benchmark_runner.py:

(BenchmarkRunner.execute): Added a call to show_results
(BenchmarkRunner.wrap): Only dump the merged JSON when debugging.
(BenchmarkRunner.show_results): Added.

4:02 PM Changeset in webkit [185013] by enrica@apple.com
  • 5 edits in trunk/Source/WebKit2

[iOS] Cursor hidden in text area once it scrolls.
https://bugs.webkit.org/show_bug.cgi?id=145451
rdar://problem/20356413

Reviewed by Simon Fraser.

This patch fixes both the touch scrolling inside the
overflow area as well as the programmatic scroll that
occurs when inserting a new line. The first issue is fixed by
implementing the chrome client methods didLayout,
didStartOverflowScroll and didEndOverflowScroll. The second
required changing the implementation of notifyRevealedSelectionByScrollingFrame.
We not only need to notify the client to redraw the selection,
but we also need to recompute the editorState, because scrolling
might have occurred.
I've removed the NotifyRevealedSelection message that was not needed
any longer, since EditorStateChanged will do exactly what we want.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::editorStateChanged):
(WebKit::WebPageProxy::notifyRevealedSelection): Deleted.

  • WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:

(WebKit::WebChromeClient::notifyRevealedSelectionByScrollingFrame):
(WebKit::WebChromeClient::didLayout):
(WebKit::WebChromeClient::didStartOverflowScroll):
(WebKit::WebChromeClient::didEndOverflowScroll):

4:02 PM Changeset in webkit [185012] by Chris Dumez
  • 10 edits
    4 adds in trunk

Consider throttling DOM timers in iframes outside the viewport
https://bugs.webkit.org/show_bug.cgi?id=145465
<rdar://problem/20768957>

Reviewed by Darin Adler.

Source/WebCore:

Throttle DOM timers in iframes that are outside the viewport to decrease
CPU usage, improve performance and reduce power use.

The approach is similar to what we already did for requestAnimationFrame
in r183998.

We already has support for throttling DOM timers at:

  • Page level: for backgound pages
  • DOM timer level: for timers changing the style of an element outside the viewport or drawing on a canvas outside the viewport.

This patch adds support for throttling DOM timers at Document level so
we can throttle all timers inside a specific iframe / Document. It relies
on the same timerAlignmentInterval that is used for throttling at Page
level with tweaks so that different Documents inside the same Page can
have a different timerAlignmentInterval.

Test: fast/dom/timer-throttling-subframe.html

  • dom/Document.cpp:

(WebCore::Document::setTimerThrottlingEnabled):
(WebCore::Document::timerAlignmentInterval):

  • dom/Document.h:

(WebCore::Document::isTimerThrottlingEnabled):

  • page/DOMTimer.cpp:

(WebCore::DOMTimer::alignedFireTime):
The previous code was not throttling the timer if its fireTime was in
the past. This was causing some aggressive timers on mashable.com to
not be throttled so I got rid of this behavior. I don't see any reason
why we would not throttle a timer simply because it is supposed to have
fired already.

  • page/FrameView.cpp:

(WebCore::FrameView::viewportContentsChanged):
(WebCore::FrameView::updateScriptedAnimationsAndTimersThrottlingState):

  • page/FrameView.h:
  • testing/Internals.cpp:

(WebCore::Internals::areTimersThrottled):

  • testing/Internals.h:
  • testing/Internals.idl:

Add API to facilitate layout testing of this functionality.

LayoutTests:

Add a layout test to check that DOM timers in iframes outside the
viewport get throttled.

  • fast/dom/resources/timer-frame-2.html: Added.
  • fast/dom/resources/timer-frame.html: Added.
  • fast/dom/timer-throttling-subframe-expected.txt: Added.
  • fast/dom/timer-throttling-subframe.html: Added.
4:01 PM Changeset in webkit [185011] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Remove unused expandTreeElementsWhenArrowing property from TreeOutline
https://bugs.webkit.org/show_bug.cgi?id=145470

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/TreeOutline.js:

(WebInspector.TreeOutline.prototype._treeKeyDown):
Replaced uses of removed property with boolean literal.

3:33 PM Changeset in webkit [185010] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

WebResourceLoadDelegatePrivate.h cannot be imported standalone (missing WebNSInteger type)
https://bugs.webkit.org/show_bug.cgi?id=145476
rdar://problem/21162400

Reviewed by Dan Bernstein.

Change WebNSInteger to NSInteger.

  • WebView/WebResourceLoadDelegatePrivate.h:
3:15 PM Changeset in webkit [185009] by andersca@apple.com
  • 3 edits in trunk/Source/WTF

Missing #import of Platform.h in several WTF headers
https://bugs.webkit.org/show_bug.cgi?id=145475
rdar://problem/21161818

Reviewed by Darin Adler.

Add Platform.h #includes.

  • wtf/Assertions.h:
  • wtf/RetainPtr.h:
3:14 PM Changeset in webkit [185008] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

[iOS] Update WebContent process sandbox profile for AWD logging
https://bugs.webkit.org/show_bug.cgi?id=145473
<rdar://problem/20543269>

Reviewed by Darin Adler.

Update WebContent process sandbox profile for AWD logging.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
3:01 PM Changeset in webkit [185007] by beidson@apple.com
  • 3 edits in trunk/Source/WebCore

NavigationAction constructor cleanup.
https://bugs.webkit.org/show_bug.cgi?id=145472

Reviewed by Alex Christensen.

No new tests (Refactor, no change in behavior).

  • loader/NavigationAction.cpp:

(WebCore::NavigationAction::NavigationAction): Delegate many of the various constructors

to a single full-featured constructor.

  • loader/NavigationAction.h:
2:53 PM Changeset in webkit [185006] by commit-queue@webkit.org
  • 24 edits
    2 moves in trunk/Source/WebCore

Rename MediaSession and MediaSessionClient to PlatformMediaSession and PlatformMediaSessionClient so we can use MediaSession for the formal implementation of the Media Session spec.
https://bugs.webkit.org/show_bug.cgi?id=145447

Patch by Matt Rajca <mrajca@apple.com> on 2015-05-29
Reviewed by Eric Carlson.

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::suspendPlayback):

  • Modules/webaudio/AudioContext.h:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • html/HTMLAudioElement.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::pausedForUserInteraction):
(WebCore::HTMLMediaElement::mediaType):
(WebCore::HTMLMediaElement::presentationType):
(WebCore::HTMLMediaElement::displayType):
(WebCore::HTMLMediaElement::didReceiveRemoteControlCommand):

  • html/HTMLMediaElement.h:
  • html/HTMLMediaSession.cpp:

(WebCore::HTMLMediaSession::HTMLMediaSession):
(WebCore::HTMLMediaSession::requiresFullscreenForVideoPlayback):

  • html/HTMLMediaSession.h:
  • html/HTMLVideoElement.h:
  • platform/RemoteCommandListener.h:
  • platform/audio/MediaSessionManager.cpp:

(WebCore::MediaSessionManager::resetRestrictions):
(WebCore::MediaSessionManager::has):
(WebCore::MediaSessionManager::activeAudioSessionRequired):
(WebCore::MediaSessionManager::count):
(WebCore::MediaSessionManager::beginInterruption):
(WebCore::MediaSessionManager::endInterruption):
(WebCore::MediaSessionManager::addSession):
(WebCore::MediaSessionManager::removeSession):
(WebCore::MediaSessionManager::addRestriction):
(WebCore::MediaSessionManager::removeRestriction):
(WebCore::MediaSessionManager::restrictions):
(WebCore::MediaSessionManager::sessionWillBeginPlayback):
(WebCore::MediaSessionManager::sessionWillEndPlayback):
(WebCore::MediaSessionManager::setCurrentSession):
(WebCore::MediaSessionManager::currentSession):
(WebCore::MediaSessionManager::sessionRestrictsInlineVideoPlayback):
(WebCore::MediaSessionManager::sessionCanLoadMedia):
(WebCore::MediaSessionManager::applicationWillEnterBackground):
(WebCore::MediaSessionManager::applicationWillEnterForeground):
(WebCore::MediaSessionManager::didReceiveRemoteControlCommand):
(WebCore::MediaSessionManager::systemWillSleep):
(WebCore::MediaSessionManager::systemDidWake):

  • platform/audio/MediaSessionManager.h:

(WebCore::MediaSessionManager::sessions):

  • platform/audio/PlatformMediaSession.cpp: Renamed from Source/WebCore/platform/audio/MediaSession.cpp.

(WebCore::stateName):
(WebCore::PlatformMediaSession::create):
(WebCore::PlatformMediaSession::PlatformMediaSession):
(WebCore::PlatformMediaSession::~PlatformMediaSession):
(WebCore::PlatformMediaSession::setState):
(WebCore::PlatformMediaSession::beginInterruption):
(WebCore::PlatformMediaSession::endInterruption):
(WebCore::PlatformMediaSession::clientWillBeginPlayback):
(WebCore::PlatformMediaSession::clientWillPausePlayback):
(WebCore::PlatformMediaSession::pauseSession):
(WebCore::PlatformMediaSession::mediaType):
(WebCore::PlatformMediaSession::presentationType):
(WebCore::PlatformMediaSession::title):
(WebCore::PlatformMediaSession::duration):
(WebCore::PlatformMediaSession::currentTime):
(WebCore::PlatformMediaSession::canReceiveRemoteControlCommands):
(WebCore::PlatformMediaSession::didReceiveRemoteControlCommand):
(WebCore::PlatformMediaSession::visibilityChanged):
(WebCore::PlatformMediaSession::clientDataBufferingTimerFired):
(WebCore::PlatformMediaSession::updateClientDataBuffering):
(WebCore::PlatformMediaSession::isHidden):
(WebCore::PlatformMediaSession::displayType):
(WebCore::PlatformMediaSessionClient::mediaSessionTitle):
(WebCore::PlatformMediaSessionClient::mediaSessionDuration):
(WebCore::PlatformMediaSessionClient::mediaSessionCurrentTime):

  • platform/audio/PlatformMediaSession.h: Renamed from Source/WebCore/platform/audio/MediaSession.h.

(WebCore::PlatformMediaSession::state):
(WebCore::PlatformMediaSession::canPlayToWirelessPlaybackTarget):
(WebCore::PlatformMediaSession::isPlayingToWirelessPlaybackTarget):
(WebCore::PlatformMediaSession::requiresPlaybackTargetRouteMonitoring):
(WebCore::PlatformMediaSession::client):
(WebCore::PlatformMediaSessionClient::PlatformMediaSessionClient):
(WebCore::PlatformMediaSessionClient::displayType):
(WebCore::PlatformMediaSessionClient::setShouldBufferData):
(WebCore::PlatformMediaSessionClient::elementIsHidden):
(WebCore::PlatformMediaSessionClient::wirelessRoutesAvailableDidChange):
(WebCore::PlatformMediaSessionClient::setWirelessPlaybackTarget):
(WebCore::PlatformMediaSessionClient::canPlayToWirelessPlaybackTarget):
(WebCore::PlatformMediaSessionClient::isPlayingToWirelessPlaybackTarget):
(WebCore::PlatformMediaSessionClient::setShouldPlayToPlaybackTarget):
(WebCore::PlatformMediaSessionClient::~PlatformMediaSessionClient):

  • platform/audio/ios/MediaSessionManagerIOS.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm:

(WebCore::MediaSessionManageriOS::resetRestrictions):
(WebCore::MediaSessionManageriOS::sessionWillBeginPlayback):
(WebCore::MediaSessionManageriOS::sessionWillEndPlayback):
(WebCore::MediaSessionManageriOS::updateNowPlayingInfo):
(WebCore::MediaSessionManageriOS::sessionCanLoadMedia):
(-[WebMediaSessionHelper interruption:]):

  • platform/audio/mac/MediaSessionManagerMac.cpp:

(MediaSessionManager::updateSessionState):

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::handlePlaybackCommand):

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerHandlePlaybackCommand):

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::rateChanged):

  • platform/ios/RemoteCommandListenerIOS.mm:

(WebCore::RemoteCommandListenerIOS::RemoteCommandListenerIOS):

  • testing/Internals.cpp:

(WebCore::Internals::beginMediaSessionInterruption):
(WebCore::Internals::endMediaSessionInterruption):
(WebCore::Internals::setMediaSessionRestrictions):
(WebCore::Internals::postRemoteControlCommand):

2:46 PM Changeset in webkit [185005] by andersca@apple.com
  • 5 edits in trunk/Source

WebKit.framework installs or references Mac-only headers on iOS
https://bugs.webkit.org/show_bug.cgi?id=145471
rdar://problem/21161459

Reviewed by Dan Bernstein.

Source/WebKit/mac:

  • History/WebURLsWithTitles.h:

Add an #if !TARGET_OS_IPHONE guard around the entire header.

  • MigrateHeaders.make:

Don't migrate the NPAPI headers on iOS.

Source/WebKit2:

  • UIProcess/API/C/mac/WKInspectorPrivateMac.h:

Add an #if !TARGET_OS_IPHONE guard around the entire header.

2:20 PM Changeset in webkit [185004] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

[Content Extensions] Decrease maxNFASize
https://bugs.webkit.org/show_bug.cgi?id=145461

Reviewed by Gavin Barraclough.

  • contentextensions/ContentExtensionCompiler.cpp:

(WebCore::ContentExtensions::compileRuleList):
Decrease maxNFASize based on analysis of memory usage and compiling and interpreting time.

1:59 PM Changeset in webkit [185003] by beidson@apple.com
  • 3 edits in trunk/Source/WebCore

WebSQL default functions can bypass authorizer.
<rdar://problem/21048994> and https://bugs.webkit.org/show_bug.cgi?id=145463

Reviewed by Sam Weinig and Alexey Proskuryakov.

No new tests yet.

  • platform/sql/SQLiteDatabase.cpp:

(WebCore::unauthorizedSQLFunction): Function to install into SQLite to override some built-in functions.
(WebCore::SQLiteDatabase::open):
(WebCore::SQLiteDatabase::overrideUnauthorizedFunctions): Install function overrides for functions that

take arbitrary input that are also meant to be disabled by virtue of them not being whitelisted.

  • platform/sql/SQLiteDatabase.h:
1:26 PM Changeset in webkit [185002] by fpizlo@apple.com
  • 9 edits
    3 adds in trunk

Non-speculative Branch should be fast in the FTL
https://bugs.webkit.org/show_bug.cgi?id=145452

Reviewed by Andreas Kling.
Source/JavaScriptCore:


Inlines the code for convertJSValueToBoolean into the FTL. This also includes some other
clean-ups that I found along the way.

I found this by looking at the hottest functions in DeltaBlue. Despite having so many
Branch specializations, apparently there was still a hot one that we missed that was going
down the untyped path. It was either Int32 or Other. Maybe we could specialize for that
combo, but it makes so much sense to just make all of this nonsense fast.

  • dfg/DFGWatchpointCollectionPhase.cpp:

(JSC::DFG::WatchpointCollectionPhase::handle): Need to watch the masquerades watchpoint on UntypedUse: forms of Branch now.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::boolify): The actual fix.
(JSC::FTL::LowerDFGToLLVM::int52ToStrictInt52):
(JSC::FTL::LowerDFGToLLVM::isInt32):
(JSC::FTL::LowerDFGToLLVM::isNotInt32):
(JSC::FTL::LowerDFGToLLVM::unboxInt32):

  • runtime/JSCellInlines.h:

(JSC::JSCell::toBoolean): Symbol is always true.
(JSC::JSCell::pureToBoolean): Symbol is always true.

  • runtime/JSString.cpp:

(JSC::JSString::getPrimitiveNumber):
(JSC::JSString::toNumber):
(JSC::JSString::toBoolean): Deleted. This is a tiny method. It doesn't need to be out-of-line.

  • runtime/JSString.h:

(JSC::JSString::length):
(JSC::JSString::toBoolean): This method shouldbe inline.

  • runtime/Symbol.cpp:

(JSC::Symbol::toPrimitive):
(JSC::Symbol::getPrimitiveNumber):
(JSC::Symbol::toBoolean): Deleted. A Symbol is always true, so we don't need a method for this.

  • runtime/Symbol.h:

LayoutTests:

  • js/regress/logical-not-weird-types-expected.txt: Added.
  • js/regress/logical-not-weird-types.html: Added.
  • js/regress/script-tests/logical-not-weird-types.js: Added.

(foo):

1:13 PM Changeset in webkit [185001] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.33.2/Source/WebCore

Merged r184924. rdar://problem/21149548

1:10 PM Changeset in webkit [185000] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.33.2/Source

Versioning.

1:06 PM Changeset in webkit [184999] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.33.2

New tag.

12:56 PM Changeset in webkit [184998] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

WKScriptMessageInternal.h should be a project header, not a private header
https://bugs.webkit.org/show_bug.cgi?id=145464
rdar://problem/21161639

Reviewed by Dan Bernstein.

  • WebKit2.xcodeproj/project.pbxproj:
12:27 PM Changeset in webkit [184997] by fpizlo@apple.com
  • 1 edit
    4 adds in trunk/LayoutTests

Land some .html/-expected.txt files for some tests that were added without them.

Rubber stamped by Andreas Kling.

  • js/regress/cse-new-array-buffer-expected.txt: Added.
  • js/regress/cse-new-array-buffer.html: Added.
  • js/regress/cse-new-array-expected.txt: Added.
  • js/regress/cse-new-array.html: Added.
11:45 AM Changeset in webkit [184996] by Joseph Pecoraro
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Tabs should have Context Menus
https://bugs.webkit.org/show_bug.cgi?id=144208

Reviewed by Timothy Hatcher.

Give non-pinned tabs "Close Tab" and "Close Other Tabs" context
menu items to affect other non-pinned tabs.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Views/TabBarItem.js:

(WebInspector.TabBarItem):
(WebInspector.TabBarItem.prototype._handleContextMenuEvent.closeTab):
(WebInspector.TabBarItem.prototype._handleContextMenuEvent.closeOtherTabs):
(WebInspector.TabBarItem.prototype._handleContextMenuEvent):

11:45 AM Changeset in webkit [184995] by bshafiei@apple.com
  • 12 edits in branches/safari-601.1.32-branch/Source

Merge custom patch. rdar://problem/21155654

11:14 AM Changeset in webkit [184994] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Shift fullscreen controls down 20px.
<rdar://problem/21161523>

  • Modules/mediacontrols/mediaControlsApple.css:

(video:-webkit-full-screen::-webkit-media-controls-panel):
Fullscreen control panel is too high and overlaps with caption menu.
Shift it down 20px.

11:05 AM Changeset in webkit [184993] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Restoring the last selected DOM node fails on reload (DOMAgent: No node with given path found)
https://bugs.webkit.org/show_bug.cgi?id=144231

Reviewed by Timothy Hatcher.

Removed _restoreSelectedNodeIsAllowed flag from DOMTreeContentView. The frontend receives two documentUpdated
events from the DOM Agent during page reload, and the flag was preventing DOMTreeContentView from restoring
the previous selection in response to the second event.

  • UserInterface/Views/DOMTreeContentView.js:

(WebInspector.DOMTreeContentView.prototype.selectLastSelectedNode):
(WebInspector.DOMTreeContentView.prototype._restoreSelectedNodeAfterUpdate):

10:51 AM Changeset in webkit [184992] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Some assertion failures in compositing code after r183820
https://bugs.webkit.org/show_bug.cgi?id=144630

Reviewed by Alexey Proskuryakov.

Reinstate the assertion commented out in r183843. Fixed by having blending no longer
escape the media elements, which was fixed via bug 145420.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::computeCompositingRequirements):

10:45 AM Changeset in webkit [184991] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

Clean up VisitedLinkProvider teardown
https://bugs.webkit.org/show_bug.cgi?id=145450
rdar://problem/20244726

Reviewed by Brady Eidson.

  • UIProcess/VisitedLinkProvider.cpp:

(WebKit::VisitedLinkProvider::~VisitedLinkProvider):

10:01 AM Changeset in webkit [184990] by commit-queue@webkit.org
  • 12 edits in trunk/Source/WebCore

Use modern for-loops in WebCore/plugins, storage, style, testing and workers.
https://bugs.webkit.org/show_bug.cgi?id=145425

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-05-29
Reviewed by Darin Adler.

No new tests, no behavior changes.

  • plugins/DOMMimeTypeArray.cpp:

(WebCore::DOMMimeTypeArray::canGetItemsForName):

  • plugins/DOMPlugin.cpp:

(WebCore::DOMPlugin::canGetItemsForName):

  • plugins/DOMPluginArray.cpp:

(WebCore::DOMPluginArray::canGetItemsForName):

  • plugins/PluginData.cpp:

(WebCore::PluginData::getWebVisibleMimesAndPluginIndices):

  • plugins/PluginMainThreadScheduler.cpp:

(WebCore::PluginMainThreadScheduler::dispatchCallsForPlugin):
(WebCore::PluginMainThreadScheduler::dispatchCalls):

  • storage/StorageEventDispatcher.cpp:

(WebCore::StorageEventDispatcher::dispatchLocalStorageEvents):
(WebCore::StorageEventDispatcher::dispatchSessionStorageEventsToFrames):
(WebCore::StorageEventDispatcher::dispatchLocalStorageEventsToFrames):

  • storage/StorageMap.cpp:

(WebCore::StorageMap::importItems):

  • style/StyleResolveTree.cpp:

(WebCore::Style::pseudoStyleCacheIsInvalid):

  • testing/Internals.cpp:

(WebCore::Internals::nodesFromRect):

  • workers/Worker.cpp:

(WebCore::networkStateChanged):

  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::importScripts):

9:58 AM Changeset in webkit [184989] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix when using content extensions debugging.

  • contentextensions/ContentExtensionCompiler.cpp:

(WebCore::ContentExtensions::compileRuleList):
Update variable name.

9:38 AM Changeset in webkit [184988] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

Typo followup to r184987

Unreviewed.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadURLIntoChildFrame): Misplaced brace.

9:31 AM Changeset in webkit [184987] by beidson@apple.com
  • 3 edits in trunk/Source/WebCore

Small FrameLoader refactoring.
https://bugs.webkit.org/show_bug.cgi?id=145459

Reviewed by Alex Christensen.

No new tests (No behavior change).

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadURLIntoChildFrame):
(WebCore::FrameLoader::loadFrameRequest):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::loadPostRequest):

  • loader/FrameLoader.h:
8:21 AM Changeset in webkit [184986] by Alan Bujtas
  • 3 edits in trunk/LayoutTests

Unreviewed Win and GTK gardening.

Skip Mac font specific test.

  • platform/gtk/TestExpectations:
  • platform/win/TestExpectations:
8:20 AM Changeset in webkit [184985] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Unreviewed, rolling out r184949.
https://bugs.webkit.org/show_bug.cgi?id=145458

Ends up generating worse code for HashTable move constructors
(Requested by zdobersek on #webkit).

Reverted changeset:

"Clean up HashTable constructors"
https://bugs.webkit.org/show_bug.cgi?id=145369
http://trac.webkit.org/changeset/184949

1:10 AM Changeset in webkit [184984] by youenn.fablet@crf.canon.fr
  • 8 edits in trunk

MediaDevices.getUserMedia should reject promise instead of throwing exceptions
https://bugs.webkit.org/show_bug.cgi?id=145282

Reviewed by Darin Adler.

Source/WebCore:

Ensuring at the custom binding level that all potential errors are used to reject promise.
Cleaned up the wrappers by removing unneeded RefPtr.

Covered by modified test.

  • Modules/mediastream/MediaDevices.cpp:

(WebCore::MediaDevices::getUserMedia):

  • Modules/mediastream/MediaDevices.h:
  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::create):

  • bindings/js/JSMediaDevicesCustom.cpp:

(WebCore::JSMediaDevices::getUserMedia):

LayoutTests:

Updating test to expect rejection and not error throwing.

  • fast/mediastream/MediaDevices-getUserMedia-expected.txt:
  • fast/mediastream/MediaDevices-getUserMedia.html:
12:51 AM Changeset in webkit [184983] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r184860.
https://bugs.webkit.org/show_bug.cgi?id=145456

May have caused ~1% Octane regression (Requested by kling on
#webkit).

Reverted changeset:

"Try to use StringView when comparing JSStrings for equality."
https://bugs.webkit.org/show_bug.cgi?id=145379
http://trac.webkit.org/changeset/184860

May 28, 2015:

11:38 PM Changeset in webkit [184982] by beidson@apple.com
  • 5 edits
    2 deletes in trunk/Source/WebKit2

Change method of signaling "should open external urls" to WebKit.
https://bugs.webkit.org/show_bug.cgi?id=145454

Reviewed by Dan Bernstein.

Making this a property on the request was never a good idea.

Adding a new extensible load SPI seems much better.

  • Shared/API/Cocoa/_WKNSURLRequestExtras.h: Removed.
  • Shared/API/Cocoa/_WKNSURLRequestExtras.mm: Removed.
  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController loadRequest:userData:]): Since this API is deprecated,

it always gets the default restrictive behavior.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView loadRequest:]):
(-[WKWebView loadRequest:withOptions:]): Take an options dictionary that, for now,

only supports one option.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • WebKit2.xcodeproj/project.pbxproj:
11:17 PM Changeset in webkit [184981] by Gyuyoung Kim
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed gardening on 29th May

Unskip passing tests for viewport-percentage, text, sub-pixel
and update new failing accessibility, fast/overflow and so on.

  • platform/efl/TestExpectations:
9:56 PM Changeset in webkit [184980] by ap@apple.com
  • 2 edits in trunk/Tools

Update results of WebKit1.StringTruncator after r184965. I missed one letter.

  • TestWebKitAPI/Tests/mac/StringTruncator.mm: (TestWebKitAPI::TEST):
9:53 PM Changeset in webkit [184979] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebCore

Replaced 0 with nullptr in WebCore/accessibility.
https://bugs.webkit.org/show_bug.cgi?id=145309

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-05-28
Reviewed by Chris Fleizach.

No new tests, no behavior change.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::mathPrescripts):
(WebCore::AccessibilityRenderObject::mathPostscripts):

  • accessibility/AccessibilityScrollView.cpp:

(WebCore::AccessibilityScrollView::scrollBar):

  • accessibility/atk/AXObjectCacheAtk.cpp:

(WebCore::notifyChildrenSelectionChange):

  • accessibility/atk/WebKitAccessibleHyperlink.cpp:

(webkitAccessibleHyperlinkInit):

  • accessibility/atk/WebKitAccessibleInterfaceDocument.cpp:

(webkitAccessibleDocumentGetAttributes):

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(getAttributeSetForAccessibilityObject):
(attributeSetDifference):

  • accessibility/atk/WebKitAccessibleUtil.h:
  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleRefChild):
(webkitAccessibleGetAttributes):
(webkitAccessibleGetObjectLocale):
(getInterfaceMaskFromObject):
(objectFocusedAndCaretOffsetUnignored):
(cacheAndReturnAtkProperty):

9:50 PM Changeset in webkit [184978] by Nikita Vasilyev
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Update toolbar styles
https://bugs.webkit.org/show_bug.cgi?id=145419

Also, use hairline borders (1 phisical pixel) on retina (DPI >= 2).

Reviewed by Timothy Hatcher.

  • UserInterface/Views/ButtonToolbarItem.css:

(.toolbar .item.button): Deleted.
(.toolbar.icon-and-label-vertical .item.button): Deleted.
(.toolbar.icon-and-label-horizontal .item.button): Deleted.
(.toolbar .item.button > .glyph): Deleted.
(.toolbar.small-size .item.button > .glyph): Deleted.

  • UserInterface/Views/DashboardContainerView.css:

(.toolbar .dashboard-container): Deleted.
(.toolbar.collapsed .dashboard-container): Deleted.
(.toolbar.small-size:matches(.icon-only, .icon-and-label-vertical, .icon-and-label-horizontal) .dashboard-container): Deleted.
(.toolbar .dashboard.slide-out-down): Deleted.
(.toolbar .dashboard.slide-in-up): Deleted.

  • UserInterface/Views/Toolbar.css:

(.toolbar .search-bar > input[type="search"]):
(.toolbar .search-bar > input[type="search"]::-webkit-textfield-decoration-container):
(body:not(.unknown-mac) .toolbar .dashboard-container):
(body:not(.unknown-mac) .toolbar .search-bar > input[type="search"]):
(body:not(.unknown-mac) .toolbar .search-bar > input[type="search"]:focus):
(body:not(.unknown-mac) .toolbar .item.button:active):
(body.window-inactive:not(.unknown-mac) .toolbar .dashboard-container):
(body.unknown-mac .toolbar .dashboard-container):
(body.unknown-mac .toolbar .search-bar > input[type="search"]):
(body.unknown-mac .toolbar .search-bar > input[type="search"]:focus):
(@media (-webkit-min-device-pixel-ratio: 2)):
(body.unknown-mac .toolbar .item.button:active):
(body.unknown-mac.window-inactive .toolbar .dashboard-container):

9:47 PM Changeset in webkit [184977] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebInspectorUI

Web Inspector: Jump from a computed style to the rule it came from
https://bugs.webkit.org/show_bug.cgi?id=120640

Patch by Devin Rousso <Devin Rousso> on 2015-05-28
Reviewed by Timothy Hatcher.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded):
If the delegate of CSSStyleDeclarationTextEditor has cssStyleDeclarationTextEditorShouldAddPropertyGoToArrows set to true, add a goToArrow to all CSS property entries.
(WebInspector.CSSStyleDeclarationTextEditor.prototype.highlightProperty.propertiesMatch):
(WebInspector.CSSStyleDeclarationTextEditor.prototype.highlightProperty.hasMatchingLonghandProperty):
(WebInspector.CSSStyleDeclarationTextEditor.prototype.highlightProperty):
Determines if a given CSS property is in the CSS style section and if so, select that CSS property, focus on the section containing that CSS property, and return true.

  • UserInterface/Views/CSSStyleDeclarationSection.js:

(WebInspector.CSSStyleDeclarationSection.prototype.highlightProperty):
Searches through the properties of the section for a given property and scrolls to it if found.

  • UserInterface/Views/CSSStyleDetailsSidebarPanel.js:

(WebInspector.CSSStyleDetailsSidebarPanel.prototype.computedStyleDetailsPanelShowProperty):
Switches to the rulesStyleDetailsPanel and scrolls to and hightlights a given property in that panel.
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._navigationItemSelected):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels):
Moved this function out of _navigationItemSelected for better reusablity.

  • UserInterface/Views/ComputedStyleDetailsPanel.js:

(WebInspector.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorShowProperty):
Function that calls the delegate (which should be CSSStyleDetailsSidebarPanel) function computedStyleDetailsPanelShowProperty.

  • UserInterface/Views/RulesStyleDetailsPanel.js:

(WebInspector.RulesStyleDetailsPanel):
(WebInspector.RulesStyleDetailsPanel.prototype.refresh):
(WebInspector.RulesStyleDetailsPanel.prototype.scrollToSectionAndHighlightProperty):
Searches through all the sections of the RulesStyleDetailsPanel for a given CSS property.
(WebInspector.RulesStyleDetailsPanel.prototype.shown):
(WebInspector.RulesStyleDetailsPanel.prototype.hidden):
(WebInspector.RulesStyleDetailsPanel.prototype.nodeStylesRefreshed):
Added a flag to this function that will highlight and scroll to a given property (_propertyToSelectAndHighlight) if set on load.

  • UserInterface/Views/StyleDetailsPanel.js:

(WebInspector.StyleDetailsPanel.prototype.markAsNeedsRefresh):
(WebInspector.StyleDetailsPanel.prototype.nodeStylesRefreshed):
Made into protected function to allow it to be overridden.
(WebInspector.StyleDetailsPanel.prototype._nodeStylesRefreshed): Deleted.

9:30 PM Changeset in webkit [184976] by mmaxfield@apple.com
  • 1 edit in trunk/Tools/ChangeLog

Crash under ICU with ASAN during editing/selection/move-by-word-visually-crash-test-5.html
https://bugs.webkit.org/show_bug.cgi?id=145429

Unreviewed test gardening.

  • TestWebKitAPI/Tests/mac/StringTruncator.mm:

(TestWebKitAPI::TEST): Update test due to the progression.

9:03 PM Changeset in webkit [184975] by ap@apple.com
  • 2 edits in trunk/Tools

Update results of WebKit1.StringTruncator after r184965.

  • TestWebKitAPI/Tests/mac/StringTruncator.mm: (TestWebKitAPI::TEST):
  • TestWebKitAPI/Tests/mac/StringTruncator.mm:

(TestWebKitAPI::TEST):

7:06 PM Changeset in webkit [184974] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Should have a keyboard shortcut to switch between inspector tabs
https://bugs.webkit.org/show_bug.cgi?id=144207

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-28
Reviewed by Timothy Hatcher.

These keyboard shortcuts work well in an undocked inspector window.
Be careful that some keyboard shortcuts, when used inside a text
editor / text field are just text actions. However, some keyboard
shortcuts will work no matter where you trigger them.

  • UserInterface/Models/KeyboardShortcut.js:
  • UserInterface/Views/TabBar.js:

(WebInspector.TabBar.prototype.selectPreviousTab):
(WebInspector.TabBar.prototype.selectNextTab):

  • UserInterface/Views/TabBrowser.js:

(WebInspector.TabBrowser):
(WebInspector.TabBrowser.prototype._showPreviousTab):
(WebInspector.TabBrowser.prototype._showNextTab):

6:56 PM Changeset in webkit [184973] by Gyuyoung Kim
  • 2 edits in trunk/Tools

Unreviewed, updated my list of email addresses.

  • Scripts/webkitpy/common/config/contributors.json:
6:08 PM Changeset in webkit [184972] by Gyuyoung Kim
  • 2 edits in trunk/Source/WTF

Purge PassRefPtr in StringConcatenate.h
https://bugs.webkit.org/show_bug.cgi?id=145376

Reviewed by Darin Adler.

Replace PassRefPtr with RefPtr. Additionally use nullptr instead of 0.

  • wtf/text/StringConcatenate.h:

(WTF::tryMakeString):
(WTF::makeString):

5:20 PM Changeset in webkit [184971] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: NewTabContentView should update button disabled state as other tabs are added/removed
https://bugs.webkit.org/show_bug.cgi?id=145448

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-28
Reviewed by Timothy Hatcher.

  • UserInterface/Views/NewTabContentView.js:

(WebInspector.NewTabContentView):
Always add a click listener and add the type as a private property on the element.

(WebInspector.NewTabContentView.prototype.shown):
(WebInspector.NewTabContentView.prototype.hidden):
Add / remove event listeners for tab changes. Also update the view when shown.

(WebInspector.NewTabContentView.prototype._createNewTab):
A disabled button an now be clicked. Do nothing if a new tab of this type is not allowed.

(WebInspector.NewTabContentView.prototype._updateTabItems):
Refresh the disabled state for each of the buttons.

5:15 PM Changeset in webkit [184970] by Alan Bujtas
  • 5 edits
    2 adds in trunk

Subpixel rendering: Pixel crack in text selection of simple text in <textarea>.
https://bugs.webkit.org/show_bug.cgi?id=145393
rdar://problem/19918941

Reviewed by Darin Adler.

Float to LayoutUnit conversion is lossy. To ensure that selection
painting always lines up (snaps) properly, the calculated width needs to
be adjusted by ceiling the float to the next LayoutUnit value.

Source/WebCore:

Test: fast/text/hidpi-text-selection-gap-between-words.html

  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::adjustSelectionRectForSimpleText):

  • platform/graphics/cocoa/FontCascadeCocoa.mm:

(WebCore::FontCascade::adjustSelectionRectForComplexText):

LayoutTests:

  • fast/text/hidpi-text-selection-gap-between-words-expected.html: Added.
  • fast/text/hidpi-text-selection-gap-between-words.html: Added.
  • platform/mac/platform/mac/editing/input/caret-primary-bidi-expected.txt:
4:51 PM Changeset in webkit [184969] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

mozilla/js1_5/Array/regress-154338.js test causes ARM 32 bit iOS devices to run out of memory
https://bugs.webkit.org/show_bug.cgi?id=145444

Reviewed by Geoffrey Garen.

Disabled mozilla/js1_5/Array/regress-154338.js when run on iOS ARM 32 bit devices and
the --memory-limited option is passed to run-jsc-stress-tests.

  • tests/mozilla/mozilla-tests.yaml:
4:48 PM Changeset in webkit [184968] by akling@apple.com
  • 3 edits
    2 adds in trunk

GraphicsLayerCA should start out with m_intersectsCoverageRect=false
<https://webkit.org/b/145443>
<rdar://problem/19685798>

Reviewed by Simon Fraser.

Source/WebCore:

Since the coverage rect of a newly-constructed GraphicsLayerCA is always empty,
there's no way that the layer's own bounding box can intersect with it.
Hence the m_intersectsCoverageRect flag should be false after construction.

This fixes an issue where compositing layers in subframes would be marked as
non-volatile, despite being far outside the viewport and coverage rect.

Test: compositing/visible-rect/iframe-with-layers-outside-viewport.html

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::GraphicsLayerCA):

LayoutTests:

Add a test (based on iframe-and-layers.html) that makes an iframe with compositing
layers inside it and places it far outside the visible viewport.

The layer dump should show that the "intersects coverage rect" flag is 0 for the
iframe and its sublayers.

  • compositing/visible-rect/iframe-with-layers-outside-viewport-expected.txt: Added.
  • compositing/visible-rect/iframe-with-layers-outside-viewport.html: Added.
4:20 PM Changeset in webkit [184967] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r184796 and r184832.
https://bugs.webkit.org/show_bug.cgi?id=145449

2% performance regression (Requested by litherum on #webkit).

Reverted changesets:

"[Cocoa] Use CTFontDrawGlyphs() instead of
CGContextShowGlyphsWithAdvances()/CGContextShowGlyphsAtPositions()"
https://bugs.webkit.org/show_bug.cgi?id=145234
http://trac.webkit.org/changeset/184796

"Cleanup after r184796"
https://bugs.webkit.org/show_bug.cgi?id=145333
http://trac.webkit.org/changeset/184832

4:03 PM Changeset in webkit [184966] by commit-queue@webkit.org
  • 8 edits
    2 moves in trunk/Source/WebCore

Rename HTMLMediaSession to MediaElementSession to reserve "media session" for the Media Session API.
https://bugs.webkit.org/show_bug.cgi?id=145440

Patch by Matt Rajca <mrajca@apple.com> on 2015-05-28
Reviewed by Eric Carlson.

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::loadInternal):
(WebCore::HTMLMediaElement::loadResource):
(WebCore::HTMLMediaElement::suspend):
(WebCore::HTMLMediaElement::resume):
(WebCore::HTMLMediaElement::removeBehaviorsRestrictionsAfterFirstUserGesture):
(WebCore::HTMLMediaElement::mediaState):

  • html/HTMLMediaElement.h:

(WebCore::HTMLMediaElement::mediaSession):

  • html/MediaElementSession.cpp: Renamed from Source/WebCore/html/HTMLMediaSession.cpp.

(WebCore::restrictionName):
(WebCore::MediaElementSession::MediaElementSession):
(WebCore::MediaElementSession::registerWithDocument):
(WebCore::MediaElementSession::unregisterWithDocument):
(WebCore::MediaElementSession::addBehaviorRestriction):
(WebCore::MediaElementSession::removeBehaviorRestriction):
(WebCore::MediaElementSession::playbackPermitted):
(WebCore::MediaElementSession::dataLoadingPermitted):
(WebCore::MediaElementSession::fullscreenPermitted):
(WebCore::MediaElementSession::pageAllowsDataLoading):
(WebCore::MediaElementSession::pageAllowsPlaybackAfterResuming):
(WebCore::MediaElementSession::showPlaybackTargetPicker):
(WebCore::MediaElementSession::hasWirelessPlaybackTargets):
(WebCore::MediaElementSession::wirelessVideoPlaybackDisabled):
(WebCore::MediaElementSession::setWirelessVideoPlaybackDisabled):
(WebCore::MediaElementSession::setHasPlaybackTargetAvailabilityListeners):
(WebCore::MediaElementSession::setPlaybackTarget):
(WebCore::MediaElementSession::targetAvailabilityChangedTimerFired):
(WebCore::MediaElementSession::externalOutputDeviceAvailableDidChange):
(WebCore::MediaElementSession::canPlayToWirelessPlaybackTarget):
(WebCore::MediaElementSession::isPlayingToWirelessPlaybackTarget):
(WebCore::MediaElementSession::setShouldPlayToPlaybackTarget):
(WebCore::MediaElementSession::mediaStateDidChange):
(WebCore::MediaElementSession::effectivePreloadForElement):
(WebCore::MediaElementSession::requiresFullscreenForVideoPlayback):
(WebCore::MediaElementSession::mediaEngineUpdated):
(WebCore::MediaElementSession::allowsAlternateFullscreen):
(WebCore::MediaElementSession::maximumMediaSourceBufferSize):

  • html/MediaElementSession.h: Renamed from Source/WebCore/html/HTMLMediaSession.h.
  • testing/Internals.cpp:

(WebCore::Internals::setMediaElementRestrictions):
(WebCore::Internals::setAudioContextRestrictions):

3:41 PM Changeset in webkit [184965] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Crash under ICU with ASAN during editing/selection/move-by-word-visually-crash-test-5.html
https://bugs.webkit.org/show_bug.cgi?id=145429
<rdar://problem/20992218>

Reviewed by Alexey Proskuryakov.

WebKit uses some strings which contain the lower 8-bits of UTF-16 (thereby saving space). However,
ICU doesn't understand this encoding. When we want to use ICU functions with strings in this encoding,
we create a UTextProvider which converts our encoded strings to UTF-16 for ICU, one chunk at a time.
This object contains a vtable which we populate to perform the conversion.

The WebKit function which actually returns the UTF-16 chunks has two relevant arguments: an index into
the encoded string which ICU is requesting, and a direction from that index which ICU is interested
in. This function populates a "chunk" which is characterized by a pointer to a buffer, the length of
the populated data in the buffer, and an offset into the chunk which represents the index that the
requested character was put into.

When ICU requests data going backward, we fill in the chunk accordingly, with the requested character
all the way at the end. We then set the offset equal to the length of the buffer. However, this length
value is stale from the previous time the function ran. Therefore, ICU was reading the wrong index in
the chunk when expecting the requested character.

Covered by editing/selection/move-by-word-visually-crash-test-5.html.

  • platform/text/icu/UTextProviderLatin1.cpp:

(WebCore::uTextLatin1Access):

3:40 PM Changeset in webkit [184964] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Make sure that we create the private WebKit.framework symlinks last
https://bugs.webkit.org/show_bug.cgi?id=145442
<rdar://problem/21142213>

Reviewed by Dan Bernstein.

Move the "Add Symlinks in /System/Library/PrivateFrameworks/WebKit.framework" build phase to
the "All" aggregate target. Also update the script now that INSTALL_PATH is different.

  • WebKit2.xcodeproj/project.pbxproj:
3:31 PM Changeset in webkit [184963] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Fix controls bug caused by r184794
https://bugs.webkit.org/show_bug.cgi?id=145445

Reviewed by Dean Jackson.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.showControls): Check video.controls instead of trying to call
showInlinePlaybackPlaceholderOnly, which doesn't exist.

2:55 PM Changeset in webkit [184962] by commit-queue@webkit.org
  • 18 edits in trunk/Source

Code clean up for extracting information from the mix of WritingMode and TextDirection
https://bugs.webkit.org/show_bug.cgi?id=143399

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-05-28
Reviewed by Darin Adler.
Source/WebCore:

There should be eight TextFlows. A TextFlow consists of two directions.
The first one controls the inline growing direction and the second one
controls the block growing direction. We are going to use the cardinal
directions to define these combinations.

We need to extract the following information easily from the TextFlow

-- isTextFlowReversed() RTL
-- isTextFlowFlipped()
the opposite direction to normal
-- isTextFlowVertical() The line grows vertically

Mixing WritingMode and TextDirection into TextFlow and choosing their values
carefully to ease implementing the above functions can make things clearer.

  • Modules/notifications/Notification.h:
  • platform/graphics/TextRun.h:
  • platform/ios/SelectionRect.h:
  • platform/text/BidiResolver.h:
  • platform/text/StringWithDirection.h:
  • platform/text/TextFlags.h:

(WebCore::isLeftToRightDirection): Deleted.
enum TextDirection is moved from TextFlags.h to WritingMode.h. So include
WritingMode.h instead of including TextFlags.h.

  • css/CSSProperty.cpp:

(WebCore::resolveToPhysicalProperty): Instead of handling the eight possible
cases of the text flows one by one, we can map from a LogicalSide to a
PhysicalSide using the TextFlow value.

  • platform/LengthBox.h:

(WebCore::BoxExtent::before):
(WebCore::BoxExtent::after):
(WebCore::BoxExtent::start):
(WebCore::BoxExtent::end):
Use mapLogicalSideToPhysicalSide() to convert from a LogicalSide to a PhysicalSide.

  • platform/text/WritingMode.h:

(WebCore::isLeftToRightDirection): Usually the default enum is defined
first. And usually the default value is equal to zero. Since LTR is the
default for the text direction, it should be defined before RTL.

(WebCore::makeTextFlow): Returns a TextFlow given a WritingMode and a
TextDirection.

(WebCore::isReversedTextFlow): Returns true if the text direction is RTL.

(WebCore::isFlippedTextFlow):
(WebCore::isFlippedWritingMode): Returns true if the block growing direction
is in the opposite direction of normal.

(WebCore::isVerticalTextFlow):
(WebCore::isVerticalWritingMode): Returns true if the line grows vertically.

(WebCore::isHorizontalWritingMode):
(WebCore::isFlippedLinesWritingMode): Use isVerticalWritingMode() and
isFlippedWritingMode() to answer these questions.

(WebCore::isHorizontalPhysicalSide):
(WebCore::mirrorPhysicalSide): top <-> bottom and left <-> right conversion.
(WebCore::rotatePhysicalSide): top <-> left and right <-> bottom conversion.

(WebCore::mapLogicalSideToPhysicalSide): Maps a LogicalSide to a PhysicalSide
using either the TextFlow or the WritingMode.

(WebCore::isFlippedBlocksWritingMode): Deleted.

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::collectLayerFragments):
(WebCore::RenderMultiColumnSet::columnTranslationForOffset):

  • rendering/shapes/Shape.cpp:

(WebCore::physicalRectToLogical):
(WebCore::physicalPointToLogical):

  • rendering/style/RenderStyle.h:

Rename isFlippedBlocksWritingMode() to be isFlippedWritingMode() so we can
be consistent with other WritingMode query functions.

Source/WebKit2:

  • Shared/WebPopupItem.h:
  • UIProcess/API/C/efl/WKAPICastEfl.h:
  • UIProcess/WebPopupMenuProxy.h:

enum TextDirection is moved from TextFlags.h to WritingMode.h. So include
WritingMode.h instead of including TextFlags.h.

2:05 PM Changeset in webkit [184961] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit2

Disable network cache for old clients
https://bugs.webkit.org/show_bug.cgi?id=145418

Reviewed by Andreas Kling.

Follow-up: Don't do linked-on-or-after checks for iOS Safari.

  • UIProcess/Cocoa/VersionChecks.mm:

(WebKit::linkTimeVersion):
(WebKit::linkedOnOrAfter):

1:57 PM Changeset in webkit [184960] by benjamin@webkit.org
  • 2 edits
    2 adds in trunk/Source/JavaScriptCore

[iOS8][ARMv7(s)] Optimized Object.create in 'use strict' context sometimes breaks.
https://bugs.webkit.org/show_bug.cgi?id=138038

Reviewed by Michael Saboff.

TL;DR: sometimes the baseline JIT could accidentally nuke the tag before calling

to C++, making put_by_id behave erratically.

The bug was that put_by_id would randomly not work correctly in 32bits. It happened
in the baseline JIT if we were unlucky enough:
-The code get hot enough and the structure is stable so we get a fast path for

put_by_id.

-We repatch the fast-path branch with a stub generated by

emitPutTransitionStubAndGetOldStructure().

-In emitPutTransitionStubAndGetOldStructure(), we only preserve the payload of the base

register, the tag register is ignored.

-emitPutTransitionStubAndGetOldStructure() allocate 2 to 3 registers. Any of those

could be the one used for the base's tag before the fast path and the value is trashed.

-If we hit one of the failure case, we fallback to the slow path, but we destroyed

the tag pointer.

-We now have unrelated bits in the tag, the most likely value type is now "double"

and we fail the put_by_id because we try to set a property on a number.

The most obvious solution would be to change emitPutTransitionStubAndGetOldStructure()
to preserve the tag register in addition to the value register.
I decided against that option because of the added complexity. The DFG does not need
that case, so I would have to add branches everywhere to distinguish the cases
were we need to preserve the tag or not.

Instead, I just load the tag back from memory in the slow path. The function in the slow
path is several order of magnitude slower than a load, it is not worth eliminating it,
especially in baseline JIT.

I also discovered 4 useless loads in the fast path, so even with my extra load, this patch
makes the baseline faster :)

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitSlow_op_put_by_id):
(JSC::JIT::emit_op_put_by_id): Deleted.

  • tests/stress/put-by-id-on-new-object-after-prototype-transition-non-strict.js: Added.

(opaqueNewObject):
(putValueOnNewObject):

  • tests/stress/put-by-id-on-new-object-after-prototype-transition-strict.js: Added.

(string_appeared_here.opaqueNewObject):
(putValueOnNewObject):

1:46 PM Changeset in webkit [184959] by benjamin@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

[JSC] reduction the iteration count of the DoubleRep stress tests

Once again, I used big numbers for manual testing and I forgot to fix them before landing.

  • tests/stress/double-rep-with-non-cell.js:
  • tests/stress/double-rep-with-null.js:
  • tests/stress/double-rep-with-undefined.js:
12:14 PM Changeset in webkit [184958] by basile_clement@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Add debug mode assertions for accessors casting JSC::DFG::Node.m_opInfo
https://bugs.webkit.org/show_bug.cgi?id=145441

Reviewed by Filip Pizlo.

Most accessor functions casting m_opInfo in JSC::DFG::Node are
performing debug checks that they are only accessed for node types that
should have them. This patch adds similar checks for the accessors that
were missing them.

  • dfg/DFGNode.h:

(JSC::DFG::Node::watchpointSet):
(JSC::DFG::Node::storagePointer):
(JSC::DFG::Node::multiGetByOffsetData):
(JSC::DFG::Node::multiPutByOffsetData):
(JSC::DFG::Node::hasTypeLocation):
(JSC::DFG::Node::typeLocation):
(JSC::DFG::Node::hasBasicBlockLocation):
(JSC::DFG::Node::basicBlockLocation):

10:45 AM Changeset in webkit [184957] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.32-branch/Source

Versioning.

10:40 AM Changeset in webkit [184956] by commit-queue@webkit.org
  • 8 edits in trunk/Source

Add ENABLE_MEDIA_SESSION feature flag (which is off by default).
https://bugs.webkit.org/show_bug.cgi?id=145415

Patch by Matt Rajca <mrajca@apple.com> on 2015-05-28
Reviewed by Eric Carlson.

  • Configurations/FeatureDefines.xcconfig:
5:16 AM Changeset in webkit [184955] by youenn.fablet@crf.canon.fr
  • 9 edits in trunk

[Streams API] ReadableStreamReader should not be exposed
https://bugs.webkit.org/show_bug.cgi?id=143564

Reviewed by Darin Adler.

Source/WebCore:

Covered by rebased tests.

  • Modules/streams/ReadableStreamReader.idl: Adding NoInterfaceObject to ReadableStreamReader.idl.

LayoutTests:

Rebasing tests as ReadableStreamReader is no longer defined globally.

  • js/dom/global-constructors-attributes-expected.txt:
  • platform/efl/js/dom/global-constructors-attributes-expected.txt:
  • platform/gtk/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
  • platform/win/js/dom/global-constructors-attributes-expected.txt:
4:30 AM Changeset in webkit [184954] by clopez@igalia.com
  • 9 edits
    1 copy
    1 delete in trunk

[CMake] Improve detection and usage of GL/GLES/EGL libraries.
https://bugs.webkit.org/show_bug.cgi?id=145408

Reviewed by Carlos Garcia Campos.

.:

  • Source/cmake/FindEGL.cmake: Improve detection of EGL libraries.
  • Source/cmake/FindGLES.cmake: Removed. It was used by the EGL port.

Remove it and make the EGL port use the improved FindOpenGLES2.cmake
instead.

  • Source/cmake/FindOpenGL.cmake: Added. Add module to detect OpenGL

libraries. Detect also GLX libraries.

  • Source/cmake/FindOpenGLES2.cmake: Improve detection of OpenGLES-v2

libraries. Use find_path() to get the include path.

  • Source/cmake/OptionsEfl.cmake: Use now the improved FindOpenGLES2

module.

  • Source/cmake/OptionsGTK.cmake: Set default value for ENABLE_GLES2

depending on the libraries found on the system.
Move the detection of GLX (and the include of CMakePushCheckState)
to FindOpenGL.cmake.
Ensure that we only define USE_GLX when we build with OpenGL
(but not with GLESv2).

Source/WebCore:

No new tests, no behavior changes.

  • CMakeLists.txt: Ensure that we include the libraries and includes

for the GL/GLESv2/EGL libraries before including the ANGLE directories.
Define also any CFLAG that the system GL/GLESv2/EGL libraries may need.

  • PlatformEfl.cmake: Remove some includes that are now unneeded,

because we are including now the EGL libraries on CMakeLists.txt

  • PlatformGTK.cmake: Remove unneeded include (We are including the EGL

libraries now on CMakeLists.txt)

3:12 AM Changeset in webkit [184953] by youenn.fablet@crf.canon.fr
  • 2 edits
    9 adds in trunk/Source/WebCore

Binding generator should support interfaces with CustomConstructor and NoInterfaceObject
https://bugs.webkit.org/show_bug.cgi?id=145016

Reviewed by Darin Adler.

Updated code generator to generate the necessary declarations (constructor property in the prototype, the constructor class).
In the case of CustomConstructor with NoInterfaceObject, the implementation of the constructor property related JS function is changed as follow:
It creates a constructor object and shadows the constructor property JS function with this object.
This ensures that only one constructor object is created per prototype.
The constructor is not exposed as it is not added to the global object constructor map.

NoInterfaceObject is asking to not make the interface visible, which is contradictory with having a visible constructor of the interface.
The case for having NoInterfaceObject and CustomConstructor is the following:
We do not want to expose the interface but we still want to have a constructor property on the prototype of objects implementing the interface.
One such case is https://streams.spec.whatwg.org/#globals

Added TestCustomConstructorWithNoInterfaceObject.idl to check that case.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateAttributesHashTable):
(GenerateImplementation):
(HasConstructorProperty):

  • bindings/scripts/test/GObject/WebKitDOMTestCustomConstructorWithNoInterfaceObject.cpp: Added.

(WebKit::kit):
(WebKit::core):
(WebKit::wrapTestCustomConstructorWithNoInterfaceObject):
(webkit_dom_test_custom_constructor_with_no_interface_object_finalize):
(webkit_dom_test_custom_constructor_with_no_interface_object_constructor):
(webkit_dom_test_custom_constructor_with_no_interface_object_class_init):
(webkit_dom_test_custom_constructor_with_no_interface_object_init):

  • bindings/scripts/test/GObject/WebKitDOMTestCustomConstructorWithNoInterfaceObject.h: Added.
  • bindings/scripts/test/GObject/WebKitDOMTestCustomConstructorWithNoInterfaceObjectPrivate.h: Added.
  • bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp: Added.

(WebCore::JSTestCustomConstructorWithNoInterfaceObjectPrototype::create):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectPrototype::createStructure):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectPrototype::JSTestCustomConstructorWithNoInterfaceObjectPrototype):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::create):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::createStructure):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::JSTestCustomConstructorWithNoInterfaceObjectConstructor):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::finishCreation):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::getConstructData):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectPrototype::finishCreation):
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::JSTestCustomConstructorWithNoInterfaceObject):
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::createPrototype):
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::getPrototype):
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::destroy):
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::~JSTestCustomConstructorWithNoInterfaceObject):
(WebCore::jsTestCustomConstructorWithNoInterfaceObjectConstructor):
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::getConstructor):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectOwner::finalize):
(WebCore::toJS):
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::toWrapped):

  • bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h: Added.

(WebCore::wrapperOwner):
(WebCore::toJS):

  • bindings/scripts/test/ObjC/DOMTestCustomConstructorWithNoInterfaceObject.h: Added.
  • bindings/scripts/test/ObjC/DOMTestCustomConstructorWithNoInterfaceObject.mm: Added.

(-[DOMTestCustomConstructorWithNoInterfaceObject dealloc]):
(-[DOMTestCustomConstructorWithNoInterfaceObject finalize]):
(core):
(kit):

  • bindings/scripts/test/ObjC/DOMTestCustomConstructorWithNoInterfaceObjectInternal.h: Added.
  • bindings/scripts/test/TestCustomConstructor.idl: Added.
2:40 AM Changeset in webkit [184952] by Gyuyoung Kim
  • 2 edits in trunk/Source/WebKit2

Unreviewed, Fix build break since r184930.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::createTransientLocalStorageMap): Pass a pointer of SecurityOrigin
in isSameSchemeHostPort().

2:23 AM Changeset in webkit [184951] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fixing the build after r184950.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::createSessionStorageMap): getOrCreateStorageArea()
now expects a Ref<WebCore::SecurityOrigin> object.

1:50 AM WebKitGTK/2.8.x edited by tpopela@redhat.com
(diff)
1:18 AM Changeset in webkit [184950] by zandobersek@gmail.com
  • 14 edits in trunk/Source/WebKit2

[WK2] Handle WebCore::SecurityOrigin objects through Ref<> where possible
https://bugs.webkit.org/show_bug.cgi?id=145373

Reviewed by Andreas Kling.

WebCore::SecurityOrigin creation functions in most cases return a
Ref<WebCore::SecurityOrigin> object. In the WebKit2 layer, those objects
were still largely converted to RefPtr<>s.

This patch switches to using Ref<> where possible. The remaining uses of
RefPtr<WebCore::SecurityOrigin> are present due to HashTables, to-be-copied
Vectors, WebCore::DatabaseManager::origins() API and code where non-null
WebCore::SecurityOrigin can't be guaranteed.

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::deleteIndexedDatabaseEntriesForOrigin):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::cfURLCacheOrigins):

  • UIProcess/Storage/LocalStorageDatabase.cpp:

(WebKit::LocalStorageDatabase::create):
(WebKit::LocalStorageDatabase::LocalStorageDatabase):
(WebKit::LocalStorageDatabase::openDatabase):
(WebKit::LocalStorageDatabase::close):

  • UIProcess/Storage/LocalStorageDatabase.h:
  • UIProcess/Storage/LocalStorageDatabaseTracker.cpp:

(WebKit::LocalStorageDatabaseTracker::origins):

  • UIProcess/Storage/LocalStorageDatabaseTracker.h:
  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::StorageArea::securityOrigin):
(WebKit::StorageManager::TransientLocalStorageNamespace::getOrCreateStorageArea):
(WebKit::StorageManager::TransientLocalStorageNamespace::origins):
(WebKit::StorageManager::TransientLocalStorageNamespace::clearStorageAreasMatchingOrigin):
(WebKit::StorageManager::StorageArea::create):
(WebKit::StorageManager::StorageArea::StorageArea):
(WebKit::StorageManager::StorageArea::openDatabaseAndImportItemsIfNeeded):
(WebKit::StorageManager::LocalStorageNamespace::getOrCreateStorageArea):
(WebKit::StorageManager::LocalStorageNamespace::didDestroyStorageArea):
(WebKit::StorageManager::SessionStorageNamespace::origins):
(WebKit::StorageManager::SessionStorageNamespace::clearStorageAreasMatchingOrigin):
(WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::reachedApplicationCacheOriginQuota):

  • WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:

(WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::setApplicationCacheOriginQuota):
(WebKit::InjectedBundle::resetApplicationCacheOriginQuota):

  • WebProcess/ResourceCache/WebResourceCacheManager.cpp:

(WebKit::WebResourceCacheManager::returnCacheOrigins):
(WebKit::WebResourceCacheManager::clearCacheForOrigin):

  • WebProcess/WebCoreSupport/WebDatabaseManager.cpp:

(WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
(WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
(WebKit::WebDatabaseManager::setQuotaForOrigin):

1:13 AM Changeset in webkit [184949] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WTF

Clean up HashTable constructors
https://bugs.webkit.org/show_bug.cgi?id=145369

Reviewed by Andreas Kling.

Use nullptr to initialize pointer member variables in the HashTable
default constructor. Copy and move constructors can use constructor
delegation instead of replicating all member initializations. Move
constructor should simply call HashTable::swap() instead of replicating
all the swap operations.

  • wtf/HashTable.h:

(WTF::KeyTraits>::HashTable):

12:44 AM Changeset in webkit [184948] by jonlee@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Build fix after r184946.

  • WebView/WebPreferences.mm:

(-[WebPreferences allowsAirPlayForMediaPlayback]):
(-[WebPreferences setAllowsAirPlayForMediaPlayback:]):

12:34 AM Changeset in webkit [184947] by jhoneycutt@apple.com
  • 19 edits in trunk/Source

[iOS] When viewing an MJPEG stream as the main resource, only the first
frame paints

<https://bugs.webkit.org/show_bug.cgi?id=145185>
<rdar://problem/20124694>

Source/WebCore:

This bug is caused by state not being restored between successive loads
of multipart/x-mixed-replace content. Each part of the stream is not
treated as a wholly new load, so if state is cleared as part of the
previous page being destroyed, it may not be restored when loading
the next stream part.

On WK1, tile cache updates are disabled in FrameView::clear(), which is
called as the previous page is destroyed, but were not being
reenabled when loading new replacement content from the stream.

On WK2, the exposed content rect was being reset to an empty rect as
the previous page was destroyed, but it was not being reset by loading
replacement content.

To fix these issues, I added two WebFrameLoaderClient callbacks;
willReplaceMultipartContent() and didReplaceMultipartContent(). These
are used to save and restore state between successive loads.

Reviewed by Darin Adler.

  • loader/DocumentLoader.cpp:

Call the new client callbacks.
(WebCore::DocumentLoader::commitLoad):
If replacing content in a multipart/x-mixed-replace stream, call the
WebFrameLoaderClient's didReplaceMultipartContent().

(WebCore::DocumentLoader::setupForReplace):
Call the WebFrameLoaderClient's willReplaceMultipartContent().

  • loader/EmptyClients.h:
  • loader/FrameLoaderClient.h:
  • page/FrameView.cpp:

(WebCore::FrameView::didReplaceMultipartContent):
Re-enable tile cache updates that were disabled in FrameView::clear().
This fixes the issue for WK1.

  • page/FrameView.h:

Declare an exported function, didReplaceMultipartContent(), that WebKit
can call.

Source/WebKit/mac:

Reviewed by Darin Adler.

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::didReplaceMultipartContent):
Call the FrameView's didReplaceMultipartContent().

Source/WebKit/win:

Reviewed by Darin Adler.

  • WebCoreSupport/WebFrameLoaderClient.h:

Stubbed new functions that aren't used on Windows.

Source/WebKit2:

Reviewed by Darin Adler.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::willReplaceMultipartContent):
Tell the WebPage that we will replace multipart content.

(WebKit::WebFrameLoaderClient::didReplaceMultipartContent):
Tell the WebPage that we did replace multipart content.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • WebProcess/WebPage/DrawingArea.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::willReplaceMultipartContent):
Save the exposed content rect.
(WebKit::WebPage::didReplaceMultipartContent):
Restore the exposed content rect that was saved before this load. This
fixes the issue for WK2.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::exposedContentRect):

12:27 AM Changeset in webkit [184946] by jonlee@apple.com
  • 9 edits in trunk/Source

Fix macros for wireless playback
https://bugs.webkit.org/show_bug.cgi?id=145239
rdar://problem/21049541

Reviewed by Anders Carlsson.

Encompass the logic within ENABLE(WIRELESS_TARGET_PLAYBACK). Update property name.

Source/WebKit/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]): Wrap in ENABLE.
(-[WebPreferences allowsAirPlayForMediaPlayback]): Ditto.
(-[WebPreferences setAllowsAirPlayForMediaPlayback:]): Ditto.

  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]): Ditto.

Source/WebKit2:

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.h: Update names. Add a WKDeprecated

category section.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration init]): Update name of variables to reflect new property names.
(-[WKWebViewConfiguration copyWithZone:]): Ditto.
(-[WKWebViewConfiguration mediaPlaybackAllowsAirPlay]): Get and set off of the new
variable.
(-[WKWebViewConfiguration setMediaPlaybackAllowsAirPlay:]): Ditto.
(-[WKWebViewConfiguration mediaPlaybackRequiresUserAction]): Ditto.
(-[WKWebViewConfiguration setMediaPlaybackRequiresUserAction:]): Ditto.

May 27, 2015:

11:47 PM WebKitGTK/2.8.x edited by tpopela@redhat.com
(diff)
11:14 PM Changeset in webkit [184945] by beidson@apple.com
  • 6 edits in trunk/Source/WebCore

Remove unused ResourceRequest "user initiated" flag.
https://bugs.webkit.org/show_bug.cgi?id=145428

Reviewed by Alexey Proskuryakov.

No new tests (No change in behavior).

  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • platform/mac/WebCoreSystemInterface.mm:
  • platform/network/ResourceRequestBase.h:

(WebCore::ResourceRequestBase::initiatedByUserGesture): Deleted.
(WebCore::ResourceRequestBase::setInitiatedByUserGesture): Deleted.
(WebCore::ResourceRequestBase::encodeWithoutPlatformData): Deleted.
(WebCore::ResourceRequestBase::decodeWithoutPlatformData): Deleted.

  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::doUpdatePlatformRequest): Deleted.
(WebCore::ResourceRequest::doUpdateResourceRequest): Deleted.

  • platform/network/cocoa/ResourceRequestCocoa.mm:

(WebCore::ResourceRequest::doUpdateResourceRequest): Deleted.
(WebCore::ResourceRequest::doUpdatePlatformRequest): Deleted.

11:12 PM Changeset in webkit [184944] by ap@apple.com
  • 2 edits in trunk/Source/WTF

[Mac] Fix clang static analyzer build
https://bugs.webkit.org/show_bug.cgi?id=145426
rdar://problem/20947408

Reviewed by Dan Bernstein.

  • wtf/spi/darwin/XPCSPI.h: Correct declarations of xpc_retain and xpc_release.
10:52 PM Changeset in webkit [184943] by ap@apple.com
  • 1 edit
    3 deletes in trunk/LayoutTests

Delete media/controls-layers.html. It's a bad test that fails and asserts, and there
are apparently no plans to fix any of that (see https://bugs.webkit.org/show_bug.cgi?id=145420).

  • media/controls-layers.html: Removed.
  • platform/mac-mavericks/media/controls-layers-expected.txt: Removed.
  • platform/mac/media/controls-layers-expected.txt: Removed.
10:47 PM Changeset in webkit [184942] by commit-queue@webkit.org
  • 6 edits in trunk

Array.of should work with other constructors
https://bugs.webkit.org/show_bug.cgi?id=145365
Source/JavaScriptCore:

Per https://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.of
step 4

Patch by Jordan Harband <ljharb@gmail.com> on 2015-05-27
Reviewed by Yusuke Suzuki.

  • builtins/ArrayConstructor.js:

(of):

  • runtime/ArrayConstructor.cpp:

(JSC::arrayConstructorOf): Deleted.

LayoutTests:

Patch by Jordan Harband <ljharb@gmail.com> on 2015-05-27
Reviewed by Yusuke Suzuki.

  • js/array-of-expected.txt:
  • js/script-tests/array-of.js:

(Foo):

9:52 PM Changeset in webkit [184941] by beidson@apple.com
  • 26 edits in trunk/Source

Add a "should open urls externally" flag to DocumentLoader.
rdar://problem/21025301 and https://bugs.webkit.org/show_bug.cgi?id=145417

Reviewed by Geoff Garen.

Source/WebCore:

No new tests (No change in behavior, testable at API level with a followup patch)

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::setTriggeringAction): Apply the current flag value to the

new NavigationAction so it can be used later.

  • loader/DocumentLoader.h:

(WebCore::DocumentLoader::setShouldOpenExternalURLsPolicy):
(WebCore::DocumentLoader::shouldOpenExternalURLsPolicy):
(WebCore::DocumentLoader::setTriggeringAction): Deleted.

FrameLoadRequest should hold the new flag to pass into FrameLoader machinery:

  • loader/FrameLoadRequest.h:

(WebCore::FrameLoadRequest::setShouldOpenExternalURLsPolicy):
(WebCore::FrameLoadRequest::shouldOpenExternalURLsPolicy):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::load): Set the flag on the newly created DocumentLoader but

only if it is for the main frame.

  • loader/FrameLoaderTypes.h: Add a new enum for the flag.

Navigation action should hold the new flag to pass to the policy delegate:

  • loader/NavigationAction.cpp:

(WebCore::NavigationAction::NavigationAction):

  • loader/NavigationAction.h:

(WebCore::NavigationAction::shouldOpenExternalURLsPolicy):
(WebCore::NavigationAction::setShouldOpenExternalURLsPolicy):

  • loader/PolicyChecker.cpp:

(WebCore::PolicyChecker::checkNavigationPolicy): Include the flag from the DocumentLoader

in the NavigationAction.

Source/WebKit2:

Rename "user initiated" to "should open external URLs":

  • Shared/API/Cocoa/_WKNSURLRequestExtras.h:
  • Shared/API/Cocoa/_WKNSURLRequestExtras.mm:

(-[NSURLRequest _web_shouldOpenExternalURLs]):
(-[NSMutableURLRequest _web_setShouldOpenExternalURLs:]):
(-[NSURLRequest _web_isUserInitiated]): Deleted.
(-[NSMutableURLRequest _web_setIsUserInitiated:]): Deleted.

Hold the new flag as a bool, and encode/decode it across IPC:

  • Shared/NavigationActionData.cpp:

(WebKit::NavigationActionData::encode):
(WebKit::NavigationActionData::decode):
(WebKit::NavigationActionData::NavigationActionData): Deleted.

  • Shared/NavigationActionData.h:
  • UIProcess/API/APINavigationAction.h: Add accessor for the bool flag.
  • UIProcess/API/C/WKPage.cpp:

(WKPageLoadURLWithUserData): Use "ShouldNotAllow" in the legacy C API for now.
(WKPageLoadURLRequestWithUserData): Ditto.

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController loadRequest:userData:]): Set the value of the flag

based on whether or not the initiating NSURLRequest was user initiated.

  • UIProcess/API/Cocoa/WKNavigationAction.mm:

(-[WKNavigationAction _shouldOpenExternalURLs]): Add accessor for the bool flag.

  • UIProcess/API/Cocoa/WKNavigationActionPrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView loadRequest:]): Set the value of the flag based on whether or not the

initiating NSURLRequest was user initiated.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadRequest): Pass the value down to the WebProcess to load.
(WebKit::WebPageProxy::loadFile): Ditto, but always with "ShouldNotAllow".

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Translate

the NavigationAction flag to a bool in the NavigationActionData object.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadRequest): Set the value of the flag in the FrameLoadRequest that

will be loaded.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
9:22 PM Changeset in webkit [184940] by Gyuyoung Kim
  • 66 edits in trunk/Source/WebCore

Purge PassRefPtr in WebCore/Modules - 2
https://bugs.webkit.org/show_bug.cgi?id=145304

Reviewed by Darin Adler.

As a step to remove PassRefPtr, this patch replaces PassRefPtr with Ref or RefPtr.

No new tests, no behavior changes

  • Modules/mediasource/SourceBufferList.h:
  • Modules/mediastream/AllAudioCapabilities.h:

(WebCore::AllAudioCapabilities::create):

  • Modules/mediastream/AllVideoCapabilities.h:

(WebCore::AllVideoCapabilities::create):

  • Modules/mediastream/CapabilityRange.cpp:

(WebCore::CapabilityRange::create):

  • Modules/mediastream/CapabilityRange.h:
  • Modules/mediastream/MediaSourceStates.cpp:

(WebCore::MediaSourceStates::create):

  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::create):

  • Modules/mediastream/MediaStreamTrack.cpp:

(WebCore::MediaStreamTrack::create):

  • Modules/mediastream/MediaStreamTrackSourcesRequest.cpp:

(WebCore::MediaStreamTrackSourcesRequest::create):

  • Modules/mediastream/MediaTrackConstraint.cpp:

(WebCore::MediaTrackConstraint::create):

  • Modules/mediastream/MediaTrackConstraint.h:
  • Modules/mediastream/RTCConfiguration.h:

(WebCore::RTCConfiguration::create):

  • Modules/mediastream/RTCIceServer.h:

(WebCore::RTCIceServer::create):

  • Modules/mediastream/RTCSessionDescription.cpp:

(WebCore::RTCSessionDescription::create):

  • Modules/mediastream/RTCSessionDescription.h:
  • Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp:

(WebCore::RTCSessionDescriptionRequestImpl::create):

  • Modules/mediastream/RTCStatsReport.cpp:

(WebCore::RTCStatsReport::create):

  • Modules/mediastream/RTCStatsReport.h:
  • Modules/mediastream/RTCStatsRequestImpl.cpp:

(WebCore::RTCStatsRequestImpl::create):

  • Modules/mediastream/RTCStatsRequestImpl.h:
  • Modules/mediastream/RTCStatsResponse.cpp:

(WebCore::RTCStatsResponse::create):

  • Modules/mediastream/RTCStatsResponse.h:
  • Modules/mediastream/RTCVoidRequestImpl.cpp:

(WebCore::RTCVoidRequestImpl::create):

  • Modules/mediastream/RTCVoidRequestImpl.h:
  • Modules/mediastream/SourceInfo.cpp:

(WebCore::SourceInfo::create):

  • Modules/mediastream/SourceInfo.h:
  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::create):

  • Modules/mediastream/UserMediaRequest.h:
  • Modules/quota/StorageInfo.h:

(WebCore::StorageInfo::create):

  • Modules/quota/StorageQuota.h:

(WebCore::StorageQuota::create):

  • Modules/speech/SpeechSynthesis.cpp:

(WebCore::SpeechSynthesis::create):

  • Modules/speech/SpeechSynthesis.h:
  • Modules/speech/SpeechSynthesisUtterance.cpp:

(WebCore::SpeechSynthesisUtterance::create):

  • Modules/speech/SpeechSynthesisUtterance.h:
  • Modules/speech/SpeechSynthesisVoice.cpp:

(WebCore::SpeechSynthesisVoice::create):

  • Modules/speech/SpeechSynthesisVoice.h:
  • Modules/webaudio/ChannelMergerNode.cpp:

(WebCore::ChannelMergerNode::create):

  • Modules/webaudio/ChannelMergerNode.h:
  • Modules/webaudio/ChannelSplitterNode.cpp:

(WebCore::ChannelSplitterNode::create):

  • Modules/webaudio/ChannelSplitterNode.h:
  • Modules/webaudio/DefaultAudioDestinationNode.h:

(WebCore::DefaultAudioDestinationNode::create):

  • Modules/webaudio/GainNode.h:

(WebCore::GainNode::create):

  • Modules/webaudio/MediaElementAudioSourceNode.cpp:

(WebCore::MediaElementAudioSourceNode::create):

  • Modules/webaudio/MediaElementAudioSourceNode.h:
  • Modules/webaudio/MediaStreamAudioDestinationNode.cpp:

(WebCore::MediaStreamAudioDestinationNode::create):

  • Modules/webaudio/MediaStreamAudioDestinationNode.h:
  • Modules/webaudio/MediaStreamAudioSource.cpp:

(WebCore::MediaStreamAudioSource::create):

  • Modules/webaudio/MediaStreamAudioSource.h:
  • Modules/webaudio/MediaStreamAudioSourceNode.cpp:

(WebCore::MediaStreamAudioSourceNode::create):

  • Modules/webaudio/MediaStreamAudioSourceNode.h:
  • Modules/webaudio/OscillatorNode.cpp:

(WebCore::OscillatorNode::setType):

  • Modules/webaudio/PannerNode.h:

(WebCore::PannerNode::create):

  • Modules/webaudio/PeriodicWave.cpp:

(WebCore::PeriodicWave::create):
(WebCore::PeriodicWave::createSine):
(WebCore::PeriodicWave::createSquare):
(WebCore::PeriodicWave::createSawtooth):
(WebCore::PeriodicWave::createTriangle):

  • Modules/webaudio/PeriodicWave.h:
  • Modules/webaudio/ScriptProcessorNode.cpp:

(WebCore::ScriptProcessorNode::create):

  • Modules/webaudio/ScriptProcessorNode.h:
  • Modules/webaudio/WaveShaperNode.h:

(WebCore::WaveShaperNode::create):

7:33 PM Changeset in webkit [184939] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.33.1/Source/WebCore

Roll out r184794. rdar://problem/21130157

7:30 PM Changeset in webkit [184938] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.33.1/Source

Versioning.

7:27 PM Changeset in webkit [184937] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.33.1

New tag.

7:15 PM Changeset in webkit [184936] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.32.7

New tag.

6:55 PM Changeset in webkit [184935] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Show Page Source does not switch to Resources tab if inspector was closed
https://bugs.webkit.org/show_bug.cgi?id=145423

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-27
Reviewed by Timothy Hatcher.

  • UserInterface/Base/Main.js:

(WebInspector._frameWasAdded.delayedWork):
(WebInspector._frameWasAdded):
In the special case where we are holding to show a frame's source code when
the frame becomes available (_frameIdentifierToShowSourceCodeWhenAvailable)
we should be forcing to show the tab.

6:51 PM Changeset in webkit [184934] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Toggling an inherited property sometimes stops working
https://bugs.webkit.org/show_bug.cgi?id=145416

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-27
Reviewed by Timothy Hatcher.

  • UserInterface/Models/DOMNodeStyles.js:

(WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
Ensure we update the existing model objects with the new state information
before possibly bailing. This may produce changed events that update
parts of the inspector appropriately.

6:30 PM Changeset in webkit [184933] by benjamin@webkit.org
  • 7 edits
    6 adds in trunk

[JSC] Add undefined->double conversion to DoubleRep
https://bugs.webkit.org/show_bug.cgi?id=145293

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-05-27
Reviewed by Filip Pizlo.

Source/JavaScriptCore:

This patch adds undefined to double conversion to the DoubleRep
node for the cases were we speculate "undefined" as part of the types
processed.

The use case is doing math with accidental out-of-bounds access. For example,
something like:

for (var i = 0; i <= length; ++i)

ouptput += array[i];

would cause us to OSR exit every time i === length.

When hitting one of those cases, we would already speculate double math,
but the DoubleRep node was unable to convert the undefined and would exit.

With this patch the use kind NotCellUse cover this conversion for DoubleRep.
I have been quite conservative so in general we will not find "undefined"
until a few recompile but being optimistic seems better since this is a corner case.

This patch is a 80% progression on WebXPRT's DNA Sequencing test.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::injectTypeConversionsForEdge):

  • dfg/DFGNode.h:

(JSC::DFG::Node::sawUndefined):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::SafeToExecuteEdge::operator()):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileDoubleRep):

  • dfg/DFGUseKind.cpp:

(WTF::printInternal):

  • dfg/DFGUseKind.h:

(JSC::DFG::typeFilterFor):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileDoubleRep):
(JSC::FTL::LowerDFGToLLVM::jsValueToDouble):

  • tests/stress/double-rep-with-undefined.js: Added.

(addArgsNumberAndUndefined):
(addArgsInt32AndUndefined):
(testFallbackWithDouble):
(addArgsDoubleAndUndefined):
(testFallbackWithObject.):
(testFallbackWithObject):
(addArgsOnlyUndefined):
(testFallbackWithString):

LayoutTests:

  • js/regress/math-with-out-of-bounds-array-values-expected.txt: Added.
  • js/regress/math-with-out-of-bounds-array-values.html: Added.
  • js/regress/script-tests/math-with-out-of-bounds-array-values.js: Added.
5:39 PM Changeset in webkit [184932] by Simon Fraser
  • 4 edits
    3 adds in trunk

REGRESSION (r183820): webkit.org/blog/ background painting issue on reload, when the page contains videos
https://bugs.webkit.org/show_bug.cgi?id=145420

Reviewed by Dean Jackson.
Source/WebCore:

After r183820, the media controls no longer had a wrapper that created CSS stacking context.
The media controls on Mac use mix-blend-mode, which causes the compositing code to look for
a stacking context ancestor and make it composited. After this change, it would walk up
to a layer outside of the media element (e.g. the document element's layer), and make
that composited. This triggered bugs with root background painting.

Prevent mix-blend-mode affecting content outside the media elements by having the media element's
layer act as a stacking context.

Test: media/controls-layers.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer):

  • rendering/RenderLayer.h:

LayoutTests:

Test that dumps compositing layers in a document with media controls.

  • media/controls-layers.html: Added.
  • platform/mac/media/controls-layers-expected.txt: Added.
  • platform/mac-mavericks/media/controls-layers-expected.txt: Added.
5:34 PM Changeset in webkit [184931] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Can't load local files in WKWebView from containerized app
https://bugs.webkit.org/show_bug.cgi?id=145424
rdar://problem/20831176

Reviewed by Dan Bernstein.

Allow the network process to load local files from its bundle as long as it has
the sandbox extensions to do so.

This was originally added to only allow SSO to read the Info.plist inside its own application
bundle, but being able to read the application bundle from within the network process should be OK.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
5:30 PM Changeset in webkit [184930] by akling@apple.com
  • 13 edits in trunk/Source

[WK2] Local storage areas should get torn down when they have no remaining references.
<https://webkit.org/b/143339>
<rdar://problem/20156436>

Reviewed by Darin Adler.

Source/WebCore:

Add StorageArea::securityOrigin() implementations.

  • loader/EmptyClients.cpp:
  • storage/StorageArea.h:

Source/WebKit:

Add StorageArea::securityOrigin() implementation.

  • Storage/StorageAreaImpl.h:

Source/WebKit2:

Let StorageNamespaceImpl own its StorageAreaMaps weakly instead of through RefPtr.
Ownership is flipped so that StorageAreaMap refs the StorageNamespaceImpl instead.
This allows the StorageAreaMaps to get destroyed once all of its clients are gone.

Practically speaking, this means that the garbage collector now decides when local
storage databases can be closed, instead of us keeping them open for the lifetime
of the web process.

For session storage, it works a bit differently. In the web process, they get torn
down when their last client disappears, but they stay alive in the UI process.
If/when the web process asks the UI process to open session storage for an origin,
the UI process checks if one already exists, and if so, just updates the ID of the
old storage with the new one provided by the web process.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::StorageArea::isSessionStorage):
(WebKit::StorageManager::createTransientLocalStorageMap):
(WebKit::StorageManager::createSessionStorageMap):
(WebKit::StorageManager::destroyStorageMap):

  • WebProcess/Storage/StorageAreaImpl.cpp:

(WebKit::StorageAreaImpl::securityOrigin):

  • WebProcess/Storage/StorageAreaImpl.h:
  • WebProcess/Storage/StorageAreaMap.cpp:

(WebKit::StorageAreaMap::StorageAreaMap):
(WebKit::StorageAreaMap::~StorageAreaMap):

  • WebProcess/Storage/StorageAreaMap.h:

(WebKit::StorageAreaMap::securityOrigin):

  • WebProcess/Storage/StorageNamespaceImpl.cpp:

(WebKit::StorageNamespaceImpl::didDestroyStorageAreaMap):
(WebKit::StorageNamespaceImpl::storageArea):

  • WebProcess/Storage/StorageNamespaceImpl.h:
5:25 PM Changeset in webkit [184929] by Antti Koivisto
  • 3 edits
    2 adds in trunk/Source/WebKit2

Disable network cache for old clients
https://bugs.webkit.org/show_bug.cgi?id=145418
rdar://problem/21126587

Reviewed by Andy Estes.

Old clients might use NSURLCache API to clear the cache. New cache requires use of new APIs.

  • UIProcess/Cocoa/VersionChecks.h: Added.
  • UIProcess/Cocoa/VersionChecks.mm: Added.

Add linked-on-or-after check mechanism similar to WebKit1.

(WebKit::linkTimeVersion):
(WebKit::linkedOnOrAfter):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeNetworkProcess):

Use it when deciding whether to enable the cache.

  • WebKit2.xcodeproj/project.pbxproj:
5:16 PM Changeset in webkit [184928] by dino@apple.com
  • 25 edits in trunk

img.currentSrc problem in strict mode with old picturefill
https://bugs.webkit.org/show_bug.cgi?id=144095
<rdar://problem/21087013>

Reviewed by Simon Fraser.

.:

Add a PICTURE_SIZES flag.

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsMac.cmake:
  • Source/cmake/OptionsWindows.cmake:
  • Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

Add a PICTURE_SIZES flag.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Add a PICTURE_SIZES flag. This allows us to easily remove the currentSrc
attribute on HTMLImageElement, which is causing some issues with
<picture> polyfills.

  • Configurations/FeatureDefines.xcconfig:
  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::setBestFitURLAndDPRFromImageCandidate): Add guard around use of m_currentSrc.

  • html/HTMLImageElement.h:
  • html/HTMLImageElement.idl: Guard the currentSrc attribute.
  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):

Source/WebKit/mac:

Add a PICTURE_SIZES flag.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Add a PICTURE_SIZES flag.

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

Add a PICTURE_SIZES flag.

  • wtf/FeatureDefines.h:

Tools:

Add a PICTURE_SIZES flag.

  • Scripts/webkitperl/FeatureList.pm:

WebKitLibraries:

Add a PICTURE_SIZES flag.

  • win/tools/vsprops/FeatureDefines.props:
  • win/tools/vsprops/FeatureDefinesCairo.props:
4:47 PM Changeset in webkit [184927] by basile_clement@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

LazyNode comparison can return incorrect results when comparing an empty value
https://bugs.webkit.org/show_bug.cgi?id=145421

Reviewed by Geoffrey Garen.

When comparing a LazyNode to another, we compare the value pointers if
we have one, and otherwise compare the nodes.
We should be comparing value pointers if the other LazyNode has one as
well, otherwise we risk an incoherency when we are a empty LazyNode
being compared to a FrozenValue without node.

Note that this is not a problem in any other case because if we don't
have a FrozenValue and we are not an empty LazyNode, we are a
non-constant node, and comparing the node pointers is correct.

  • dfg/DFGLazyNode.h:

(JSC::DFG::LazyNode::operator==):

4:43 PM Changeset in webkit [184926] by ggaren@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

REGRESSION: These sorting idioms used by Peacekeeper and Browsermark are ~20X slower
https://bugs.webkit.org/show_bug.cgi?id=145412

Reviewed by Benjamin Poulain.

Cache strings when doing a string-converting sort.

This is a 21% speedup.

  • builtins/Array.prototype.js:

(sort.stringComparator): Use subtraction instead of branching because
it's slightly faster.

(sort.comparatorSort):
(sort.stringSort):
(sort): Add a special case for string sorting to avoid redundant string
conversion.

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::createBindingPattern): Names can be empty if
they are private names.

4:21 PM Changeset in webkit [184925] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION(r179286) Editing Style Metrics Values no longer works
https://bugs.webkit.org/show_bug.cgi?id=143164

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-27
Reviewed by Brian Burg.

  • UserInterface/Views/BoxModelDetailsSectionRow.js:

(WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createElement):
(WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput.resolvedNode.toggleInlineStyleProperty):
(WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput.resolvedNode.didToggle):
(WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput.resolvedNode):
(WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput):
Make it so editing in the metrics pane just evaluates elem.style.setProperty
on the inspected page. Use "!important" to try and give the maximum priority
possible, which is a change from older behavior. Finally, refresh the sidebar
to update all values, and update the UI if bad input didn't change styles.

3:11 PM Changeset in webkit [184924] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Attempt to fix internal build following <http://trac.webkit.org/changeset/184760>
(https://bugs.webkit.org/show_bug.cgi?id=145289)

Reviewed by Jer Noble.

  • platform/spi/mac/AVFoundationSPI.h:
2:51 PM Changeset in webkit [184923] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

Assertion hit in WebPage::didChangeSelection()
https://bugs.webkit.org/show_bug.cgi?id=145413
<rdar://problem/21001129>

Reviewed by Ryosuke Niwa.

We sometimes hit the "ASSERT(layoutCount == view->layoutCount())"
assertion in WebPage::didChangeSelection(). We manage to prevent
synchronous layouts in most cases when calling editorState(). However,
it seems it can still happen in some cases. Crashing in this case seems
overkill and can be annoying to other developers, especially
considering the implications are only on performance.

This patch drops the assertion.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didChangeSelection): Deleted.

2:41 PM Changeset in webkit [184922] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Refactor WebKit1 specific threading code out of WebVideoFullscreen code that is shared with WebKit2.
https://bugs.webkit.org/show_bug.cgi?id=143954

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-05-27
Reviewed by Darin Adler.

WebVideoFullscreenInterfaceAVKit is used in both WebKit1 and WebKit2. In WebKit1, the model runs in the WebThread, while
the interface is on the main thread. So there is code to dispatch between these two thread when communicating between the
interface and the model. In WebKit2, this is handled automatically by the IPC mechanism. As a result, the threading code
in WebVideoFullscreenbInterfaceAVKit and in WebVideoFullscreenModelVideoElement is redundant in WebKit2 and relies on
WebThreadRun being a no-op in WebKit2.

This change clarifies this and simplifies the WebKit2 path by moving the WebKit1 specific threading code into
WebVideoFullscreenControllerContext, which is the WebKit1 specific controller.

  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(WebVideoFullscreenControllerContext::WebVideoFullscreenControllerContext):
(WebVideoFullscreenControllerContext::setController):
(WebVideoFullscreenControllerContext::didSetupFullscreen):
(WebVideoFullscreenControllerContext::didExitFullscreen):
(WebVideoFullscreenControllerContext::didCleanupFullscreen):
(WebVideoFullscreenControllerContext::fullscreenMayReturnToInline):
(WebVideoFullscreenControllerContext::resetMediaState):
(WebVideoFullscreenControllerContext::setDuration):
(WebVideoFullscreenControllerContext::setCurrentTime):
(WebVideoFullscreenControllerContext::setBufferedTime):
(WebVideoFullscreenControllerContext::setRate):
(WebVideoFullscreenControllerContext::setVideoDimensions):
(WebVideoFullscreenControllerContext::setSeekableRanges):
(WebVideoFullscreenControllerContext::setCanPlayFastReverse):
(WebVideoFullscreenControllerContext::setAudioMediaSelectionOptions):
(WebVideoFullscreenControllerContext::setLegibleMediaSelectionOptions):
(WebVideoFullscreenControllerContext::setExternalPlayback):
(WebVideoFullscreenControllerContext::play):
(WebVideoFullscreenControllerContext::pause):
(WebVideoFullscreenControllerContext::togglePlayState):
(WebVideoFullscreenControllerContext::beginScrubbing):
(WebVideoFullscreenControllerContext::endScrubbing):
(WebVideoFullscreenControllerContext::seekToTime):
(WebVideoFullscreenControllerContext::fastSeek):
(WebVideoFullscreenControllerContext::beginScanningForward):
(WebVideoFullscreenControllerContext::beginScanningBackward):
(WebVideoFullscreenControllerContext::endScanning):
(WebVideoFullscreenControllerContext::requestExitFullscreen):
(WebVideoFullscreenControllerContext::setVideoLayerFrame):
(WebVideoFullscreenControllerContext::setVideoLayerGravity):
(WebVideoFullscreenControllerContext::selectAudioMediaOption):
(WebVideoFullscreenControllerContext::selectLegibleMediaOption):
(WebVideoFullscreenControllerContext::fullscreenModeChanged):
(WebVideoFullscreenControllerContext::setupFullscreen):
(WebVideoFullscreenControllerContext::exitFullscreen):
(WebVideoFullscreenControllerContext::requestHideAndExitFullscreen):
(-[WebVideoFullscreenController init]):
(-[WebVideoFullscreenController dealloc]):
(-[WebVideoFullscreenController enterFullscreen:mode:]):
(-[WebVideoFullscreenController exitFullscreen]):
(-[WebVideoFullscreenController requestHideAndExitFullscreen]):
(-[WebVideoFullscreenController didFinishFullscreen:]):
(WebVideoFullscreenControllerChangeObserver::setTarget): Deleted.
(-[WebVideoFullscreenController didSetupFullscreen]): Deleted.
(-[WebVideoFullscreenController didEnterFullscreen]): Deleted.
(-[WebVideoFullscreenController didExitFullscreen]): Deleted.
(-[WebVideoFullscreenController didCleanupFullscreen]): Deleted.
(-[WebVideoFullscreenController fullscreenMayReturnToInline]): Deleted.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVVideoLayer setBounds:]):
(-[WebAVVideoLayer resolveBounds]):
(WebVideoFullscreenInterfaceAVKit::resetMediaState):
(WebVideoFullscreenInterfaceAVKit::setDuration):
(WebVideoFullscreenInterfaceAVKit::setCurrentTime):
(WebVideoFullscreenInterfaceAVKit::setBufferedTime):
(WebVideoFullscreenInterfaceAVKit::setRate):
(WebVideoFullscreenInterfaceAVKit::setVideoDimensions):
(WebVideoFullscreenInterfaceAVKit::setSeekableRanges):
(WebVideoFullscreenInterfaceAVKit::setCanPlayFastReverse):
(WebVideoFullscreenInterfaceAVKit::setAudioMediaSelectionOptions):
(WebVideoFullscreenInterfaceAVKit::setLegibleMediaSelectionOptions):
(WebVideoFullscreenInterfaceAVKit::setExternalPlayback):
(WebVideoFullscreenInterfaceAVKit::setupFullscreen):
(WebVideoFullscreenInterfaceAVKit::enterFullscreen):
(WebVideoFullscreenInterfaceAVKit::enterFullscreenStandard):
(WebVideoFullscreenInterfaceAVKit::exitFullscreen):
(WebVideoFullscreenInterfaceAVKit::exitFullscreenInternal):
(WebVideoFullscreenInterfaceAVKit::cleanupFullscreen):
(WebVideoFullscreenInterfaceAVKit::cleanupFullscreenInternal):
(WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen):
(WebVideoFullscreenInterfaceAVKit::preparedToReturnToInline):
(WebVideoFullscreenInterfaceAVKit::willStartOptimizedFullscreen):
(WebVideoFullscreenInterfaceAVKit::didStartOptimizedFullscreen):
(WebVideoFullscreenInterfaceAVKit::willStopOptimizedFullscreen):
(WebVideoFullscreenInterfaceAVKit::didStopOptimizedFullscreen):
(WebVideoFullscreenInterfaceAVKit::willCancelOptimizedFullscreen):
(WebVideoFullscreenInterfaceAVKit::didCancelOptimizedFullscreen):
(WebVideoFullscreenInterfaceAVKit::setVideoLayerFrame):
(WebVideoFullscreenInterfaceAVKit::setupFullscreenInternal): Deleted.

  • platform/ios/WebVideoFullscreenModel.h:
  • platform/ios/WebVideoFullscreenModelVideoElement.h:
  • platform/ios/WebVideoFullscreenModelVideoElement.mm:

(WebVideoFullscreenModelVideoElement::setVideoFullscreenLayer):
(WebVideoFullscreenModelVideoElement::play):
(WebVideoFullscreenModelVideoElement::pause):
(WebVideoFullscreenModelVideoElement::togglePlayState):
(WebVideoFullscreenModelVideoElement::beginScrubbing):
(WebVideoFullscreenModelVideoElement::endScrubbing):
(WebVideoFullscreenModelVideoElement::seekToTime):
(WebVideoFullscreenModelVideoElement::fastSeek):
(WebVideoFullscreenModelVideoElement::beginScanningForward):
(WebVideoFullscreenModelVideoElement::beginScanningBackward):
(WebVideoFullscreenModelVideoElement::endScanning):
(WebVideoFullscreenModelVideoElement::requestExitFullscreen):
(WebVideoFullscreenModelVideoElement::fullscreenModeChanged):
(WebVideoFullscreenModelVideoElement::videoLayerFrame): Deleted.
(WebVideoFullscreenModelVideoElement::videoLayerGravity): Deleted.

2:32 PM Changeset in webkit [184921] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.32.2-branch/Source

Versioning.

2:29 PM Changeset in webkit [184920] by fpizlo@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

JIT-generated store barrier code should assume the buffer pointer and capacity to be compile-time constants
https://bugs.webkit.org/show_bug.cgi?id=145404

Reviewed by Andreas Kling.

We never change the capacity of a write barrier buffer. We never repoint the buffer
pointer. So, the JIT shouldn't load those from memory; it should take advantage of the
fact that these are compile-time constants.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::storeToWriteBarrierBuffer):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::emitStoreBarrier):

  • heap/WriteBarrierBuffer.h:

(JSC::WriteBarrierBuffer::currentIndexAddress):
(JSC::WriteBarrierBuffer::capacity):
(JSC::WriteBarrierBuffer::buffer):
(JSC::WriteBarrierBuffer::currentIndexOffset): Deleted.
(JSC::WriteBarrierBuffer::capacityOffset): Deleted.
(JSC::WriteBarrierBuffer::bufferOffset): Deleted.

  • jit/Repatch.cpp:

(JSC::emitPutTransitionStubAndGetOldStructure):

2:21 PM Changeset in webkit [184919] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.32.2.9

New tag.

2:13 PM Changeset in webkit [184918] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Update Mac WebKit1 TestExpectations for platform/mac/fast/ruby/ruby-expansion-cjk-2.html

  • platform/mac-wk1/TestExpectations: It's an image failure, so counter-intuitively,

Failure expectation is not the right one.

1:42 PM Changeset in webkit [184917] by ggaren@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION: These sorting idioms used by Peacekeeper and Browsermark are ~20X slower
https://bugs.webkit.org/show_bug.cgi?id=145412

Reviewed by Darin Adler.

Use @toString instead of the String constructor because calls to the
String constructor are never optimized. (See
https://bugs.webkit.org/show_bug.cgi?id=144458.)

This is a ~2X speedup.

  • builtins/Array.prototype.js:

(sort.stringComparator):

1:33 PM Changeset in webkit [184916] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] short-circuit MIME type lookup when possible
https://bugs.webkit.org/show_bug.cgi?id=145362

Reviewed by Jer Noble.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::isUnsupportedMIMEType): Renamed from unsupportedMIMEType. Convert type to lower case
once instead of calling equalIgnoringCase many times.
(WebCore::staticMIMETypeList): Renamed from staticMimeTypeCache. Initialize static set in a lambda,
using an array of C strings in a loop.
(WebCore::avfMIMETypes): Renamed from avfMimeTypeCache. Initialize static set in a lambda.
(WebCore::MediaPlayerPrivateAVFoundationObjC::getSupportedTypes): avfMimeTypeCache -> avfMIMETypes.
(WebCore::keySystemIsSupported): equalIgnoringCase -> equalIgnoringASCIICase.
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsKeySystem): unsupportedMIMEType ->
isUnsupportedMIMEType, equalIgnoringCase -> equalIgnoringASCIICase, staticMimeTypeCache ->
staticMIMETypeList, avfMimeTypeCache -> avfMIMETypes.
(WebCore::unsupportedMIMEType): Deleted.
(WebCore::staticMimeTypeCache): Deleted.
(WebCore::avfMimeTypeCache): Deleted.

1:14 PM Changeset in webkit [184915] by dbates@webkit.org
  • 2 edits in trunk/LayoutTests

Update Mac WebKit1 TestExpectations for platform/mac/fast/ruby/ruby-expansion-cjk-2.html

  • platform/mac-wk1/TestExpectations:
12:17 PM Changeset in webkit [184914] by dbates@webkit.org
  • 6 edits in trunk/LayoutTests

Fix Mac Yosemite layout test failure following <http://trac.webkit.org/changeset/184899>
(https://bugs.webkit.org/show_bug.cgi?id=145336)

Mark test platform/mac/fast/ruby/ruby-expansion-cjk-2.html as failing on Yosemite.

Also remove references to fast/ruby/ruby-expansion-cjk*.html from TestExpectations files
of other ports since we consider these tests specific to Mac.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios-simulator/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/win/TestExpectations:
12:00 PM Changeset in webkit [184913] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Address a follow-up review comment from Darin.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::removeMediaKeys):

11:53 AM Changeset in webkit [184912] by andersca@apple.com
  • 9 edits
    1 copy in trunk/Source/WebKit2

WKWebsiteDataStore should handle media keys
https://bugs.webkit.org/show_bug.cgi?id=145394
rdar://problem/20617794.

Reviewed by Darin Adler.

  • Shared/WebsiteData/WebsiteDataTypes.h:

Add WebsiteDataTypeMediaKeys enum.

  • UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:

(API::WebsiteDataStore::defaultDataStoreConfiguration):
Set up mediaKeysStorageDirectory.

  • UIProcess/API/Cocoa/WKWebsiteDataRecord.mm:

(dataTypesToString):

  • UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:

(WebKit::toWebsiteDataTypes):
(WebKit::toWKWebsiteDataTypes):

  • UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h: Added.

Add _WKWebsiteDataTypeMediaKeys.

  • UIProcess/WebProcessPool.cpp:

(WebKit::legacyWebsiteDataStoreConfiguration):
Set up mediaKeysStorageDirectory.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::WebsiteDataStore):
Set m_mediaKeysStorageDirectory.

(WebKit::WebsiteDataStore::fetchData):
Make CallbackAggregator ThreadSafeRefCounted.
Handle WebsiteDataTypeMediaKeys by calling mediaKeyOrigins on our background queue.

(WebKit::WebsiteDataStore::removeData):
Make CallbackAggregator ThreadSafeRefCounted.
Handle WebsiteDataTypeMediaKeys by calling removeMediaKeys on our background queue.

(WebKit::WebsiteDataStore::mediaKeyOrigins):
Compute the origins.

(WebKit::computeMediaKeyFile):
Add helper function that returns the media key given a containing directory.

(WebKit::WebsiteDataStore::removeMediaKeys):
Remove media key files.

  • UIProcess/WebsiteData/WebsiteDataStore.h:

Add new members.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

11:39 AM Changeset in webkit [184911] by matthew_hanson@apple.com
  • 3 edits
    2 deletes in branches/safari-601.1.32-branch

Roll out r184894. rdar://problem/21097484

11:37 AM Changeset in webkit [184910] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] short-circuit MIME type lookup when possible
https://bugs.webkit.org/show_bug.cgi?id=145362

Reviewed by Dean Jackson.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::unsupportedMIMEType): New, reject types known to not be supported.
(WebCore::staticMimeTypeCache): Accept MIME types known to be supported.
(WebCore::avfMimeTypeCache): Renamed from mimeTypeCache.
(WebCore::MediaPlayerPrivateAVFoundationObjC::getSupportedTypes): mimeTypeCache -> staticMimeTypeCache.
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType): Return immediately if
unsupportedMIMEType returns true, don't call AVFoundation if staticMimeTypeCache returns true.
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsKeySystem): Ditto.
(WebCore::mimeTypeCache): Deleted.

11:31 AM Changeset in webkit [184909] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] occasional crash in MediaPlayerPrivateAVFoundationObjC::didStopLoadingRequest
https://bugs.webkit.org/show_bug.cgi?id=145409

Reviewed by Dean Jackson.

  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:

(WebCore::WebCoreAVFResourceLoader::stopLoading): NULL-check m_avRequest.

11:15 AM Changeset in webkit [184908] by dino@apple.com
  • 14 edits
    2 adds in trunk

Backdrop filters don't animate
https://bugs.webkit.org/show_bug.cgi?id=145386
<rdar://problem/21110037>

Reviewed by Simon Fraser.

Source/WebCore:

Add support for animation of backdrop filters.

Note that, at the moment, we can only animate/transition
backdrop-filter if it is already present on the element. See
https://bugs.webkit.org/show_bug.cgi?id=145107

Test: css3/filters/backdrop/animation.html

  • page/animation/AnimationBase.h: Add m_backdropFilterFunctionListsMatch and backdropFilterFunctionListsMatch.

(WebCore::AnimationBase::backdropFilterFunctionListsMatch):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc): backdrop-filter is also supported.
(WebCore::PropertyWrapperAcceleratedBackdropFilter::PropertyWrapperAcceleratedBackdropFilter): Added. Works
similarly to the PropertyWrapperAcceleratedFilter.
(WebCore::PropertyWrapperAcceleratedBackdropFilter::animationIsAccelerated):
(WebCore::PropertyWrapperAcceleratedBackdropFilter::blend):
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): Construct the
PropertyWrapperAcceleratedBackdropFilter.

  • page/animation/ImplicitAnimation.cpp:

(WebCore::ImplicitAnimation::reset): Call checkForMatchingBackdropFilterFunctionLists.
(WebCore::ImplicitAnimation::validateTransformFunctionList): Fix typo.
(WebCore::ImplicitAnimation::checkForMatchingFilterFunctionLists): Remove whitespace.
(WebCore::ImplicitAnimation::checkForMatchingBackdropFilterFunctionLists): New method that
checks if the individual filters in a filter list match.

  • page/animation/ImplicitAnimation.h: Add checkForMatchingBackdropFilterFunctionLists.
  • page/animation/KeyframeAnimation.cpp:

(WebCore::KeyframeAnimation::KeyframeAnimation): Call checkForMatchingBackdropFilterFunctionLists.
(WebCore::KeyframeAnimation::checkForMatchingBackdropFilterFunctionLists): Copied from
checkForMatchingFilterFunctionLists, but calls backdropFilter() instead of filter().
(WebCore::KeyframeAnimation::checkForMatchingFilterFunctionLists): This was accidentally checking
for backdrop filters as well, but it wouldn't have worked.

  • page/animation/KeyframeAnimation.h: Add checkForMatchingBackdropFilterFunctionLists.
  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::validateFilterOperations): Modify the ASSERT to allow AnimatedPropertyWebkitBackdropFilter.

  • platform/graphics/GraphicsLayerClient.h: Add AnimatedPropertyWebkitBackdropFilter to the enum.
  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::propertyIdToString): Support new enum.
(WebCore::GraphicsLayerCA::addAnimation): Support AnimatedPropertyWebkitBackdropFilter.
(WebCore::GraphicsLayerCA::createFilterAnimationsFromKeyframes): Ditto.
(WebCore::GraphicsLayerCA::animatedLayer): Use a switch statement now that we have more than
two options, and handle AnimatedPropertyWebkitBackdropFilter.
(WebCore::GraphicsLayerCA::updateAnimations): Deleted a blank line.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::startAnimation): Support animation of backdrop-filter.
(WebCore::RenderLayerBacking::startTransition): Ditto. Copied the code from the filter transition.
(WebCore::RenderLayerBacking::graphicsLayerToCSSProperty):
(WebCore::RenderLayerBacking::cssToGraphicsLayerProperty):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForAnimation):

LayoutTests:

Add a test for animation of backdrop-filter, and do some
minor cleanups in related files.

  • animations/resources/animation-test-helpers.js:

(parseFilterImage): Fix a typo.
(getPropertyValue): Support webkitBackdropFilter.
(comparePropertyValue): Ditto.

  • css3/filters/backdrop/animation-expected.txt: Added.
  • css3/filters/backdrop/animation.html: Added.
10:58 AM WebInspectorCodingStyleGuide edited by Brian Burg
Fix class skeleton to use ES6 class syntax; promise nit (diff)
10:12 AM Changeset in webkit [184907] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Handle case where -startOptimizedFullscreen fails.
https://bugs.webkit.org/show_bug.cgi?id=145340

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-05-27
Reviewed by Eric Carlson.

Add new AVPlayerViewController delegate methods and remove old ones.
-startOptimizedFullscreen can either fail silently because it is not allowed or it will call a delegate.
We prevent silent failure by testing preconditions in enterFullscreenOptimized, and add the
delegate -playerViewControllerFailedToStartOptimizedFullscreen to handle explicitly failure.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h: added/removed method declarations.
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerController playerViewControllerFailedToStartOptimizedFullscreen:withError:]): Added.
(WebVideoFullscreenInterfaceAVKit::enterFullscreenOptimized): Handle silent failure.
(WebVideoFullscreenInterfaceAVKit::didStartOptimizedFullscreen): Hide window on main thread.
(WebVideoFullscreenInterfaceAVKit::failedToStartOptimizedFullscreen): Added
(-[WebAVPlayerController playerViewControllerWillCancelOptimizedFullscreen:]): Deleted.
(-[WebAVPlayerController playerViewControllerDidCancelOptimizedFullscreen:]): Deleted.
(WebVideoFullscreenInterfaceAVKit::willCancelOptimizedFullscreen): Deleted.
(WebVideoFullscreenInterfaceAVKit::didCancelOptimizedFullscreen): Deleted.

  • platform/spi/cocoa/AVKitSPI.h: Remove dead SPI. Add isOptimizedFullscreenPossible.
9:52 AM Changeset in webkit [184906] by mitz@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

Remove JSC_OBJC_API_AVAILABLE_MAC_OS_X_1080
https://bugs.webkit.org/show_bug.cgi?id=145403

Reviewed by Anders Carlsson.

JSC_OBJC_API_AVAILABLE_MAC_OS_X_1080 was used to enable the JavaScriptCore Objective-C API
for WebKit and Safari projects building with JavaScriptCore targeting OS X 10.8. We don’t
need it anymore.

  • API/JSBase.h:
  • API/JSContext.h:
  • API/JSManagedValue.h:
  • API/JSValue.h:
  • API/JSVirtualMachine.h:
  • Configurations/Base.xcconfig:
  • postprocess-headers.sh:
9:08 AM Changeset in webkit [184905] by Matt Baker
  • 3 edits
    1 copy
    4 adds in trunk/LayoutTests

[iOS] Rebaseline expected results for tests in LayoutTests/compositing
https://bugs.webkit.org/show_bug.cgi?id=145401

Reviewed by Simon Fraser.

Rebaselined iOS tests failing due to expected differences in converage rect, scrollbar and contentsScale.

  • platform/ios-simulator/compositing/layer-creation/scale-rotation-animation-overlap-expected.txt: Added.
  • platform/ios-simulator/compositing/masks/compositing-clip-path-change-no-repaint-expected.txt: Added.
  • platform/ios-simulator/compositing/tiling/rotated-tiled-clamped-expected.txt:
  • platform/ios-simulator/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
  • platform/ios-simulator/compositing/tiling/transform-origin-tiled-expected.txt: Copied from LayoutTests/platform/ios-simulator/compositing/tiling/rotated-tiled-clamped-expected.txt.
  • platform/ios-simulator/compositing/visible-rect/backing-change-height-from-zero-expected.txt: Added.
8:59 AM Changeset in webkit [184904] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-601.1.32-branch

Merge r184894. <rdar://problem/21097484>

7:32 AM WebKitGTK/2.8.x edited by tpopela@redhat.com
(diff)
2:55 AM Changeset in webkit [184903] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.9.2

WebKitGTK+ 2.9.2

2:50 AM Changeset in webkit [184902] by Carlos Garcia Campos
  • 4 edits in trunk

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.9.2 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.9.2.
1:37 AM Changeset in webkit [184901] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[SOUP] Network Cache: Handle the case when we fail to create the IO stream
https://bugs.webkit.org/show_bug.cgi?id=145406

Reviewed by Sergio Villar Senin.

We were asserting in that case, but it can happen that we
fail to create the stream. It happened to me after r184690, that
changed the NetworkCache::Key hash. Since this was not expected to
happen, the async operation never finished and the completion
handler never called, leaving resources loading forever. We
should make sure we call the completion handler with an error
code, so that the load finishes and the entry is silently removed
from the cache.

  • NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:

(WebKit::NetworkCache::IOChannel::read):
(WebKit::NetworkCache::IOChannel::readSync):
(WebKit::NetworkCache::IOChannel::write):

12:23 AM Changeset in webkit [184900] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1.32.2-branch/Source/WebKit2

Merged r184893. rdar://problem/21111232

12:14 AM Changeset in webkit [184899] by mmaxfield@apple.com
  • 9 edits
    6 copies
    10 moves
    5 adds
    1 delete in trunk

[iOS] Arabic ligatures are broken in Google Maps
https://bugs.webkit.org/show_bug.cgi?id=145336
<rdar://problem/20689607>

Reviewed by Darin Adler.

Source/WebCore:

When we fall off the end of the font fallback list, we ask the platform for which particular font we should use
to display a particular codepoint. When we do this, we supply the font which is first in the fallback list so
that the platform can try to match it as best it can. However, web fonts' FontPlatformData have a null m_font
property, which means that we were passing nullptr to this platform fallback function.

The solution is something I've wanted to do for a while, which is migrate webfonts from using
CGDataProviderCreateWithCFData() to using CTFontManagerCreateFontDescriptorFromData(). This call creates a
CoreText font for an in-memory buffer (the old call was creating a CoreGraphics front from the same thing).
This means that we can use the FontPlatformData constructor which accepts a CoreText font, thereby making web
fonts not have a null m_font property. Note that not all platforms can use this call, which means that this
new codepath is gated to only certain OSes (which is okay because only certain OSes use the
CTFontCreatePhysicalFontDescriptorForCharactersWithLanguage() call inside FontCache). Because web fonts are the
only user of the constructor which just takes a CG font, we can make the constructor private to the
FontPlatformData class (as soon as all platforms can use this new codepath).

Test: platform/ios-simulator/fast/text/arabic-with-no-supporting-webfont.html

  • platform/graphics/FontPlatformData.h: Make the FontPlatformData constructor which takes a CGFontRef private.
  • platform/graphics/mac/FontCustomPlatformData.cpp:

(WebCore::FontCustomPlatformData::fontPlatformData): Use the CoreText type instead of the CoreGraphics type.
(WebCore::createFontCustomPlatformData): Migrate to CTFontManagerCreateFontDescriptorFromData().

  • platform/graphics/mac/FontCustomPlatformData.h:

(WebCore::FontCustomPlatformData::FontCustomPlatformData): Store a CTFontDescriptorRef instead of a CGFontRef.

LayoutTests:

This patch adds a DRT test to make sure that text gets drawn with the correct font.

It also updates expected results for 4 tests, which I have verified are still correct. However,
because the behavior of Mavericks differs from Yosemite, I copied the old expected results to
platform/mac-mavericks before updating the results in platform/mac.

This patch also moves fast/ruby/ruby-expansion-cjk*.html to platform/mac because they rely on
platform-specific screen-space quantization. This patch also skips these tests on Mavericks
because I can't add platform-specific expected results for reftests.

  • platform/ios-simulator/fast/text/arabic-with-no-supporting-webfont-expected.txt:
  • platform/ios-simulator/fast/text/arabic-with-no-supporting-webfont.html:
  • platform/mac-mavericks/fast/css/font-face-opentype-expected.txt: Copied from platform/mac.
  • platform/mac-mavericks/svg/batik/text/xmlSpace-expected.txt: Ditto.
  • platform/mac-mavericks/svg/custom/svg-fonts-fallback-expected.txt: Ditto.
  • platform/mac-mavericks/svg/custom/svg-fonts-without-missing-glyph-expected.txt: Ditto.
  • platform/mac-mavericks/TestExpectations: Skip fast/ruyb/ruby-expansion-cjk*.html
  • platform/mac/fast/css/font-face-opentype-expected.txt: Updated.
  • platform/mac/svg/batik/text/xmlSpace-expected.txt: Ditto.
  • platform/mac/svg/custom/svg-fonts-fallback-expected.txt: Ditto.
  • platform/mac/svg/custom/svg-fonts-without-missing-glyph-expected.txt: Ditto.
  • LayoutTests/platform/mac/fast/ruby/resources/green.png: Moved from fast/ruby/resources/green.png
  • LayoutTests/platform/mac/fast/ruby/resources/ruby-expansion.svg: Moved from fast/ruby/resources/ruby-expansion.svg
  • LayoutTests/platform/mac/fast/ruby/ruby-expansion-cjk-2-expected.html: Moved from fast/ruby/ruby-expansion-cjk-2-expected.html
  • LayoutTests/platform/mac/fast/ruby/ruby-expansion-cjk-2.html: Moved from fast/ruby/ruby-expansion-cjk-2.html
  • LayoutTests/platform/mac/fast/ruby/ruby-expansion-cjk-3-expected.html: Moved from fast/ruby/ruby-expansion-cjk-3-expected.html
  • LayoutTests/platform/mac/fast/ruby/ruby-expansion-cjk-3.html: Moved from fast/ruby/ruby-expansion-cjk-3.html
  • LayoutTests/platform/mac/fast/ruby/ruby-expansion-cjk-4-expected.html: Moved from fast/ruby/ruby-expansion-cjk-4-expected.html
  • LayoutTests/platform/mac/fast/ruby/ruby-expansion-cjk-4.html: Moved from fast/ruby/ruby-expansion-cjk-4.html
  • LayoutTests/platform/mac/fast/ruby/ruby-expansion-cjk-5-expected.html: Moved from fast/ruby/ruby-expansion-cjk-5-expected.html
  • LayoutTests/platform/mac/fast/ruby/ruby-expansion-cjk-5.html: Moved from fast/ruby/ruby-expansion-cjk-5.html
  • LayoutTests/platform/mac/fast/ruby/ruby-expansion-cjk-expected.html: Moved from fast/ruby/ruby-expansion-cjk-expected.html
  • LayoutTests/platform/mac/fast/ruby/ruby-expansion-cjk.html: Moved from fast/ruby/ruby-expansion-cjk.html

May 26, 2015:

11:41 PM Changeset in webkit [184898] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

Network Cache: Add cache capacity to the totals of JSON file
https://bugs.webkit.org/show_bug.cgi?id=145246

Reviewed by Antti Koivisto.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::Cache::dumpContentsToFile):

  • NetworkProcess/cache/NetworkCacheStorage.h:

(WebKit::NetworkCache::Storage::capacity):

11:29 PM Changeset in webkit [184897] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.33

New tag.

11:19 PM Changeset in webkit [184896] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

9:18 PM Changeset in webkit [184895] by commit-queue@webkit.org
  • 27 edits
    5 adds
    3 deletes in trunk

An SVG with no intrinsic size does not draw correct slices when used as a border-image for an HTML element.
https://bugs.webkit.org/show_bug.cgi?id=139405

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-05-26
Reviewed by Darin Adler.
LayoutTests/imported/mozilla:

  • svg/as-image/border-image-simple-2.html: Add "border: 0px none;" to

style of the <div> although the style has "border-image: url() 0 fill;".
If the border width is not set to zero in the style, the <div> will have
a 3px border. This seems to be a bug in WebKit but should be unrelated to
the non-intrinsic-sized images with border-image.

Source/WebCore:

When using a non-intrinsic-sized image as an image-border, all the source
slices have to be extracted from the top-left corner of the source image.
This is because the right and bottom sides of the image can not be known.
Also all the slices should not be stretched. In other words, the sizes of
source slices for a non-intrinsic-sized image should be equal to the sizes
of the destination container slices.

This is not compliant with the css3 w3c specs. I think the specs makes it
harder to predict what exactly will be drawn for the image-border in this
case. See http://www.w3.org/TR/css3-background/#border-image-slice. This
approach is implemented by FireFox. And I think it gives a more predictable
rendering for image-border in the case of non-intrinsic-sized images.

Test: fast/borders/border-image-fill-no-intrinsic-size.html

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/LengthBox.cpp: Removed.
  • platform/graphics/LayoutBoxExtent.cpp: Removed.
  • platform/graphics/LayoutBoxExtent.h: Removed.
  • platform/graphics/LayoutRect.h:

Delete LengthBox.cpp and move all the functionalities to LengthBox.h.
Delete LayoutBoxExtent.cpp since it is the same class as LengthBox.

  • css/CSSProperty.cpp:
  • platform/text/WritingMode.h:

Move the enums LogicalBoxSide and PhysicalBoxSide
from CSSProperty.cpp to WritingMode.h so it can be used by other classes.

  • css/CSSToStyleMap.cpp:

(WebCore::CSSToStyleMap::mapNinePieceImageSlice):
(WebCore::CSSToStyleMap::mapNinePieceImageQuad):

  • css/CSSToStyleMap.h:
  • inspector/InspectorOverlay.cpp:

(WebCore::buildRendererHighlight):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):

  • rendering/RenderBox.h:

(WebCore::RenderBox::marginLogicalLeft):
(WebCore::RenderBox::marginLogicalRight):
(WebCore::RenderBox::setMarginBefore):
(WebCore::RenderBox::setMarginAfter):
(WebCore::RenderBox::setMarginStart):
(WebCore::RenderBox::setMarginEnd):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setClip):
(WebCore::RenderStyle::noneDashboardRegions):

  • rendering/style/RenderStyle.h:

Use the new BoxExtent access methods for getting and settings the sides of
LengthBox and LayoutBoxExtent.

  • platform/LengthBox.h:

(WebCore::BoxExtent::BoxExtent):
(WebCore::BoxExtent::at):
(WebCore::BoxExtent::top):
(WebCore::BoxExtent::right):
(WebCore::BoxExtent::bottom):
(WebCore::BoxExtent::left):
(WebCore::BoxExtent::setAt):
(WebCore::BoxExtent::setTop):
(WebCore::BoxExtent::setRight):
(WebCore::BoxExtent::setBottom):
(WebCore::BoxExtent::setLeft):
(WebCore::BoxExtent::before):
(WebCore::BoxExtent::end):
(WebCore::BoxExtent::after):
(WebCore::BoxExtent::start):
(WebCore::BoxExtent::setBefore):
(WebCore::BoxExtent::setEnd):
(WebCore::BoxExtent::setAfter):
(WebCore::BoxExtent::setStart):
(WebCore::BoxExtent::operator==):
(WebCore::BoxExtent::operator!=):
(WebCore::LengthBox::LengthBox):
(WebCore::LengthBox::isZero):
(WebCore::LengthBox::left): Deleted.
(WebCore::LengthBox::right): Deleted.
(WebCore::LengthBox::top): Deleted.
(WebCore::LengthBox::bottom): Deleted.
(WebCore::LengthBox::operator==): Deleted.
(WebCore::LengthBox::operator!=): Deleted.
(WebCore::LengthBox::nonZero): Deleted.
Define a new template class for 'BoxExtent'. A 'BoxExtent' represents the
extent of four sides of a box. Use this class template to define the exiting
classes 'LengthBox' and 'LayoutBoxExtent'. Use it also to and define the
new class FloatBoxExtent

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):

  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::calculateFillTileSize):

  • rendering/RenderListMarker.cpp:

(WebCore::RenderListMarker::updateContent):

  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::createShapeForImage):
Change the return value of calculateImageIntrinsicDimensions() to be a
bool which indicates whether the image has an intrinsic size or not. Add
a new reference argument to this function receive the resolved image size.

(WebCore::RenderBoxModelObject::paintNinePieceImage): Move all the painting
code of this function to NinePieceImage::paint()

(WebCore::computeBorderImageSide): Deleted.
Renamed to be NinePieceImage::computeSlice().

  • rendering/style/BorderData.h:

(WebCore::BorderData::borderWidth): Add a new method to return the extents
of the border in a FloatBoxExtent.

  • rendering/style/NinePieceImage.cpp:

(WebCore::NinePieceImage::computeSlice): Moved from NinePieceImage::computeSlice().

(WebCore::NinePieceImage::computeSlices): The first version of this function
computes the slices given their lengths. The slices have to be clamped to
the container size. The second version of this function computes the slices
given their lengths, their actual extents and their source slices.

(WebCore::NinePieceImage::scaleSlicesIfNeeded): Reduce the slices if they
are too large.

(WebCore::NinePieceImage::isEmptyPieceRect): Returns true if an ImagePiece
should not be drawn.

(WebCore::NinePieceImage::horizontalTileRules):
(WebCore::NinePieceImage::verticalTileRules):
Fill vectors of tiling rules to be passed to GraphicsContext::drawTiledImage()

(WebCore::NinePieceImage::computeIntrinsicRects): Computes the nine pieces
rectangles for an intrinsic-sized container.

(WebCore::NinePieceImage::computeNonIntrinsicRects): Computes the nine
pieces rectangles for an non-intrinsic-sized source image. The computed
rectangles have to start at (0, 0) and their sizes should be equal to
the sizes of the nine pieces rectangles of the destination container.

(WebCore::NinePieceImage::computeIntrinsicSideTileScale):
(WebCore::NinePieceImage::computeIntrinsicMiddleTileScale):
(WebCore::NinePieceImage::computeIntrinsicTileScales):
(WebCore::NinePieceImage::computeNonIntrinsicTileScales):
Computes the scaling factors for drawing the tiles. For non-intrinsic source
images, there should not be any scaling factors.

(WebCore::NinePieceImage::paint): Moved from RenderBoxModelObject::paintNinePieceImage()
but simplified and restructured.

(WebCore::NinePieceImageData::NinePieceImageData): Use nullptr instead of 0.

  • rendering/style/NinePieceImage.h:

(WebCore::operator++):
(WebCore::isCornerPiece):
(WebCore::isMiddlePiece):
(WebCore::imagePieceHorizontalSide):
(WebCore::imagePieceVerticalSide):
Add helper functions for the enum ImagePiece.

LayoutTests:

  • fast/borders/border-image-fill-no-intrinsic-size-expected.html: Added.
  • fast/borders/border-image-fill-no-intrinsic-size.html: Added.
  • fast/borders/resources/svg-border-100x100-intrinsic.svg: Added.
  • fast/borders/resources/svg-border-140x140-intrinsic.svg: Added.
  • fast/borders/resources/svg-border-no-intrinsic.svg: Added.

Make sure the slices of the border-image are drawn correctly. When using an
image with no intrinsic size, all the slices has to be gotten from (0, 0)
of the source image.

9:13 PM Changeset in webkit [184894] by akling@apple.com
  • 3 edits
    2 adds in trunk

<font face> doesn't support plus character in font family names.
<https://webkit.org/b/145400>
<rdar://problem/21097484>

Reviewed by Darin Adler.

Source/WebCore:

Turn CSSParser::parseFontFaceValue() into a fast-path parser for
<font face> attributes.
Going through the full CSS parser was hurting us here, as it would
misunderstand unquoted family names and choke on e.g '+'.

Test: fast/dom/HTMLFontElement/face-attribute.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseFontFaceValue):

LayoutTests:

Add a little test for <font face> attributes to cover this problem
and some other interesting cases with spaces and commas.

  • fast/dom/HTMLFontElement/face-attribute-expected.txt: Added.
  • fast/dom/HTMLFontElement/face-attribute.html: Added.
7:44 PM Changeset in webkit [184893] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Add a symlink for every file inside /S/L/F/WebKit.framework to the PrivateFrameworks mirror.

rdar://problem/21111232.

Reviewed by Dan Bernstein.

  • WebKit2.xcodeproj/project.pbxproj:
6:08 PM Changeset in webkit [184892] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL] webview should be updated from (0,0) when using the evasGL.
https://bugs.webkit.org/show_bug.cgi?id=137948

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-05-26
Reviewed by Gyuyoung Kim.

Changed the point of the start position to update the evasObject
correctly when using the evasGL for graphics backend.

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::displayTimerFired):

5:54 PM Changeset in webkit [184891] by Chris Fleizach
  • 2 edits in trunk/LayoutTests

AX: display:none content exposed to accessibility when aria-hidden is toggled on ancestor element
https://bugs.webkit.org/show_bug.cgi?id=139142

Reviewed by Darin Adler.

  • platform/mac/accessibility/aria-hidden-false-works-in-subtrees-expected.txt:
5:53 PM Changeset in webkit [184890] by Chris Fleizach
  • 4 edits in trunk

AX: display:none content exposed to accessibility when aria-hidden is toggled on ancestor element
https://bugs.webkit.org/show_bug.cgi?id=139142

Reviewed by Darin Adler.
Source/WebCore:


Amend the code that determines when an invisible, but aria-hidden=false, element is exposed to accessibility.

The new guideline is that you must have aria-hidden=false on every node that is not rendered (except text which inherits)
otherwise the element will not be visible.

Modified existing test: accessibility/aria-hidden-false-works-in-subtrees.html

  • accessibility/AXObjectCache.cpp:

(WebCore::isNodeAriaVisible):
(WebCore::AXObjectCache::rootWebArea):

LayoutTests:

  • accessibility/aria-hidden-false-works-in-subtrees.html:
5:18 PM Changeset in webkit [184889] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Enable element unsigned index in WebGL2 again.
https://bugs.webkit.org/show_bug.cgi?id=145392
<rdar://problem/21112585>.

Reviewed by Dean Jackson.

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::validateDrawElements):
Fix some incorrect logic that disables the feature for WebGL2.

5:05 PM Changeset in webkit [184888] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Add assertions to make sure pages in the PageCache are not loading
https://bugs.webkit.org/show_bug.cgi?id=145397
<rdar://problem/20613631>

Reviewed by Antti Koivisto.

Add assertions to make sure pages in the PageCache are not loading.
These will hopefully help track down why PacheCache entries sometimes
have pending subresource loads when being destroyed.

  • history/CachedFrame.cpp:

(WebCore::CachedFrame::CachedFrame):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::stopLoadingSubresources):
(WebCore::DocumentLoader::addSubresourceLoader):

4:11 PM Changeset in webkit [184887] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Function parameter string parsing improperly handles empty parameter list
https://bugs.webkit.org/show_bug.cgi?id=145391

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-26
Reviewed by Darin Adler.

  • UserInterface/Views/ObjectTreePropertyTreeElement.js:

(WebInspector.ObjectTreePropertyTreeElement.prototype._functionParameterString):

4:00 PM Changeset in webkit [184886] by commit-queue@webkit.org
  • 2 edits
    9 deletes in trunk/Source/WebCore

Unreviewed, rolling out r184872.
https://bugs.webkit.org/show_bug.cgi?id=145396

Bindings tests broken on the bots. (Requested by dethbakin on
#webkit).

Reverted changeset:

"Binding generator should support interfaces with
CustomConstructor and NoInterfaceObject"
https://bugs.webkit.org/show_bug.cgi?id=145016
http://trac.webkit.org/changeset/184872

3:59 PM Changeset in webkit [184885] by Alan Bujtas
  • 5 edits
    2 adds in trunk

Overhanging float sets are not cleaned up properly when floating renderer is destroyed.
https://bugs.webkit.org/show_bug.cgi?id=145323
rdar://problem/20980628

Reviewed by Dave Hyatt.

This patch ensures when an overhanging float renderer is destroyed,
all the sibling containers' floating object set(m_floatingObjects) gets properly cleaned up.

When an overhanging float is present, we cache the renderer on the parent and on the affected
sibling containers too. (RenderBlockFlow::m_floatingObjects) These caches(sets) get cleared and repopulated
during ::layout(). In order to have a float renderer removed from a set, a layout needs to be initiated on the container.
This is normally done through RenderBlockFlow::markSiblingsWithFloatsForLayout() and RenderBlockFlow::markAllDescendantsWithFloatsForLayout().
However, when the float container's parent's writing direction changes (and we promote the children containers to new formatting contexts),
the layout propagation through siblings does not work anymore.

The avoidsFloats() check in RenderBlockFlow::markSiblingsWithFloatsForLayout() has very little performance gain, but it prevents us
from propagating layout to siblings when certain properties of the parent container changes.

Source/WebCore:

Test: fast/block/float/crash-when-floating-object-is-removed.xhtml

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::markSiblingsWithFloatsForLayout):

  • rendering/RenderBox.cpp:

(WebCore::outermostBlockContainingFloatingObject):
(WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
(WebCore::RenderBox::outermostBlockContainingFloatingObject): Deleted.

  • rendering/RenderBox.h:

LayoutTests:

  • fast/block/float/crash-when-floating-object-is-removed-expected.txt: Added.
  • fast/block/float/crash-when-floating-object-is-removed.xhtml: Added.
3:59 PM Changeset in webkit [184884] by ggaren@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Photo Booth hangs under JSC::MachineThreads::tryCopyOtherThreadStacks
https://bugs.webkit.org/show_bug.cgi?id=145395

Reviewed by Mark Hahnenberg.

No test case because we already have --threaded mode, which runs lots of
parallel GC, but it (and the original in-app test case) can't reproduce
this bug.

  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::tryCopyOtherThreadStacks): Use a lock to prevent
two threads from mutually suspending each other.

3:48 PM Changeset in webkit [184883] by ggaren@apple.com
  • 4 edits in trunk/Source/bmalloc

Integer overflow in XLarge allocation (due to unchecked roundUpToMultipleOf)
https://bugs.webkit.org/show_bug.cgi?id=145385

Reviewed by Andreas Kling.

Added some checking to verify that round-up operations will not overflow
a size_t.

The simplest way to do this was to introduce a notion of xLargeMax, like
we have for smallMax, mediumMax, and largeMax. It's a bit surprising at
first to think that there is an xLargeMax, since xLarge is what we use
to handle the biggest things. But computers have limits, so it makes sense.

FWIW, TCMalloc used to have an xLargeMax too, which it called kMaxValidPages.

No test because this bug was found by code inspection and I don't know
of a practical way to convince WebKit to make an allocation this large.

  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::tryAllocate):
(bmalloc::Allocator::allocate):
(bmalloc::Allocator::reallocate):
(bmalloc::Allocator::allocateSlowCase): Check against xLargeMax to avoid
overflow when rounding up.

  • bmalloc/BAssert.h: Added support for explicit crashing.
  • bmalloc/Sizes.h:
3:31 PM Changeset in webkit [184882] by dburkart@apple.com
  • 3 edits in trunk/Tools

Fixes compatibility issues with recent dashboard cleanup.
https://bugs.webkit.org/show_bug.cgi?id=144814

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotStaticAnalyzerQueueView.js:

(BuildbotStaticAnalyzerQueueView):
(BuildbotStaticAnalyzerQueueView.prototype.update):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:

(documentReady):

3:15 PM Changeset in webkit [184881] by Beth Dakin
  • 2 edits in trunk/LayoutTests

storage/indexeddb/deleteIndex-bug110792.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=145390

Marking as flaky.

3:06 PM Changeset in webkit [184880] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

Add Array.prototype.copyWithin to JSC features.json
https://bugs.webkit.org/show_bug.cgi?id=145387

Reviewed by Darin Adler.

  • features.json:
3:06 PM Changeset in webkit [184879] by ap@apple.com
  • 7 edits
    1 add in trunk/Tools

Botwatcher's dashboard doesn't show JSC test regressions on Apple bots
https://bugs.webkit.org/show_bug.cgi?id=143091
rdar://problem/19330328

Reviewed by Darin Adler and Timothy Hatcher.

We have many of these, which are hard to fit on the dashboard. Added a view that
collapses to a single green bubble when everything is good, and expands when there
are failures (or manually).

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html: Added BuildbotCombinedQueueView.js
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:

(Buildbot.prototype.set isAuthenticated):
(Buildbot.prototype._normalizeQueueInfo):
(Buildbot.prototype._normalizeQueuesInfo):
(Buildbot.prototype.updateQueues):
Moved queue info normalization here from BuildbitQueue. The latter is a model class
that shouldn't have to know about presentation, and this lets us leep the knowledge
about combined queues out if it. Later, we can refactor existing code, and move out
all knowledge about headings and such.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotCombinedQueueView.js:

Added the new view. It's not quite universal, and doesn't have as helpful popovers
as other views, but we can extend it when/if we use it for more than JSC.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:

(BuildbotQueue): Now that info is normalized before creating a queue, don't do that here.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:

(documentReady): Added support for combined queues. These are currently always ending up
in Other column, but it's easy to customize in the future if we need to.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:

(WebKitBuildbot): Added JSC queus.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/QueueView.css:

(.combined-queue-popover):
(.combined-queue-popover .revision):
Added styles for the combined view.

2:50 PM Changeset in webkit [184878] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Add Array.prototype.copyWithin parameter list
https://bugs.webkit.org/show_bug.cgi?id=145388

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-26
Reviewed by Darin Adler.

  • UserInterface/Models/NativeFunctionParameters.js:
2:48 PM Changeset in webkit [184877] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: focus outline of a search field should have a radius
https://bugs.webkit.org/show_bug.cgi?id=145383

Add a focus outline animation to roughly mimic the default focus outline of OS X.

Reviewed by Timothy Hatcher.

  • UserInterface/Views/Toolbar.css:

(.toolbar .search-bar > input[type="search"]):
-webkit-focus-ring-color doesn't follow element's curvature (e.g. border-radius)
and it cannot be animated. Replace it with box-shadow.

(.toolbar .search-bar > input[type="search"]:focus):

2:38 PM Changeset in webkit [184876] by ryuan.choi@navercorp.com
  • 8 edits
    1 delete in trunk/Source/WebCore

[EFL][CoordinatedGraphics] Remove CoordinatedTileClient and CoordinatedTileBackend
https://bugs.webkit.org/show_bug.cgi?id=133337

Reviewed by Darin Adler.

This patch simplifies relationship between CoordinatedGraphicsLayer and TiledBackingStore
by removing TiledBackingStoreBackend because TiledBackingStore only support
CoordinatedTileBackend.
And it also moves CoordinatedTileClient interface to TiledBackingStoreClient.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::createBackingStore):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
  • platform/graphics/texmap/coordinated/CoordinatedTile.cpp:

(WebCore::CoordinatedTile::create):
(WebCore::CoordinatedTile::CoordinatedTile):
(WebCore::CoordinatedTile::~CoordinatedTile):
(WebCore::CoordinatedTile::updateBackBuffer):
(WebCore::CoordinatedTileBackend::CoordinatedTileBackend): Deleted.
(WebCore::CoordinatedTileBackend::createTile): Deleted.
(WebCore::CoordinatedTileBackend::paintCheckerPattern): Deleted.

  • platform/graphics/texmap/coordinated/CoordinatedTile.h:

(WebCore::CoordinatedTile::create): Deleted.
(WebCore::CoordinatedTileClient::~CoordinatedTileClient): Deleted.

  • platform/graphics/texmap/coordinated/TiledBackingStore.cpp:

(WebCore::TiledBackingStore::TiledBackingStore):
(WebCore::TiledBackingStore::createTiles):

  • platform/graphics/texmap/coordinated/TiledBackingStore.h:
  • platform/graphics/texmap/coordinated/TiledBackingStoreBackend.h: Removed.

(WebCore::TiledBackingStoreBackend::~TiledBackingStoreBackend): Deleted.

  • platform/graphics/texmap/coordinated/TiledBackingStoreClient.h:
2:37 PM Changeset in webkit [184875] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fullscreen video does not display on platforms without accelerated video rendering
https://bugs.webkit.org/show_bug.cgi?id=145118

In order to paint video contents in fullscreen mode, add supportsAcceleratedRendering condition.

Patch by Daegyu Lee <daegyu.lee@navercorp.com> on 2015-05-26
Reviewed by Simon Fraser.

  • rendering/RenderVideo.cpp:

(WebCore::RenderVideo::paintReplaced):

2:24 PM Changeset in webkit [184874] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

SVG fragment identifier rendering issue
https://bugs.webkit.org/show_bug.cgi?id=137328

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-05-26
Reviewed by Darin Adler.

Source/WebCore:

This is a follow up for http://trac.webkit.org/changeset/164983. In this
changeset, scrolling to the fragment should have been added before the
the paint to guarantee setting the proper display position for the SVG
fragment.

Test: svg/css/svg-resource-fragment-identifier-order.html

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::draw): Move view->scrollToFragment() before calling
view->paint().

LayoutTests:

  • svg/css/svg-resource-fragment-identifier-order-expected.html: Added.
  • svg/css/svg-resource-fragment-identifier-order.html: Added.

Ensure the SVG fragment is drawn correctly when the same SVG image is
referenced multiple times.

2:20 PM Changeset in webkit [184873] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: The bottom part "debugger" is clipped in the tab’s title
https://bugs.webkit.org/show_bug.cgi?id=145381

Reviewed by Timothy Hatcher.

  • UserInterface/Views/TabBar.css:

(.tab-bar > .item):
Set line-height to fit "debugger". Setting line-height to 16px, which is the
size of the tabs icons, moves the text one pixel up, so set it to 15px.

2:18 PM Changeset in webkit [184872] by youenn.fablet@crf.canon.fr
  • 2 edits
    9 adds in trunk/Source/WebCore

Binding generator should support interfaces with CustomConstructor and NoInterfaceObject
https://bugs.webkit.org/show_bug.cgi?id=145016

Reviewed by Darin Adler.

Updated code generator to generate the necessary declarations (constructor property in the prototype, the constructor class).
In the case of CustomConstructor with NoInterfaceObject, the implementation of the constructor property related JS function is changed as follow:
It creates a constructor object and shadows the constructor property JS function with this object.
This ensures that only one constructor object is created per prototype.
The constructor is not exposed as it is not added to the global object constructor map.

NoInterfaceObject is asking to not make the interface visible, which is contradictory with having a visible constructor of the interface.
The case for having NoInterfaceObject and CustomConstructor is the following:
We do not want to expose the interface but we still want to have a constructor property on the prototype of objects implementing the interface.
One such case is https://streams.spec.whatwg.org/#globals

Added TestCustomConstructorWithNoInterfaceObject.idl to check that case.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateAttributesHashTable):
(GenerateImplementation):
(HasConstructorProperty):

  • bindings/scripts/test/GObject/WebKitDOMTestCustomConstructorWithNoInterfaceObject.cpp: Added.

(WebKit::kit):
(WebKit::core):
(WebKit::wrapTestCustomConstructorWithNoInterfaceObject):
(webkit_dom_test_custom_constructor_with_no_interface_object_finalize):
(webkit_dom_test_custom_constructor_with_no_interface_object_constructor):
(webkit_dom_test_custom_constructor_with_no_interface_object_class_init):
(webkit_dom_test_custom_constructor_with_no_interface_object_init):

  • bindings/scripts/test/GObject/WebKitDOMTestCustomConstructorWithNoInterfaceObject.h: Added.
  • bindings/scripts/test/GObject/WebKitDOMTestCustomConstructorWithNoInterfaceObjectPrivate.h: Added.
  • bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp: Added.

(WebCore::JSTestCustomConstructorWithNoInterfaceObjectPrototype::create):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectPrototype::createStructure):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectPrototype::JSTestCustomConstructorWithNoInterfaceObjectPrototype):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::create):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::createStructure):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::JSTestCustomConstructorWithNoInterfaceObjectConstructor):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::finishCreation):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::getConstructData):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectPrototype::finishCreation):
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::JSTestCustomConstructorWithNoInterfaceObject):
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::createPrototype):
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::getPrototype):
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::destroy):
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::~JSTestCustomConstructorWithNoInterfaceObject):
(WebCore::jsTestCustomConstructorWithNoInterfaceObjectConstructor):
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::getConstructor):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectOwner::finalize):
(WebCore::toJS):
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::toWrapped):

  • bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h: Added.

(WebCore::wrapperOwner):
(WebCore::toJS):

  • bindings/scripts/test/ObjC/DOMTestCustomConstructorWithNoInterfaceObject.h: Added.
  • bindings/scripts/test/ObjC/DOMTestCustomConstructorWithNoInterfaceObject.mm: Added.

(-[DOMTestCustomConstructorWithNoInterfaceObject dealloc]):
(-[DOMTestCustomConstructorWithNoInterfaceObject finalize]):
(core):
(kit):

  • bindings/scripts/test/ObjC/DOMTestCustomConstructorWithNoInterfaceObjectInternal.h: Added.
  • bindings/scripts/test/TestCustomConstructor.idl: Added.
2:17 PM Changeset in webkit [184871] by Yusuke Suzuki
  • 6 edits in trunk/Source/JavaScriptCore

Reflect nits for r184863
https://bugs.webkit.org/show_bug.cgi?id=145107

Reviewed by Darin Adler.

  1. Added the copyright line.
  2. Added an optional argument (/*, end */). To do so, fixed generate-js-builtins.
  3. Dropped the unnecessary variable thisValue.
  4. Fix the type error messages. This is also found in StringIterator.prototype.js.
  5. Added tests for 0 arguments.
  • builtins/Array.prototype.js:

(copyWithin):

  • builtins/StringIterator.prototype.js:

(next):

  • generate-js-builtins:
  • tests/stress/array-copywithin.js:
  • tests/stress/string-iterators.js:
1:40 PM Changeset in webkit [184870] by dbates@webkit.org
  • 2 edits in trunk/LayoutTests

Update Autofill button icon
https://bugs.webkit.org/show_bug.cgi?id=145191
<rdar://problem/20178942>

Update expected results for Windows.

  • platform/win/fast/forms/input-auto-fill-button-expected.txt:
12:50 PM Changeset in webkit [184869] by commit-queue@webkit.org
  • 8 edits in trunk

CSS properties (font-synthesis, column-fill) are missing in getComputedStyles
https://bugs.webkit.org/show_bug.cgi?id=145343

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-26
Reviewed by Timothy Hatcher.

Source/WebCore:

  • css/CSSComputedStyleDeclaration.cpp:

LayoutTests:

  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-font-family-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/getComputedStyle/resources/property-names.js:
12:47 PM Changeset in webkit [184868] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

Inline @Array / @Object callsites
https://bugs.webkit.org/show_bug.cgi?id=145382

Reviewed by Geoffrey Garen.

As the same to Array/Object callsite inlining, @Array/@Object also
should be inlined in bytecode level.
While new @Object style is not encouraged in the builtins,
@Array(len) is already used at least in Array.from code.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::expectedFunctionForIdentifier):

11:57 AM Changeset in webkit [184867] by akling@apple.com
  • 6 edits in trunk/Source/WTF

StringView should have find(StringView, start).
<https://webkit.org/b/145351>

Reviewed by Darin Adler.

Move the class agnostic guts of StringImpl's find() implementation from StringImpl
to StringCommon.h and templatize the code into a findCommon() helper.

StringImpl::find() and StringView::find() now both call findCommon().

  • wtf/text/StringCommon.h:

(WTF::findInner):
(WTF::find):
(WTF::findCommon):

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::find):
(WTF::findInner): Deleted.

  • wtf/text/StringImpl.h:

(WTF::find): Deleted.

  • wtf/text/StringView.cpp:

(WTF::StringView::find):

  • wtf/text/StringView.h:
11:56 AM Changeset in webkit [184866] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

String.prototype.charCodeAt() should use StringView.
<https://webkit.org/b/145353>

Reviewed by Darin Adler.

Use JSString::view() in charCodeAt() to avoid reifying the JSString if it's
a substring. This avoids StringImpl allocation in some cases and ref churn
in all cases.

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncCharCodeAt):

11:54 AM Changeset in webkit [184865] by akling@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

String.prototype.charAt() should use StringView.
<https://webkit.org/b/145352>

Reviewed by Darin Adler.

Remove the jsSingleCharacterSubstring() function since it's actually completely
counter-productive: it could create a single-character string that would retain
a much larger string for the duration of its lifetime.

This made sense before StringImpl learned to put its characters at the tail end
of its own allocation. Now that it does, it's far better to just create a new
single-character StringImpl.

With that out of the way, we can make String.prototype.charAt() use StringView
to avoid reifying substring JSStrings (and avoid some ref churn too.)

  • runtime/JSString.cpp:

(JSC::JSRopeString::getIndexSlowCase):

  • runtime/JSString.h:

(JSC::JSString::getIndex):
(JSC::jsSingleCharacterSubstring): Deleted.

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncCharAt):
(JSC::stringProtoFuncSplit):

11:52 AM Changeset in webkit [184864] by mitz@apple.com
  • 2 edits in trunk/Tools

Changed a file to use Unix line endings.

  • LayoutTestRelay/Configurations/DebugRelease.xcconfig:
11:23 AM Changeset in webkit [184863] by Yusuke Suzuki
  • 6 edits
    1 add in trunk

[ES6] Implement Array.prototype.copyWithin
https://bugs.webkit.org/show_bug.cgi?id=145107

Reviewed by Darin Adler.

Source/JavaScriptCore:

This patch implements ES6 Array.prototype.copyWithin.
It is intended to be used for copying the region to the other region
in the callee array itself safely (like memmove, not memcpy).
This function is proposed in the context of WebGL.

  • builtins/Array.prototype.js:

(.maxWithPositives):
(.minWithMaybeNegativeZeroAndPositive):
(copyWithin):

  • runtime/ArrayPrototype.cpp:

(JSC::ArrayPrototype::finishCreation):

  • tests/stress/array-copywithin.js: Added.

(shouldBe):
(shouldBeArray):
(shouldThrow):
(arrayToObject):
(valueOf):

LayoutTests:

  • js/Object-getOwnPropertyNames-expected.txt:
  • js/script-tests/Object-getOwnPropertyNames.js:
10:54 AM Changeset in webkit [184862] by mitz@apple.com
  • 39 edits in trunk

<rdar://problem/21104551> Update build settings

Reviewed by Anders Carlsson.

Source/bmalloc:

  • Configurations/DebugRelease.xcconfig:

Source/JavaScriptCore:

  • Configurations/DebugRelease.xcconfig:
  • Configurations/FeatureDefines.xcconfig:
  • Configurations/Version.xcconfig:

Source/ThirdParty:

  • gtest/xcode/Config/General.xcconfig:

Source/ThirdParty/ANGLE:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:

Source/WebCore:

  • Configurations/DebugRelease.xcconfig:
  • Configurations/FeatureDefines.xcconfig:
  • Configurations/Version.xcconfig:

Source/WebInspectorUI:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/Version.xcconfig:

Source/WebKit/mac:

  • Configurations/DebugRelease.xcconfig:
  • Configurations/FeatureDefines.xcconfig:
  • Configurations/Version.xcconfig:

Source/WebKit2:

  • Configurations/DebugRelease.xcconfig:
  • Configurations/FeatureDefines.xcconfig:
  • Configurations/Version.xcconfig:
  • Configurations/WebContentService.Development.xcconfig:
  • Configurations/WebContentService.xcconfig:

Source/WTF:

  • Configurations/DebugRelease.xcconfig:

Tools:

  • ContentExtensionTester/Configurations/DebugRelease.xcconfig:
  • DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
  • MiniBrowser/Configurations/DebugRelease.xcconfig:
  • TestWebKitAPI/Configurations/DebugRelease.xcconfig:
  • WebEditingTester/Configurations/DebugRelease.xcconfig:
  • WebKitTestRunner/Configurations/DebugRelease.xcconfig:
  • asan/asan.xcconfig:
10:35 AM Changeset in webkit [184861] by andersca@apple.com
  • 2 edits in trunk/Tools

Fix build.

  • WebKitTestRunner/mac/EventSenderProxy.mm:

(WTR::EventSenderProxy::mouseForceDown):
(WTR::EventSenderProxy::mouseForceUp):
(WTR::EventSenderProxy::mouseForceChanged):

10:28 AM Changeset in webkit [184860] by akling@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Try to use StringView when comparing JSStrings for equality.
<https://webkit.org/b/145379>

Reviewed by Darin Adler.

Use JSString::view() when sending two JSStrings to WTF::equal()
for comparison. This avoids creating new objects in the case where
the strings are actually substrings.

  • jit/JITOperations.cpp:
  • runtime/JSCJSValueInlines.h:

(JSC::JSValue::equalSlowCaseInline):
(JSC::JSValue::strictEqualSlowCaseInline):

10:26 AM Changeset in webkit [184859] by Yusuke Suzuki
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

[JSC] Generate put_by_val_direct for indexed identifiers instead of put_by_id with direct postfix
https://bugs.webkit.org/show_bug.cgi?id=145360

Reviewed by Darin Adler.

JSObject::putDirect only accepts non-indexed properties.
So when generating put_by_id (with direct postfix) for indexed property,
we should generate put_by_val_direct instead.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitDirectPutById):

  • bytecompiler/NodesCodegen.cpp:

(JSC::PropertyListNode::emitPutConstantProperty):

  • tests/stress/put-by-id-direct-should-be-done-for-non-index-property.js: Added.
10:23 AM Changeset in webkit [184858] by ap@apple.com
  • 2 edits in trunk/Tools

build.webkit.org/dashboard: Don't list test steps in BuildbotIteration twice
https://bugs.webkit.org/show_bug.cgi?id=145342

Reviewed by Darin Adler.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:

(BuildbotIteration.prototype._parseData):

4:53 AM Changeset in webkit [184857] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

[ARM] Build SVGPathElement.cpp with -O2 due to a GCC bug
https://bugs.webkit.org/show_bug.cgi?id=145377

Reviewed by Carlos Garcia Campos.

  • CMakeLists.txt:
4:26 AM Changeset in webkit [184856] by commit-queue@webkit.org
  • 4 edits in trunk

[GTK] Expand wildcards inside generate-inspector-gresource-manifest.py
https://bugs.webkit.org/show_bug.cgi?id=138134

Patch by Milan Crha <mcrha@redhat.com> on 2015-05-26
Reviewed by Žan Doberšek.

Source/WebKit2:

  • PlatformGTK.cmake: Command line with expanded resources exceeds 32KB, which

is a limit on Windows. It's better to expand wildcards inside the python script.

Tools:

  • gtk/generate-inspector-gresource-manifest.py:

(get_filenames): Command line with expanded resources exceeds 32KB, which
is a limit on Windows. It's better to expand wildcards inside the python script.

May 25, 2015:

11:29 PM Changeset in webkit [184855] by Carlos Garcia Campos
  • 2 edits in trunk

Unreviewed. Export DatabaseProcessMainUnix symbol.

Add DatabaseProcessMainUnix symbol to gtksymbols.filter so that it
is exported in production builds.

  • Source/cmake/gtksymbols.filter:
10:20 PM Changeset in webkit [184854] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Fixed a failing bindings test after r184853.

  • bindings/scripts/CodeGeneratorObjC.pm:

(GenerateImplementation): Removed an extraneous semicolon.

7:26 PM Changeset in webkit [184853] by mitz@apple.com
  • 42 edits in trunk/Source

ASSERT_MAIN_THREAD and DOM_ASSERT_MAIN_THREAD are unnecessary no-ops
https://bugs.webkit.org/show_bug.cgi?id=145372

Reviewed by Sam Weinig.

Source/WebCore:

  • Configurations/Base.xcconfig: Removed DISABLE_THREAD_CHECK from DEBUG_DEFINES.
  • bindings/objc/DOMAbstractView.mm:

(-[DOMAbstractView dealloc]): Removed use of DOM_ASSERT_MAIN_THREAD.
(kit): Ditto.

  • bindings/objc/ExceptionHandlers.h: Removed definition of DOM_ASSERT_MAIN_THREAD.
  • bindings/scripts/CodeGeneratorObjC.pm:

(GenerateImplementation): Don’t emit DOM_ASSERT_MAIN_THREAD.

Updated expected bindings test results:

  • bindings/scripts/test/ObjC/DOMFloat64Array.mm:
  • bindings/scripts/test/ObjC/DOMTestActiveDOMObject.mm:
  • bindings/scripts/test/ObjC/DOMTestCallback.mm:
  • bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.mm:
  • bindings/scripts/test/ObjC/DOMTestEventConstructor.mm:
  • bindings/scripts/test/ObjC/DOMTestEventTarget.mm:
  • bindings/scripts/test/ObjC/DOMTestException.mm:
  • bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.mm:
  • bindings/scripts/test/ObjC/DOMTestInterface.mm:
  • bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.mm:
  • bindings/scripts/test/ObjC/DOMTestNamedConstructor.mm:
  • bindings/scripts/test/ObjC/DOMTestNode.mm:
  • bindings/scripts/test/ObjC/DOMTestNondeterministic.mm:
  • bindings/scripts/test/ObjC/DOMTestObj.mm:
  • bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.mm:
  • bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
  • bindings/scripts/test/ObjC/DOMTestTypedefs.mm:
  • bindings/scripts/test/ObjC/DOMattribute.mm:
  • bindings/scripts/test/ObjC/DOMreadonly.mm:

Source/WebKit/ios:

  • Misc/WebGeolocationCoreLocationProvider.mm:

(-[WebGeolocationCoreLocationProvider initWithListener:]): Removed use of ASSERT_MAIN_THREAD.
(-[WebGeolocationCoreLocationProvider dealloc]): Ditto.
(-[WebGeolocationCoreLocationProvider requestGeolocationAuthorization]): Ditto.
(-[WebGeolocationCoreLocationProvider start]): Ditto.
(-[WebGeolocationCoreLocationProvider stop]): Ditto.
(-[WebGeolocationCoreLocationProvider setEnableHighAccuracy:]): Ditto.

Source/WebKit/mac:

  • Carbon/CarbonWindowAdapter.mm:

(-[CarbonWindowAdapter finalize]): Removed use of ASSERT_MAIN_THREAD.

  • Configurations/Base.xcconfig: Removed DISABLE_THREAD_CHECK from DEBUG_DEFINES.
  • History/WebHistoryItem.mm:

(-[WebHistoryItem URLString]): Removed use of ASSERT_MAIN_THREAD.
(-[WebHistoryItem originalURLString]): Ditto.
(-[WebHistoryItem title]): Ditto.
(-[WebHistoryItem lastVisitedTimeInterval]): Ditto.
(-[WebHistoryItem isEqual:]): Ditto.
(-[WebHistoryItem description]): Ditto.
(-[WebHistoryItem initFromDictionaryRepresentation:]): Ditto.
(-[WebHistoryItem scrollPoint]): Ditto.

  • Misc/WebElementDictionary.mm:

(-[WebElementDictionary finalize]): Ditto.

  • Misc/WebIconDatabase.mm:

(-[WebIconDatabase iconForURL:withSize:cache:]): Ditto.
(-[WebIconDatabase iconURLForURL:]): Ditto.
(-[WebIconDatabase defaultIconWithSize:]): Ditto.
(-[WebIconDatabase retainIconForURL:]): Ditto.
(-[WebIconDatabase releaseIconForURL:]): Ditto.
(+[WebIconDatabase delayDatabaseCleanup]): Ditto.
(+[WebIconDatabase allowDatabaseCleanup]): Ditto.
(-[WebIconDatabase removeAllIcons]): Ditto.
(-[WebIconDatabase _iconForFileURL:withSize:]): Ditto.
(webGetNSImage): Ditto.

  • Misc/WebKitLogging.h: Removed definition of ASSERT_MAIN_THREAD.
  • Plugins/WebBaseNetscapePluginView.mm:

(-[WebBaseNetscapePluginView finalize]): Removed use of ASSERT_MAIN_THREAD.

  • Plugins/WebBasePluginPackage.mm:

(-[WebBasePluginPackage finalize]): Ditto.

  • Plugins/WebNetscapePluginView.mm:

(-[WebNetscapePluginView finalize]): Ditto.

  • WebCoreSupport/WebEditorClient.mm:

(-[WebUndoStep finalize]): Ditto.

  • WebView/WebDataSource.mm:

(-[WebDataSource finalize]): Ditto.

  • WebView/WebHTMLView.mm:

(-[WebHTMLViewPrivate finalize]): Ditto.
(-[WebHTMLView finalize]): Ditto.
(-[WebHTMLView drawRect:]): Ditto.

  • WebView/WebViewData.mm:

(-[WebViewPrivate finalize]): Ditto.

Source/WebKit2:

  • Configurations/Base.xcconfig: Removed DISABLE_THREAD_CHECK from DEBUG_DEFINES.
6:46 PM Changeset in webkit [184852] by commit-queue@webkit.org
  • 36 edits in trunk/Source/WebCore

Replaced 0 with nullptr in WebCore/svg.
https://bugs.webkit.org/show_bug.cgi?id=145367

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-05-25
Reviewed by Gyuyoung Kim.

No new tests, no behavior changes.

  • svg/PatternAttributes.h:

(WebCore::PatternAttributes::PatternAttributes):

  • svg/SVGAnimatedType.h:
  • svg/SVGElement.cpp:

(WebCore::SVGElement::cursorElementRemoved):
(WebCore::SVGElement::cursorImageValueRemoved):
(WebCore::SVGElement::getPresentationAttribute):

  • svg/SVGException.cpp:

(WebCore::SVGException::initializeDescription):

  • svg/SVGFEImageElement.cpp:

(WebCore::SVGFEImageElement::clearResourceReferences):

  • svg/SVGFontFaceElement.cpp:

(WebCore::SVGFontFaceElement::SVGFontFaceElement):
(WebCore::SVGFontFaceElement::removedFrom):

  • svg/SVGFontFaceUriElement.cpp:

(WebCore::SVGFontFaceUriElement::loadFont):

  • svg/SVGLength.h:

(WebCore::SVGLength::blend):

  • svg/SVGPathBlender.cpp:

(WebCore::SVGPathBlender::SVGPathBlender):
(WebCore::SVGPathBlender::cleanup):

  • svg/SVGPathBuilder.cpp:

(WebCore::SVGPathBuilder::SVGPathBuilder):

  • svg/SVGPathBuilder.h:
  • svg/SVGPathByteStreamBuilder.cpp:

(WebCore::SVGPathByteStreamBuilder::SVGPathByteStreamBuilder):

  • svg/SVGPathByteStreamBuilder.h:
  • svg/SVGPathElement.cpp:

(WebCore::SVGPathElement::dPropertyInfo):

  • svg/SVGPathParser.cpp:

(WebCore::SVGPathParser::SVGPathParser):
(WebCore::SVGPathParser::cleanup):

  • svg/SVGPathSegListBuilder.cpp:

(WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):

  • svg/SVGPathSegListBuilder.h:
  • svg/SVGPathTraversalStateBuilder.cpp:

(WebCore::SVGPathTraversalStateBuilder::SVGPathTraversalStateBuilder):

  • svg/SVGPathUtilities.cpp:

(WebCore::globalSVGPathBuilder):
(WebCore::globalSVGPathSegListBuilder):
(WebCore::globalSVGPathByteStreamBuilder):
(WebCore::globalSVGPathStringBuilder):
(WebCore::globalSVGPathTraversalStateBuilder):
(WebCore::globalSVGPathParser):
(WebCore::globalSVGPathBlender):

  • svg/SVGPolyElement.cpp:

(WebCore::SVGPolyElement::pointsPropertyInfo):

  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefTargetEventListener::cast):
(WebCore::SVGTRefTargetEventListener::SVGTRefTargetEventListener):

  • svg/SVGTextContentElement.cpp:

(WebCore::SVGTextContentElement::textLengthPropertyInfo):

  • svg/SVGURIReference.h:
  • svg/SVGViewSpec.cpp:

(WebCore::SVGViewSpec::viewBoxPropertyInfo):
(WebCore::SVGViewSpec::preserveAspectRatioPropertyInfo):
(WebCore::SVGViewSpec::transformPropertyInfo):

  • svg/SVGViewSpec.h:

(WebCore::SVGViewSpec::resetContextElement):

  • svg/animation/SMILTimeContainer.cpp:

(WebCore::SMILTimeContainer::updateAnimations):

  • svg/animation/SVGSMILElement.cpp:

(WebCore::ConditionEventListener::cast):
(WebCore::ConditionEventListener::disconnectAnimation):
(WebCore::SVGSMILElement::SVGSMILElement):
(WebCore::SVGSMILElement::removedFrom):

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::drawForContainer):

  • svg/graphics/filters/SVGFEImage.cpp:

(WebCore::FEImage::FEImage):

  • svg/graphics/filters/SVGFilterBuilder.cpp:

(WebCore::SVGFilterBuilder::clearEffects):

  • svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:

(WebCore::SVGAnimatedPathSegListPropertyTearOff::animationEnded):
(WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):

  • svg/properties/SVGAnimatedPropertyDescription.h:

(WebCore::SVGAnimatedPropertyDescription::SVGAnimatedPropertyDescription):

  • svg/properties/SVGAnimatedPropertyTearOff.h:

(WebCore::SVGAnimatedPropertyTearOff::~SVGAnimatedPropertyTearOff):

  • svg/properties/SVGAnimatedStaticPropertyTearOff.h:

(WebCore::SVGAnimatedStaticPropertyTearOff::animationEnded):
(WebCore::SVGAnimatedStaticPropertyTearOff::SVGAnimatedStaticPropertyTearOff):

  • svg/properties/SVGPropertyTearOff.h:

(WebCore::SVGPropertyTearOff::SVGPropertyTearOff):

8:15 AM Changeset in webkit [184851] by Carlos Garcia Campos
  • 5 edits in trunk

[GTK] Add construct property to WebKitWebContext to set the IndexedDB database directory
https://bugs.webkit.org/show_bug.cgi?id=140882

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

Add WebKitWebContext:indexed-db-database-directory construct only property.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkitWebContextGetProperty):
(webkitWebContextSetProperty):
(webkitWebContextConstructed):
(webkit_web_context_class_init):

Tools:

Make sure unit tests write IndexedDB databases to the temporary
directory, and add a test case to check that the directory is
correctly created at the expected path.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:

(testWebContextConfiguration):
(serverCallback):

  • TestWebKitAPI/gtk/WebKit2Gtk/TestMain.h:

(Test::Test):

12:05 AM Changeset in webkit [184850] by Carlos Garcia Campos
  • 7 edits in trunk

[GTK] Enable IndexedDB
https://bugs.webkit.org/show_bug.cgi?id=98932

Reviewed by Žan Doberšek.

.:

  • Source/cmake/OptionsGTK.cmake: Enable DATABASE_PROCESS and INDEXED_DATABASE.
  • Source/cmake/WebKitFeatures.cmake: Add ENABLE_DATABASE_PROCESS.

Tools:

  • Scripts/webkitperl/FeatureList.pm: Enable IndexedDB for the GTK port.

LayoutTests:

  • platform/gtk/TestExpectations: Update IndexedDB test expectations.
Note: See TracTimeline for information about the timeline view.