Timeline
May 30, 2015:
- 10:53 PM Changeset in webkit [185037] by
-
- 6 edits in trunk/Source
Make FrameLoader methods that take PassRefPtr<Event> take raw pointers instead.
https://bugs.webkit.org/show_bug.cgi?id=145495
Reviewed by Alexey Proskuryakov.
Source/WebCore:
No new tests (No change in behavior).
In most cases ownership of the Event is not actually being transferred, and these functions are all rarely called anyways.
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::handleClick):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::urlSelected):
(WebCore::FrameLoader::loadFrameRequest):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::loadPostRequest):
- loader/FrameLoader.h:
Source/WebKit2:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::navigateToPDFLinkWithSimulatedClick):
- 7:25 PM Changeset in webkit [185036] by
-
- 5 edits in trunk/Source/WebCore
[iOS] Tiling coverage sometimes inflated by outdated scale factor.
<https://webkit.org/b/145494>
<rdar://problem/20989389>
Reviewed by Benjamin Poulain.
Have GraphicsLayerCA plumb the current contents scale through to TileController::adjustCoverageRect()
instead of TileController getting it from TileGrid.
This avoids a situation where adjustCoverageRect() could cause temporarily oversized tiling coverage
if called while TileGrid's content scale is outdated, and we're neither zooming or pinching, following
a pinch zoom that increased the scale factor.
Specifically, if all the velocity data is zero, we pad the coverage rect by a horizontal and vertical
margin computed like so:
margin = defaultTileSize / tileGrid.scale
If the actual scale is 5, but the TileGrid's outdated scale is e.g 0.8, you'll get a much larger
margin than you really wanted. Then the whole thing gets scaled up by 5x later on, and we explode
in a fiery feast of IOSurface allocations.
- platform/graphics/TiledBacking.h:
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::adjustCoverageRect):
- platform/graphics/ca/TileController.cpp:
(WebCore::TileController::computeTileCoverageRect):
- platform/graphics/ca/TileController.h:
- 6:08 PM Changeset in webkit [185035] by
-
- 5 edits in branches/safari-601.1.32-branch/Source
Versioning.
- 6:02 PM Changeset in webkit [185034] by
-
- 1 copy in tags/Safari-601.1.32.9
New tag.
- 3:07 PM Changeset in webkit [185033] by
-
- 4 edits in trunk/Source/WebCore
Fix Windows tests broken by r185007.
https://bugs.webkit.org/show_bug.cgi?id=145472
Unreviewed. Discussed with Alexey Proskuryakov.
No new tests (Fixing the four broken ones should suffice).
The bug was that evaluating arguments in a method/constructor call has no guaranteed sequencing.
Clang seems to always do LTR, allowing the PassRefPtr to be evaluated as a bool in the call to
navigationType() before it is "consumed" by the PassRefPtr argument.
In Visual Studio the PassRefPtr consumption happened before the bool evaluation, meaning
false
was always passed in to navigationType(), breaking the four tests.
The fix? Using PassRefPtr here was silly in the first place.
No ownership is being transferred.
Raw pointers it is.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::loadPostRequest):
- loader/NavigationAction.cpp:
(WebCore::NavigationAction::NavigationAction):
- loader/NavigationAction.h: Nobody is actually transferring ownership of these Events. Raw pointers will work just fine, thanks.
- 2:48 PM Changeset in webkit [185032] by
-
- 3 edits3 adds in trunk
FTL codegen for MultiGetByOffset and MultiPutByOffset where the structure set is already proved should have an unreachable default case instead of an exit
https://bugs.webkit.org/show_bug.cgi?id=145469
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Omitting the speculation on the fail path when the speculation is guaranteed not to be
taken hints to LLVM that the default case is impossible. This enables some useful
optimizations.
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileMultiGetByOffset):
(JSC::FTL::LowerDFGToLLVM::compileMultiPutByOffset):
LayoutTests:
- js/regress/repeat-multi-get-by-offset-expected.txt: Added.
- js/regress/repeat-multi-get-by-offset.html: Added.
- js/regress/script-tests/repeat-multi-get-by-offset.js: Added.
(foo):
- 1:52 AM Changeset in webkit [185031] by
-
- 3 edits in trunk/Tools
Unreviewed build fix after r185014. Some tests only have subtests and not metrics.
- Scripts/webkitpy/benchmark_runner/benchmark_results.py:
(BenchmarkResults._lint_subtest_results):
- Scripts/webkitpy/benchmark_runner/benchmark_results_unittest.py:
(test_aggregate_nested_results):
(test_lint_results):
- WinLauncher/WinLauncher.vcxproj/WinLauncherResource.h:
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