Timeline
May 29, 2015:
- 8:55 PM Changeset in webkit [185030] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 5 edits in branches/safari-601.1.32-branch/Source
Versioning.
- 6:49 PM Changeset in webkit [185025] by
-
- 1 copy in tags/Safari-601.1.32.8
New tag.
- 6:19 PM Changeset in webkit [185024] by
-
- 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
-
- 4 edits3 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
-
- 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
-
- 19 edits1 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
-
- 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
-
- 3 edits4 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
-
- 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 constone thing, c++-style cast another.
- 4:42 PM Changeset in webkit [185017] by
-
- 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
-
- 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
-
- 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
-
- 2 edits2 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
-
- 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
-
- 10 edits4 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 24 edits2 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
-
- 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
-
- 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
-
- 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
-
- 9 edits3 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
-
- 2 edits in tags/Safari-601.1.33.2/Source/WebCore
Merged r184924. rdar://problem/21149548
- 1:10 PM Changeset in webkit [185000] by
-
- 5 edits in tags/Safari-601.1.33.2/Source
Versioning.
- 1:06 PM Changeset in webkit [184999] by
-
- 1 copy in tags/Safari-601.1.33.2
New tag.
- 12:56 PM Changeset in webkit [184998] by
-
- 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
-
- 1 edit4 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
-
- 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
-
- 12 edits in branches/safari-601.1.32-branch/Source
Merge custom patch. rdar://problem/21155654
- 11:14 AM Changeset in webkit [184994] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 5 edits2 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 5 edits2 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
-
- 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
-
- 3 edits2 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
-
- 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
-
- 8 edits2 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 2 edits2 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
-
- 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
-
- 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
-
- 5 edits in branches/safari-601.1.32-branch/Source
Versioning.
- 10:40 AM Changeset in webkit [184956] by
-
- 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
-
- 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
-
- 9 edits1 copy1 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
-
- 2 edits9 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
-
- 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
-
- 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
- (diff)
- 1:18 AM Changeset in webkit [184950] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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.