mcatanzaro@igalia.com [Fri, 10 Jul 2015 12:33:18 +0000 (12:33 +0000)]
[GTK] ar warning when linking static libraries
https://bugs.webkit.org/show_bug.cgi?id=144988
Reviewed by Carlos Garcia Campos.
Do not use 'u' when calling ar. This argument conflicts with 'D' and is ignored if 'D' is
used, and 'D' is used by default if binutils is built with --enable-deterministic-archives.
Using 'u' with 'D' causes a warning to be printed when linking static libraries. At least
Fedora and Debian have recently both chosen to use --enable-deterministic-archives, so we
should either stop using 'u' or else add 'U' as well in order to disable deterministic
archives. Using 'U' should result in a somewhat faster build (at least when using the
Makefile generator), but it's unlikely that the difference is significant, so let's simply
remove 'u' until someone determines otherwise. This seems like a better option than adding
'U' so as not to foil distributions' attempts to perform deterministic builds. This also
aligns us with the behavior of upstream CMake (which has never used 'u'). This is a minor
behavior change on distributions that do not use --enable-deterministic-archives, notably
Arch and openSUSE.
* Source/cmake/OptionsCommon.cmake:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186670
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 10 Jul 2015 12:30:00 +0000 (12:30 +0000)]
Updated Swedish translation for WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=146596
Patch by Josef Andersson <josef.andersson@fripost.org> on 2015-07-10
Reviewed by Carlos Garcia Campos.
* sv.po:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186669
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
loki@webkit.org [Fri, 10 Jul 2015 12:26:43 +0000 (12:26 +0000)]
[Planet WebKit] Update the feed url of the University of Szeged's blog.
https://bugs.webkit.org/show_bug.cgi?id=146835
Reviewed by Csaba Osztrogonác.
* config.ini:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186668
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
youenn.fablet@crf.canon.fr [Fri, 10 Jul 2015 06:05:45 +0000 (06:05 +0000)]
[Streams API] Fix readable-stream-tee.html
https://bugs.webkit.org/show_bug.cgi?id=146803
Reviewed by Darin Adler.
* streams/reference-implementation/readable-stream-tee.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186667
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Fri, 10 Jul 2015 05:55:20 +0000 (05:55 +0000)]
Plugin create can end up destroying its renderer.
https://bugs.webkit.org/show_bug.cgi?id=146824
rdar://problem/
18921429
Reviewed by Andreas Kling.
Plugins can run arbitrary code during initialization. If the plugin
happens to destroy the associated node, its renderer becomes invalid.
This patch checks whether the renderer survived the createPlugin() call.
(This WeakPtr pattern is also used in RenderWidget to avoid dangling pointers.)
Speculative fix. Not reproducible.
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadPlugin):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186666
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 10 Jul 2015 05:31:50 +0000 (05:31 +0000)]
Quick fix for run_benchmark script that AppKit.NSRunningApplication does not work properly
https://bugs.webkit.org/show_bug.cgi?id=146820
Patch by Dewei Zhu <dewei_zhu@apple.com> on 2015-07-09
Reviewed by Ryosuke Niwa.
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:
(OSXBrowserDriver):
(OSXBrowserDriver.close_browsers):
(OSXBrowserDriver._terminiate_processes):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
(OSXChromeDriver):
(OSXChromeCanaryDriver):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
(OSXFirefoxDriver):
(OSXFirefoxNightlyDriver):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
(OSXSafariDriver):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186665
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Fri, 10 Jul 2015 05:18:53 +0000 (05:18 +0000)]
Source/WebCore:
WebCore part of Track and expose policies for external URL schemes and App Links separately
https://bugs.webkit.org/show_bug.cgi?id=146822
Reviewed by Anders Carlsson.
* loader/FrameLoaderTypes.h: Added ShouldOpenExternalURLsPolicy::ShouldAllowExternalSchemes,
meaning external schemes are allowed but App Links are not. The opposite state doesn’t
exist.
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected): Opening a link in a new window
or in the current window should never open it as an App Link.
Source/WebKit2:
WebKit2 part of Track and expose policies for external URL schemes and App Links separately
https://bugs.webkit.org/show_bug.cgi?id=146822
Reviewed by Anders Carlsson.
* Shared/NavigationActionData.cpp:
(WebKit::NavigationActionData::encode):
(WebKit::NavigationActionData::decode):
* Shared/NavigationActionData.h:
Replaced the shouldOpenExternalURLsPolicy boolean member with a
shouldOpenExternalURLsPolicy member whose type is ShouldOpenExternalURLsPolicy, and
updated encoding and decoding:
* UIProcess/API/APINavigationAction.h:
Added shouldOpenAppLinks boolean to NavigationAction::create and the constructor. It
augments the policy in the NavigationActionData with a valude decided in the UI process.
Replaced shouldOpenExternalURLs() with shouldOpenExternalSchemes() and
shouldOpenAppLinks() which check the policy and the new m_shouldOpenAppLinks boolean.
* UIProcess/API/Cocoa/WKNavigationAction.mm:
(-[WKNavigationAction _shouldOpenExternalSchemes]): Getter for new property, calls through
to the NavigationAction.
(-[WKNavigationAction _shouldOpenAppLinks]): Ditto.
(-[WKNavigationAction _shouldOpenExternalURLs]): Now deprecated and returns the
_shouldOpenExternalSchemes value.
* UIProcess/API/Cocoa/WKNavigationActionPrivate.h: Declared new properties for the two
policies and deprecated old property.
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::tryAppLink): Changed to use NavigationAction::shouldOpenAppLinks, which
encapsulates logic that used to be here.
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::createNewPage): Allow App Links (if already allowed by policy).
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForNavigationAction): Moved logic from tryAppLink in
NavigationState.mm here and pass the result to NavigationAction::create.
(WebKit::WebPageProxy::decidePolicyForNewWindowAction): Allow App Links (if already allowed
by policy).
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::loadRequest): Changed the default policy to not allow App Links (but
still allow external schemes).
* WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.cpp:
(WKBundleNavigationActionGetShouldTryAppLinks): Added this getter.
* WebProcess/InjectedBundle/API/c/WKBundleNavigationActionPrivate.h:
* WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
(WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):
* WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:
Added m_shouldTryAppLinks boolean member, initialized from the policy. Updated the
initialization of m_shouldOpenExternalURLs to account for the new policy.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Pass the policy
in the navigation data.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186664
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Fri, 10 Jul 2015 05:10:18 +0000 (05:10 +0000)]
Fetching Content Security Policy report URL should respect same origin policy
https://bugs.webkit.org/show_bug.cgi?id=146754
<rdar://problem/
18860259>
Reviewed by Brady Eidson.
Inspired by Blink r149791 (by Mike West <mkwst@chromium.org>):
<https://src.chromium.org/viewvc/blink?revision=149791&view=revision>
Source/WebCore:
As per <http://www.w3.org/TR/2015/CR-CSP2-
20150219/#send-violation-reports>, fetching the
Content Security Policy report URL should include cookies if and only if the origin of
the protected resource is equal to the origin of the report URL.
Tests: http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-enabled.html
http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-toggled.html
http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies.html
http/tests/security/contentSecurityPolicy/report-same-origin-no-cookies-when-private-browsing-toggled.html
http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies-when-private-browsing-enabled.html
http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies.html
* loader/PingLoader.cpp:
(WebCore::PingLoader::sendViolationReport):
LayoutTests:
Added additional tests for private browsing mode.
* http/tests/cookies/resources/setCookies.cgi:
* http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-enabled-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-enabled.html: Added.
* http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-toggled-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-toggled.html: Added.
* http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies.html: Added.
* http/tests/security/contentSecurityPolicy/report-same-origin-no-cookies-when-private-browsing-toggled-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/report-same-origin-no-cookies-when-private-browsing-toggled.html: Added.
* http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies-when-private-browsing-enabled-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies-when-private-browsing-enabled.html: Added.
* http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies.html: Added.
* http/tests/security/contentSecurityPolicy/resources/save-report.php:
* platform/wk2/TestExpectations: Skip private browsing mode tests in WebKit2 until we fix <https://bugs.webkit.org/show_bug.cgi?id=115274>.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186663
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Fri, 10 Jul 2015 03:45:10 +0000 (03:45 +0000)]
Use CoreAnimation fences instead of synchronous IPC to synchronize resize
https://bugs.webkit.org/show_bug.cgi?id=146294
<rdar://problem/
21090193>
Reviewed by Anders Carlsson.
Because of changes in underlying frameworks, we can no longer depend on
blocking the UI process main thread to be sufficient to synchronize
UI process CA commits with commits coming from the Web process.
Instead, we have to use CoreAnimation fences to perform this synchronization.
Instead of blocking inside waitForAndDispatchImmediately, we'll end up
blocking during the CA commit.
* Platform/mac/LayerHostingContext.mm:
Use HAVE(COREANIMATION_FENCES).
* Platform/IPC/Connection.cpp:
(IPC::Connection::Connection):
(IPC::Connection::processIncomingMessage):
(IPC::Connection::installIncomingSyncMessageCallback):
(IPC::Connection::uninstallIncomingSyncMessageCallback):
Keep track of a set of incoming sync message callbacks, and fire them
(on another queue) when a sync message arrives.
(IPC::Connection::hasIncomingSyncMessage):
* Platform/IPC/Connection.h:
Add a way to check if there are any sync messages in the queue.
* UIProcess/API/mac/WKView.mm:
(-[WKView forceAsyncDrawingAreaSizeUpdate:]):
(-[WKView waitForAsyncDrawingAreaSizeUpdate]):
These are no longer used; do nothing on 10.10+.
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::sendUpdateGeometry):
* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::updateGeometry):
* WebProcess/WebPage/DrawingArea.messages.in:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::scaleViewAndUpdateGeometryFenced):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::updateGeometry):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
Add a MachSendRight parameter to UpdateGeometry, so that we can send along
a fence port with the geometry update if needed.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
Apply the incoming fence so that geometry changes will be synchronized between processes.
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
(WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate):
Don't wait for DidUpdateGeometry to come in if we're using fences to achieve the same thing.
(WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry):
Create and block us on a fence and send it along with the geometry update.
If a sync message is in the incoming message queue, don't create the fence;
if a sync message comes in at any point after we've installed the fence (but
before the relevant commit completes), invalidate the fence, so that we won't
end up temorarily deadlocked waiting for the fence timeout.
* platform/cocoa/MachSendRight.h:
Export some constructors.
* platform/spi/cocoa/QuartzCoreSPI.h:
Add some SPI.
* wtf/Platform.h:
Add HAVE(COREANIMATION_FENCES)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186662
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Fri, 10 Jul 2015 00:40:36 +0000 (00:40 +0000)]
Followup to r186647
Reviewed by NOBODY.
Thanks, EWS and commit-queue, for not catching this!
* loader/DocumentLoader.h: Add a semi-colon.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186658
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mcatanzaro@igalia.com [Fri, 10 Jul 2015 00:20:31 +0000 (00:20 +0000)]
[GTK] pango should be included in the default jhbuild moduleset
https://bugs.webkit.org/show_bug.cgi?id=146683
Reviewed by Martin Robinson.
Recent releases of pango 1.36 use functions that are only provided by fontconfig 2.12 when
compiled against sufficiently-new versions of fontconfig. Since we depend on both pango and
fontconfig, and pango depends on fontconfig, we must either add pango to our jhbuild
moduleset or else upgrade fontconfig to a recent unstable release (knowing that we will have
the same problem again the next time pango wants to use a new fontconfig feature), or remove
fontconfig (which would make it hard to keep tests working). On the balance, adding pango is
best.
* gtk/jhbuild-optional.modules: Remove pango
* gtk/jhbuild.modules: Add pango and update to latest 1.36.8
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186655
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Fri, 10 Jul 2015 00:11:09 +0000 (00:11 +0000)]
Web Inspector: Storage tab should have a scope bar in the sidebar
https://bugs.webkit.org/show_bug.cgi?id=146799
Reviewed by Mark Lam.
* Localizations/en.lproj/localizedStrings.js: Updated.
* UserInterface/Main.html: Added StorageSidebarPanel.css.
* UserInterface/Views/StorageSidebarPanel.css: Added.
* UserInterface/Views/StorageSidebarPanel.js:
(WebInspector.StorageSidebarPanel):
(WebInspector.StorageSidebarPanel.prototype.hasCustomFilters):
(WebInspector.StorageSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
(WebInspector.StorageSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
(WebInspector.StorageSidebarPanel.prototype._scopeBarSelectionDidChange):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186654
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mcatanzaro@igalia.com [Fri, 10 Jul 2015 00:09:11 +0000 (00:09 +0000)]
[GTK] Crash when spell checker returns no guesses
https://bugs.webkit.org/show_bug.cgi?id=146805
Reviewed by Martin Robinson.
Properly handle ContextMenuItemTagNoGuessesFound in the switch statement.
* UIProcess/API/gtk/WebKitContextMenuActions.cpp:
(webkitContextMenuActionGetForContextMenuItem):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186653
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dino@apple.com [Fri, 10 Jul 2015 00:02:50 +0000 (00:02 +0000)]
REGRESSION: Inline media scrubbing always pauses the video
https://bugs.webkit.org/show_bug.cgi?id=146819
<rdar://problem/
21572027>
Reviewed by Eric Carlson. Joseph Pecoraro also was really
helpful in diagnosing the problem.
When we moved some code from a getter/setter in the child
class to the base class, it was no longer being called due
to the bad way we were implementing inheritance. The solution
was to have the child class explicitly call into the base
class.
The much better solution would have been to rewrite everything
to use ES6 classes or, as a smaller change, assign the __proto__
directly on the child prototype. But I felt that was a bit
too risky at this point.
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.extend): Describe in a comment why the extend function
is not suitable.
* Modules/mediacontrols/mediaControlsiOS.js: Add a getter/setter for
scrubbing that calls into the base Controller.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186652
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Fri, 10 Jul 2015 00:02:41 +0000 (00:02 +0000)]
Web Inspector: Make the TabBar work better with AX
https://bugs.webkit.org/show_bug.cgi?id=146806
Reviewed by Joseph Pecoraro.
* UserInterface/Views/TabBar.js:
(WebInspector.TabBar): Set role to tablist and drop tabIndex.
* UserInterface/Views/TabBarItem.js:
(WebInspector.TabBarItem): Set role to tab and tabIndex.
(WebInspector.TabBarItem.prototype.set selected): Toggle aria-selected.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186651
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cfleizach@apple.com [Thu, 9 Jul 2015 23:43:08 +0000 (23:43 +0000)]
AX: <details> element should allow expand/close through AX API
https://bugs.webkit.org/show_bug.cgi?id=146549
Reviewed by Mario Sanchez Prada.
Forgot this file with the original commit.
* html/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::toggleOpen):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186650
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Thu, 9 Jul 2015 23:33:25 +0000 (23:33 +0000)]
[Content Extensions] Add 3 byte jump size.
https://bugs.webkit.org/show_bug.cgi?id=146425
Reviewed by Darin Adler.
Source/WebCore:
* contentextensions/DFABytecode.h:
(WebCore::ContentExtensions::smallestPossibleJumpSize):
* contentextensions/DFABytecodeCompiler.cpp:
(WebCore::ContentExtensions::appendZeroes):
(WebCore::ContentExtensions::DFABytecodeCompiler::compile):
* contentextensions/DFABytecodeInterpreter.cpp:
(WebCore::ContentExtensions::jumpSizeInBytes):
(WebCore::ContentExtensions::getJumpSize):
(WebCore::ContentExtensions::getJumpDistance):
Added DFABytecodeJumpSize::Int24.
Source/WebKit2:
* UIProcess/API/APIUserContentExtensionStore.h:
Increment CurrentContentExtensionFileVersion because of change in the bytecode.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186649
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 9 Jul 2015 23:32:15 +0000 (23:32 +0000)]
SafariViewController loads partial webpage or entirely blank webpage
https://bugs.webkit.org/show_bug.cgi?id=146815
rdar://problem/
21734757
Reviewed by Dan Bernstein.
* Platform/spi/ios/UIKitSPI.h:
Add _hostProcessIdentifier getter.
* UIProcess/ApplicationStateTracker.h:
Change ApplicationStateTracker to hold on to a WKContentView instead of a UIView.
* UIProcess/ApplicationStateTracker.mm:
(WebKit::applicationType):
Add a helper function that returns the type of application the web view is hosted by (regular
application, view service or extension).
(WebKit::ApplicationStateTracker::ApplicationStateTracker):
Register notifications and update m_isInBackground. For regular applications, just listen for UIApplication notifications.
For view services, walk the view controller hierarchy and find the service view controller and listen for notifications and use
BKS to find the background state of the host application. For extensions, just use BKSApplicationStateMonitor directly.
(WebKit::isViewService): Deleted.
* UIProcess/ios/WKContentView.mm:
(-[WKContentView willMoveToWindow:]):
If we're moving out of a window, null out the state tracker.
(-[WKContentView didMoveToWindow]):
If we moved to a window, create a new state tracker.
(-[WKContentView isBackground]):
Handle a null application state.
(-[WKContentView _commonInitializationWithProcessPool:configuration:]): Deleted.
Don't create the application state here.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186648
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Thu, 9 Jul 2015 23:29:33 +0000 (23:29 +0000)]
Add better ASSERTs to learn more about what is going wrong in DocumentLoader::detachFromFrame()
https://bugs.webkit.org/show_bug.cgi?id=146816
Reviewed by Alex Christensen.
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::attachToFrame): Set the "has ever been attached" flag to true.
(WebCore::DocumentLoader::detachFromFrame): ASSERT m_frame is non-null, but with a message
depending on the value of the "has ever been attached" flag.
* loader/DocumentLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186647
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Thu, 9 Jul 2015 23:27:24 +0000 (23:27 +0000)]
[Mac, iOS] The mimeTypeCache should return a reference
https://bugs.webkit.org/show_bug.cgi?id=146809
Reviewed by Eric Carlson.
No new tests: No change in functionality.
Don't copy the mime type cache every time someone asks it a question. Return
by reference instead.
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::mimeTypeCache):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::mimeTypeCache):
* platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
(WebCore::mimeTypeCache):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186646
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Thu, 9 Jul 2015 23:21:11 +0000 (23:21 +0000)]
Web Inspector: Don't clear the console when navigating to a different page
https://bugs.webkit.org/show_bug.cgi?id=142751
Reviewed by Timothy Hatcher.
* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Controllers/LogManager.js:
(WebInspector.LogManager): No longer distinguishes from page refreshes and page navigations for console clearing.
(WebInspector.LogManager.prototype._delayedMessagesCleared):
(WebInspector.LogManager.prototype._mainResourceDidChange):
* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView.prototype._sessionStarted):
(WebInspector.LogContentView.prototype._handleContextMenuEvent): Changed context menu keep/clear log text.
(WebInspector.LogContentView.prototype._toggleClearLogOnNavigateSetting):
(WebInspector.LogContentView.prototype._toggleClearLogOnReloadSetting): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186645
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 9 Jul 2015 23:02:41 +0000 (23:02 +0000)]
Rubber banding is broken when using a Mighty Mouse
https://bugs.webkit.org/show_bug.cgi?id=146693
Patch by Wenson Hsieh <whsieh@berkeley.edu> on 2015-07-09
Reviewed by Tim Horton.
Source/WebCore:
Sets the "constrain content edge scrolling" flag to true by default, causing scrolling
with a Mighty Mouse to not extend beyond the container's edges.
Test: platform/mac-wk2/tiled-drawing/scrolling/stateless-scrolling-no-rubber-band.html
* rendering/RenderLayer.cpp: Remove code that defaulted the flag to false.
(WebCore::RenderLayer::RenderLayer): Deleted.
* rendering/RenderMarquee.cpp: Added special case for marquees that allows content to scroll.
(WebCore::RenderMarquee::RenderMarquee): See above.
LayoutTests:
* platform/mac-wk2/tiled-drawing/scrolling/stateless-scrolling-no-rubber-band-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/scrolling/stateless-scrolling-no-rubber-band.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186644
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Thu, 9 Jul 2015 22:58:05 +0000 (22:58 +0000)]
SymbolTable::entryFor() should do a bounds check before indexing into the localToEntry vector.
https://bugs.webkit.org/show_bug.cgi?id=146807
Reviewed by Filip Pizlo.
When we capture an argument by name and we use "arguments", we put all of the
arguments into the scope. But destructured arguments are put into the scope
anonymously i.e. the SymbolTable knows that the scope offset is in use via
SymbolTable::m_maxScopeOffset, but that ScopeOffset won't appear in
SymbolTable::m_map.
The SymbolTable's m_localToEntry vector is synthesized from its m_map, and will
have a size which is based on the largest ScopeOffset in the m_map. If we have a
scenario where the anonymous argument is at a higher ScopeOffset than all the
named arguments, then the m_localsToEntry vector will not have an entry for it
i.e. the m_localsToEntry vector will have a size that is <= the ScopeOffset of
the anonymous argument.
Hence, SymbolTable::entryFor() should ensure that the requested ScopeOffset is
within the bounds of the m_localToEntry vector before indexing into it.
* runtime/SymbolTable.cpp:
(JSC::SymbolTable::entryFor):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186643
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Thu, 9 Jul 2015 22:30:42 +0000 (22:30 +0000)]
DocumentLoader::detachFromFrame() is being called with no current Frame set.
<rdar://problem/
21293082> and https://bugs.webkit.org/show_bug.cgi?id=146786
Reviewed by Sam Weinig.
No new tests (Unknown how to reproduce).
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::attachToFrame):
(WebCore::DocumentLoader::detachFromFrame): Null check m_frame before dereferencing it.
(WebCore::DocumentLoader::setFrame): Deleted, renamed to attachToFrame(), and take's
a Frame& instead of a Frame*.
* loader/DocumentLoader.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::initForSynthesizedDocument): setFrame is now attachToFrame.
(WebCore::FrameLoader::setPolicyDocumentLoader): Ditto.
(WebCore::FrameLoader::transitionToCommitted): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186642
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 9 Jul 2015 22:11:53 +0000 (22:11 +0000)]
Expose MediaStream methods to be used in the MediaStream Engine
https://bugs.webkit.org/show_bug.cgi?id=146791
<rdar://problem/
21747589>
Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-09
Reviewed by Brent Fulgham.
* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::getAudioTracks): Removed const
(WebCore::MediaStream::getVideoTracks): Ditto
* Modules/mediastream/MediaStream.h: Needed to change functions to
override
* platform/mediastream/MediaStreamPrivate.h: Added certain calls to
PrivateClient that exposes methods to be used in the engine
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186640
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Thu, 9 Jul 2015 22:07:51 +0000 (22:07 +0000)]
Web Inspector: Fix shape-highlight layout tests
https://bugs.webkit.org/show_bug.cgi?id=146080
Reviewed by Joseph Pecoraro.
Source/WebCore:
* inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForShapeOutside): Now properly returns the shape margin.
LayoutTests:
* http/tests/inspector/dom/shapes-test.js: Updated.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186639
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Thu, 9 Jul 2015 21:59:33 +0000 (21:59 +0000)]
[Mac] AirPlay to password protected AppleTV fails
https://bugs.webkit.org/show_bug.cgi?id=146812
Reviewed by NOBODY (OOPS!).
* Modules/mediasession/WebMediaSessionManager.cpp:
(WebCore::WebMediaSessionManager::showPlaybackTargetPicker): Initialize previouslyRequestedPicker.
(WebCore::WebMediaSessionManager::clientStateDidChange): Cleanup the logic and add a comment
to make it slightly easier to follow. Don't begin playing to a device unless playback
has just started (don't switch in mid-play).
(WebCore::WebMediaSessionManager::configurePlaybackTargetClients): Use the last client to
request the device picker as a fallback in case no other client is a canditate. Add more
logging to make it possible to debug the selection logic.
(WebCore::WebMediaSessionManager::scheduleDelayedTask): Fiddle with the logging.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186636
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Thu, 9 Jul 2015 21:57:32 +0000 (21:57 +0000)]
Web Inspector: Pseudo-element style ordering is wrong for pseudo-styles on unique selectors
https://bugs.webkit.org/show_bug.cgi?id=146804
Reviewed by Timothy Hatcher.
* UserInterface/Models/CSSRule.js:
(WebInspector.CSSRule.prototype.selectorIsGreater):
Loops through the selectors in a rule to check if their specificity is greater than a given selector's specificity.
* UserInterface/Models/CSSSelector.js:
(WebInspector.CSSSelector.prototype.isGreaterThan):
Determines if the given selector's specificity is greater than this selector's specificity.
(WebInspector.CSSSelector):
* UserInterface/Views/RulesStyleDetailsPanel.js:
(WebInspector.RulesStyleDetailsPanel.prototype.refresh):
If the pseudo-element selector's specificity is greater than the current selector's
specificity, create the pseudo-element's section and add it before the current style.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186635
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Thu, 9 Jul 2015 21:54:11 +0000 (21:54 +0000)]
Web Inspector: Special Logs to Console that do not have an expression should be styled differently, looks like code
https://bugs.webkit.org/show_bug.cgi?id=143840
Reviewed by Timothy Hatcher.
* UserInterface/Controllers/JavaScriptLogViewController.js:
(WebInspector.WebInspector.JavaScriptLogViewController.appendImmediateExecutionWithResult):
Now applies a class to special logs initiated by the user (log element, log object, etc).
* UserInterface/Views/ConsoleCommandView.js:
(WebInspector.ConsoleCommandView): Added className parameter.
* UserInterface/Views/ConsoleMessageView.css:
(.console-user-command.selected-element-log):
(.console-user-command.special-user-log > .console-message-text):
* UserInterface/Views/DOMTreeOutline.js:
(WebInspector.DOMTreeOutline.prototype._populateContextMenu.logElement):
(WebInspector.DOMTreeOutline.prototype._populateContextMenu):
* UserInterface/Views/ObjectPreviewView.js:
(WebInspector.ObjectPreviewView.prototype._contextMenuHandler):
* UserInterface/Views/ObjectTreeBaseTreeElement.js:
(WebInspector.ObjectTreeBaseTreeElement.prototype._logSymbolProperty):
(WebInspector.ObjectTreeBaseTreeElement.prototype._logValue):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186634
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Thu, 9 Jul 2015 20:47:58 +0000 (20:47 +0000)]
Unreviewed. Added myself as a committer.
* Scripts/webkitpy/common/config/contributors.json:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186609
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 9 Jul 2015 20:47:15 +0000 (20:47 +0000)]
Implementing platform-specific section of enumerateDevices
https://bugs.webkit.org/show_bug.cgi?id=146461
<rdar://problem/
21614466>
Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-09
Reviewed by Darin Adler.
* Modules/mediastream/MediaDeviceInfo.cpp: Changed access methods
(WebCore::MediaDeviceInfo::audioInputType): Added AtomicString
permanent refs
(WebCore::MediaDeviceInfo::audioOutputType): Ditto
(WebCore::MediaDeviceInfo::videoInputType): Ditto
* Modules/mediastream/MediaDeviceInfo.h: Changed String refs to values
(WebCore::MediaDeviceInfo::label): Ditto
(WebCore::MediaDeviceInfo::deviceId): Ditto
(WebCore::MediaDeviceInfo::groupId): Ditto
(WebCore::MediaDeviceInfo::kind): Ditto
* platform/mediastream/MediaDevicesPrivate.cpp: Implemented query for
available devices
(WebCore::MediaDevicesPrivate::MediaDevicesPrivate):
(WebCore::MediaDevicesPrivate::create):
(WebCore::MediaDevicesPrivate::availableMediaDevices):
* platform/mediastream/MediaDevicesPrivate.h:
(WebCore::MediaDevicesPrivate::~MediaDevicesPrivate):
* WebCore.xcodeproj/project.pbxproj:
* platform/mediastream/MediaStreamTrackSourcesRequestClient.h: Needed
to tack on extra fields to hold data
(WebCore::TrackSourceInfo::create):
(WebCore::TrackSourceInfo::groupId):
(WebCore::TrackSourceInfo::deviceId):
(WebCore::TrackSourceInfo::TrackSourceInfo):
* platform/mediastream/mac/AVCaptureDeviceManager.mm:
(WebCore::AVCaptureDeviceManager::getSourcesInfo):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186608
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
peavo@outlook.com [Thu, 9 Jul 2015 20:37:49 +0000 (20:37 +0000)]
[Win] Add memory pressure handler.
https://bugs.webkit.org/show_bug.cgi?id=146685
Reviewed by Brent Fulgham.
Source/WebCore:
Add memory pressure handler implementation on Windows.
We check the memory usage at regular intervals with a timer.
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::releaseMemory):
(WebCore::MemoryPressureHandler::install):
(WebCore::MemoryPressureHandler::uninstall):
(WebCore::MemoryPressureHandler::holdOff):
* platform/win/MemoryPressureHandlerWin.cpp: Added.
(WebCore::CheckMemoryTimer::CheckMemoryTimer):
(WebCore::CheckMemoryTimer::fired):
(WebCore::CheckMemoryTimer::handleMemoryLow):
(WebCore::MemoryPressureHandler::platformReleaseMemory):
(WebCore::memCheckTimer):
(WebCore::MemoryPressureHandler::install):
(WebCore::MemoryPressureHandler::uninstall):
(WebCore::MemoryPressureHandler::holdOff):
(WebCore::MemoryPressureHandler::respondToMemoryPressure):
(WebCore::MemoryPressureHandler::ReliefLogger::platformMemoryUsage):
(WebCore::MemoryPressureHandler::ReliefLogger::platformLog):
* platform/win/Win32Handle.h:
(WebCore::Win32Handle::operator=):
Source/WebKit:
* WebKit.vcxproj/WebKit/WebKitCommon.props: Link with process api library.
Source/WebKit/win:
* WebView.cpp:
(WebView::initWithFrame): Install memory pressure handler.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186607
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
msaboff@apple.com [Thu, 9 Jul 2015 20:24:39 +0000 (20:24 +0000)]
REGRESSION (r180248): Repro Crash: com.apple.WebKit.WebContent at com.apple.JavaScriptCore: JSC::createRangeError + 20
https://bugs.webkit.org/show_bug.cgi?id=146767
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
If the stack check fails at the top most frame, we must use that frame to
generate the exception. Reverted the code to always use the current frame to
throw an out of stack exception.
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
LayoutTests:
New test that generates a call to a function that involves creating a huge
object literal that exceeds the available stack space.
* http/tests/misc/large-js-program-expected.txt: Added.
* http/tests/misc/large-js-program.php: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186606
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Thu, 9 Jul 2015 19:43:28 +0000 (19:43 +0000)]
OSR exit fuzzing should allow us to select a static exit site
https://bugs.webkit.org/show_bug.cgi?id=146601
Reviewed by Geoffrey Garen.
The original implementation of the fuzzer allows us to trigger an exit based on its index
in the dynamic sequence of exit sites encountered. But there are usually millions of
dynamically encountered exit sites, even if the program only has thousands of static exit
sites. That means that we would at best be able to do a random sampling of exits, and
those would be biased to the hottest exit sites.
This change allows us to also select exit sites based on their index in the static
sequence of exit sites that the compiler compiled. Then, once that static exit site is
selected, we can select which dynamic exit at that exit site we should trigger. Since the
number of static exit sites is usually smallish (it's bounded by program size), we can do
an exhaustive search over all exit sites in most programs.
* dfg/DFGOSRExitFuzz.cpp:
(JSC::numberOfStaticOSRExitFuzzChecks):
(JSC::numberOfOSRExitFuzzChecks):
* dfg/DFGOSRExitFuzz.h:
(JSC::DFG::doOSRExitFuzzing):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::emitOSRExitFuzzCheck):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExit):
* jsc.cpp:
(jscmain):
* runtime/Options.h:
* runtime/TestRunnerUtils.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186605
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Thu, 9 Jul 2015 19:31:09 +0000 (19:31 +0000)]
Add a way to set the default URL from Minibrowser UI
https://bugs.webkit.org/show_bug.cgi?id=146780
Reviewed by Simon Fraser.
* MiniBrowser/mac/AppDelegate.m:
(-[BrowserAppDelegate didChangeSettings]):
* MiniBrowser/mac/BrowserWindowController.h:
* MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController fetch:]):
(-[BrowserWindowController reload:]):
(-[BrowserWindowController forceRepaint:]):
(-[BrowserWindowController goBack:]):
(-[BrowserWindowController goForward:]):
(-[BrowserWindowController showHideWebView:]):
(-[BrowserWindowController removeReinsertWebView:]):
(-[BrowserWindowController zoomIn:]):
(-[BrowserWindowController zoomOut:]):
(-[BrowserWindowController resetZoom:]):
(-[BrowserWindowController canZoomIn]):
(-[BrowserWindowController canZoomOut]):
(-[BrowserWindowController canResetZoom]):
(-[BrowserWindowController toggleZoomMode:]):
(-[BrowserWindowController setScale:]):
(-[BrowserWindowController toggleShrinkToFit:]):
(-[BrowserWindowController dumpSourceToConsole:]):
(-[BrowserWindowController find:]):
(-[BrowserWindowController didChangeSettings]):
(-[BrowserWindowController currentURL]):
Get rid of the BrowserController protocol. It was a bad idea and confused
Interface Builder more than I thought possible.
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController _populateMenu]):
(-[SettingsController setDefaultURLToCurrentURL:]):
If we have a BrowserWindowController, grab its URL and set the relevant default.
* MiniBrowser/mac/WK1BrowserWindowController.h:
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController currentURL]):
* MiniBrowser/mac/WK2BrowserWindowController.h:
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController currentURL]):
Retrieve the current URL from the WKView/WebView.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186604
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Thu, 9 Jul 2015 19:30:25 +0000 (19:30 +0000)]
Increase MiniBrowser location bar maximum width
https://bugs.webkit.org/show_bug.cgi?id=146779
Reviewed by Simon Fraser.
* MiniBrowser/mac/BrowserWindow.xib:
Have an enormous maximum width on the location bar, so that it doesn't
stop expanding with the window at 800px.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186603
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Thu, 9 Jul 2015 19:25:25 +0000 (19:25 +0000)]
Web Inspector: Checkbox disappears when unchecking CSS background style
https://bugs.webkit.org/show_bug.cgi?id=146776
Reviewed by Timothy Hatcher.
* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers.update):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): Now uses _createCommentedCheckboxMarker.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createCommentedCheckboxMarker):
Scans the content of the given lineHandle for any commented text and adds an unselected checkbox to
the beginning of that lineHandle's line.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): Now adds commented checkbox markers.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186602
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nvasilyev@apple.com [Thu, 9 Jul 2015 19:16:10 +0000 (19:16 +0000)]
Web Inspector: Align slider knobs in the color picker
https://bugs.webkit.org/show_bug.cgi?id=146778
Also:
- Use half pixel borders on retina
- Remove one pixel white outline to match native OS X color picker more closely
Reviewed by Timothy Hatcher.
* UserInterface/Views/ColorPicker.css:
(.color-picker > .slider > img):
* UserInterface/Views/Slider.css:
(.slider):
(@media (-webkit-min-device-pixel-ratio: 2)):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186601
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 9 Jul 2015 18:48:52 +0000 (18:48 +0000)]
Exposed AVVideoCaptureSource's bounds
https://bugs.webkit.org/show_bug.cgi?id=146760
<rdar://problem/
21736772>
Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-09
Reviewed by Brent Fulgham.
* platform/mediastream/mac/AVVideoCaptureSource.h:
(WebCore::AVVideoCaptureSource::width): Needed access to video width
(WebCore::AVVideoCaptureSource::height): Needed access to video height
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186600
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Thu, 9 Jul 2015 18:40:34 +0000 (18:40 +0000)]
[WinCairo] ClearType should be enabled on Cairo port
https://bugs.webkit.org/show_bug.cgi?id=145492
Patch by Karlen Simonyan <szkarlen@gmail.com> on 2015-07-09
Reviewed by Brent Fulgham.
* platform/graphics/win/FontPlatformDataCairoWin.cpp:
(WebCore::FontPlatformData::FontPlatformData):
Use CAIRO_ANTIALIAS_BEST instead of CAIRO_ANTIALIAS_GRAY.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186599
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cfleizach@apple.com [Thu, 9 Jul 2015 18:38:39 +0000 (18:38 +0000)]
AX: <details> element should allow expand/close through AX API
https://bugs.webkit.org/show_bug.cgi?id=146549
Reviewed by Mario Sanchez Prada.
Source/WebCore:
Allow AXExpanded to be writeable for <details> element, which, when set
will toggle the opening and closing of the element.
Post a notification when that happens as well.
Modified test: platform/mac/accessibility/details-summary.html
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::hierarchicalLevel):
(WebCore::AccessibilityNodeObject::setIsExpanded):
(WebCore::shouldUseAccessibilityObjectInnerText):
* accessibility/AccessibilityNodeObject.h:
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::supportsPressAction):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::canSetExpandedAttribute):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
(-[WebAccessibilityObjectWrapper _accessibilitySetValue:forAttribute:]):
* html/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::toggleOpen):
LayoutTests:
* platform/mac/accessibility/details-summary-expected.txt:
* platform/mac/accessibility/details-summary.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186598
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Thu, 9 Jul 2015 18:36:29 +0000 (18:36 +0000)]
[Content Extensions] Prevent crashes with plugins.
https://bugs.webkit.org/show_bug.cgi?id=146705
rdar://problem/
20855444
Reviewed by Brady Eidson.
Source/WebCore:
* loader/NetscapePlugInStreamLoader.cpp:
(WebCore::NetscapePlugInStreamLoader::create):
Call addPlugInStreamLoader in ResourceLoader::willSendRequest to always add blocked loads.
* loader/NetscapePlugInStreamLoader.h:
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::willSendRequest):
Removed unnecessary early returns.
* loader/ResourceLoader.h:
(WebCore::ResourceLoader::isPlugInStreamLoader):
LayoutTests:
* http/tests/contentextensions/plugin-doesnt-crash-expected.txt: Copied from http/tests/plugins/get-url-expected.txt.
* http/tests/contentextensions/plugin-doesnt-crash.html: Copied from http/tests/plugins/get-url.html.
* http/tests/contentextensions/plugin-doesnt-crash.html.json: Added.
* http/tests/contentextensions/resources/load-me-1.txt: Copied from http/tests/plugins/resources/load-me-1.txt.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186597
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Thu, 9 Jul 2015 18:34:42 +0000 (18:34 +0000)]
[Win] Skip canvas/philip/tests/2d.text.draw.fontface.notinpage.html
https://bugs.webkit.org/show_bug.cgi?id=146795
* platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186596
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cfleizach@apple.com [Thu, 9 Jul 2015 18:16:36 +0000 (18:16 +0000)]
AX: VoiceOver cannot get to any content in Yahoo Mail messages table
https://bugs.webkit.org/show_bug.cgi?id=146674
Unreviewed. Skip a test on windows that needs more WKTR and DRT implementations.
* platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186595
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Thu, 9 Jul 2015 18:09:47 +0000 (18:09 +0000)]
[Win] Honor CACFLayer content scale factor
https://bugs.webkit.org/show_bug.cgi?id=146792
Reviewed by Dean Jackson.
* AVFoundationSupport.py: Check for the CACFLayerSet/GetContentsScale
* platform/graphics/ca/win/PlatformCALayerWin.cpp:
(PlatformCALayerWin::PlatformCALayerWin): Use owner's scale factor (if
present).
(PlatformCALayerWin::contentsScale): Use CACFLayer API if present.
(PlatformCALayerWin::setContentsScale): Ditto.
* platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
(PlatformCALayerWinInternal::PlatformCALayerWinInternal): Use owner's scale
factor (if present).
(PlatformCALayerWinInternal::addTile): Use tile parent's scale factor.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186594
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrajca@apple.com [Thu, 9 Jul 2015 16:26:33 +0000 (16:26 +0000)]
Media Session: report to chrome client 'hasActiveMediaElements' changes
https://bugs.webkit.org/show_bug.cgi?id=146745
Reviewed by Eric Carlson.
* Modules/mediasession/MediaSession.cpp: All updates to active media elements are now funneled through a helper
method that will invoke the 'hasMediaSessionWithActiveMediaElementsDidChange' callback when necessary.
(WebCore::MediaSession::removeMediaElement):
(WebCore::MediaSession::changeActiveMediaElements):
(WebCore::MediaSession::addActiveMediaElement):
(WebCore::MediaSession::releaseSession):
* Modules/mediasession/MediaSession.h:
* Modules/mediasession/MediaSessionManager.cpp:
(WebCore::MediaSessionManager::hasActiveMediaElements):
* Modules/mediasession/MediaSessionManager.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186593
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Thu, 9 Jul 2015 15:27:43 +0000 (15:27 +0000)]
REGRESSION (r182866): repeated prompts for password on internal Apple website using workers
https://bugs.webkit.org/show_bug.cgi?id=146769
Reviewed by Sam Weinig.
Not sure how to make a regression test for this. Sure would be nice to have one though.
* loader/ThreadableLoader.cpp:
(WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Added. Calls through to the
base class copy constructor to copy data members of the base class (the lack of this was
the bug). Also initializes all the data members of this class.
(WebCore::ThreadableLoaderOptions::isolatedCopy): Changed to call the constructor above.
* loader/ThreadableLoader.h: Added new constructor.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186592
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Thu, 9 Jul 2015 08:58:49 +0000 (08:58 +0000)]
Web Inspector: Rendering Frame segment colors should match those used in original Timelines graph
https://bugs.webkit.org/show_bug.cgi?id=146777
Reviewed by Brian Burg.
* UserInterface/Views/TimelineRecordFrame.css:
(.timeline-record-frame > .frame > .duration):
(.timeline-record-frame > .frame > .duration:last-child):
(.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-script):
(.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-layout):
(.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-paint):
Use same RGB values as TimelineRecordBar.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186590
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Thu, 9 Jul 2015 08:03:55 +0000 (08:03 +0000)]
Web Inspector: New JavaScript/Probe breakpoint action disappears when clicking continue checkbox
https://bugs.webkit.org/show_bug.cgi?id=146688
Reviewed by Brian Burg.
Delay removal of empty Evaluate and Probe actions until after the breakpoint popover has been dismissed. This
will make the breakpoint editing experience less jarring, by preventing actions from disappearing when clicking
other controls in the popover.
* UserInterface/Models/Breakpoint.js:
(WebInspector.Breakpoint.prototype.didDismissPopover):
Clear empty Evaluate and Probe actions on popover dismissal.
* UserInterface/Views/BreakpointActionView.js:
(WebInspector.BreakpointActionView.prototype._codeMirrorBlurred):
Don't remove actions with empty data on CodeMirror blur.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186589
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Thu, 9 Jul 2015 07:35:15 +0000 (07:35 +0000)]
Web Inspector: new breakpoint action dialog should reuse same action type
https://bugs.webkit.org/show_bug.cgi?id=137255
Reviewed by Brian Burg.
* UserInterface/Views/BreakpointActionView.js:
(WebInspector.BreakpointActionView.prototype._appendActionButtonClicked):
Use the view's action type instead of the default.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186588
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cfleizach@apple.com [Thu, 9 Jul 2015 07:31:27 +0000 (07:31 +0000)]
AX: VoiceOver cannot get to any content in Yahoo Mail messages table
https://bugs.webkit.org/show_bug.cgi?id=146674
Reviewed by Darin Adler.
Source/WebCore:
A table row could have any number of parent elements in the render tree, but for the purposes
of accessibility we only want to report the AXTable as the parent so that it looks like a sane
data table.
Test: accessibility/aria-table-with-presentational-elements.html
* accessibility/AccessibilityARIAGridRow.cpp:
(WebCore::AccessibilityARIAGridRow::disclosedByRow):
(WebCore::AccessibilityARIAGridRow::parentObjectUnignored):
(WebCore::AccessibilityARIAGridRow::parentTable):
* accessibility/AccessibilityARIAGridRow.h:
LayoutTests:
* accessibility/aria-table-with-presentational-elements-expected.txt: Added.
* accessibility/aria-table-with-presentational-elements.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186587
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Thu, 9 Jul 2015 07:01:49 +0000 (07:01 +0000)]
[Cocoa] Report the first paint after committing a load as a rendering progress event
https://bugs.webkit.org/show_bug.cgi?id=146765
Reviewed by Tim Horton.
* Shared/API/Cocoa/_WKRenderingProgressEvents.h: Added _WKRenderingProgressEventFirstPaint.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didCommitLayerTree:]): If this is the first layer tree commit since the load
was committed, and the delegate is observing _WKRenderingProgressEventFirstPaint, call
NavigationState::didFirstPaint.
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::didFirstPaint): Added. Calls -_webView:renderingProgressDidChange:
with _WKRenderingProgressEventFirstPaint.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186586
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Thu, 9 Jul 2015 06:41:12 +0000 (06:41 +0000)]
Web Inspector: Copy Rule in the context menu copies hidden properties in the rule
https://bugs.webkit.org/show_bug.cgi?id=146775
Reviewed by Timothy Hatcher.
* UserInterface/Views/CSSStyleDeclarationSection.js:
(WebInspector.CSSStyleDeclarationSection.prototype._generateCSSRuleString):
Now only uses properties from the rule's visibleProperties list.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186585
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 9 Jul 2015 06:04:42 +0000 (06:04 +0000)]
Fix grammar issue in TypeError attempting to change an unconfigurable property
https://bugs.webkit.org/show_bug.cgi?id=146774
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-07-08
Reviewed by Brent Fulgham.
Source/JavaScriptCore:
* runtime/JSFunction.cpp:
(JSC::JSFunction::defineOwnProperty):
* runtime/JSObject.cpp:
(JSC::JSObject::defineOwnNonIndexProperty):
* runtime/StringObject.cpp:
(JSC::StringObject::defineOwnProperty):
LayoutTests:
* js/dom/Object-defineProperty-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186584
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jinwoo7.song@samsung.com [Thu, 9 Jul 2015 06:01:01 +0000 (06:01 +0000)]
[EFL] When closing inspector window, EwkView is not released properly.
https://bugs.webkit.org/show_bug.cgi?id=146716
Reviewed by Gyuyoung Kim.
It's because inspector window could not be deleted by remaining reference
from inspector view(evas object). This patch deletes the inspector window
after finishing the evas object smart call.
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::destroyInspectorWindow):
(WebKit::WebInspectorProxy::platformDidClose):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186583
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Thu, 9 Jul 2015 05:52:54 +0000 (05:52 +0000)]
[EFL] vibration/navigator-vibration.html failed after r186265
https://bugs.webkit.org/show_bug.cgi?id=146770
Reviewed by Gyuyoung Kim.
Update test LayoutTests/vibration/navigator-vibration.html and its expected result.
Following <http://trac.webkit.org/changeset/186265> extra arguments passed
to a Web IDL overloaded function are ignored per section "Interface object Call? method"
of the Web IDL spec, <http://www.w3.org/TR/2012/CR-WebIDL-
20120419/> (19 April 2012).
* vibration/navigator-vibration-expected.txt:
* vibration/navigator-vibration.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186582
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 9 Jul 2015 05:50:38 +0000 (05:50 +0000)]
[GTK] The "Missing Plug-in" buttons are not showing up on some flash contents.
https://bugs.webkit.org/show_bug.cgi?id=146707
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-07-08
Reviewed by Martin Robinson.
Currently, WebKitGTK+ doesn't show the "Missing Plug-in" buttons if the plugin-related tags
don't have a "type" attribute. In such a case, WebCore tries to guess the MIME type from
the extensions by using MIMETypeRegistry::getMIMETypeForExtension(). For WebKitGTK+,
MIMETypeRegistry::getMIMETypeForExtension() goes through |extensionMap|, which is a simple
array of <extension, mime type>, looking for the mime type for the given extension.
But |extensionMap| in MIMETypeRegistryGtk.cpp doesn't have the information for ".swf",
so WebCore fails to guess the MIME type and regard the content type as ObjectContentFrame,
not ObjectContentNetscapePlugin.
* platform/gtk/MIMETypeRegistryGtk.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186581
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Thu, 9 Jul 2015 05:47:04 +0000 (05:47 +0000)]
Web Inspector: Add page weight and time back to the toolbar dashboard
https://bugs.webkit.org/show_bug.cgi?id=146755
Revert r183328 which removed the page weight and load time from the dashboard. We have space
in the dashboard, we can put these back since we didn't find a better home for them.
Reviewed by Joseph Pecoraro.
* Localizations/en.lproj/localizedStrings.js: Updated.
* UserInterface/Base/Main.js:
(WebInspector.showNetworkTab):
* UserInterface/Images/Time.svg: Added.
* UserInterface/Images/Weight.svg: Added.
* UserInterface/Images/gtk/Time.svg: Added.
* UserInterface/Images/gtk/Weight.svg: Added.
* UserInterface/Models/DefaultDashboard.js:
(WebInspector.DefaultDashboard):
(WebInspector.DefaultDashboard.prototype.get resourcesSize):
(WebInspector.DefaultDashboard.prototype.set resourcesSize):
(WebInspector.DefaultDashboard.prototype.get time):
(WebInspector.DefaultDashboard.prototype.set time):
(WebInspector.DefaultDashboard.prototype._mainResourceDidChange):
(WebInspector.DefaultDashboard.prototype._capturingStopped):
(WebInspector.DefaultDashboard.prototype._startUpdatingTime):
(WebInspector.DefaultDashboard.prototype._stopUpdatingTime):
(WebInspector.DefaultDashboard.prototype._updateTime):
* UserInterface/Views/DashboardContainerView.css:
(body.web .toolbar .dashboard-container):
(body.javascript .toolbar .dashboard-container):
(.toolbar.collapsed .dashboard-container):
(.toolbar .dashboard-container): Deleted.
* UserInterface/Views/DefaultDashboardView.css:
(body.web .toolbar.collapsed .dashboard.default > :matches(.resourcesSize, .time, .logs)):
(body.javascript .toolbar .dashboard.default > :matches(.resourcesCount, .resourcesSize, .time)):
(.toolbar .dashboard.default > .resourcesSize):
(.toolbar .dashboard.default > .time > img):
(.toolbar .dashboard.default > .resourcesSize > img):
(body.web .toolbar.collapsed .dashboard.default > .item.resourcesCount): Deleted.
(body.javascript .toolbar .dashboard.default > .item.resourcesCount): Deleted.
* UserInterface/Views/DefaultDashboardView.js:
(WebInspector.DefaultDashboardView):
(WebInspector.DefaultDashboardView.prototype._updateDisplay):
(WebInspector.DefaultDashboardView.prototype._networkItemWasClicked):
(WebInspector.DefaultDashboardView.prototype._timelineItemWasClicked):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186580
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Thu, 9 Jul 2015 04:47:09 +0000 (04:47 +0000)]
Crash calling [WebView close] in didFinishLoadForFrame callback.
<rdar://problem/
21690765> and https://bugs.webkit.org/show_bug.cgi?id=146773
Reviewed by David Kilzer.
Source/WebCore:
Added API Test "WebViewCloseInsideDidFinishLoadForFrame"
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkLoadCompleteForThisFrame): After the delegate callback,
don't use the local Page* variable from earlier, but instead refetch it from m_frame.
Tools:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/WebViewCloseInsideDidFinishLoadForFrame.mm: Added.
(-[WebViewCloseFrameLoadDelegate webView:didFinishLoadForFrame:]):
(TestWebKitAPI::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186579
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Thu, 9 Jul 2015 04:31:41 +0000 (04:31 +0000)]
Attempt to fix the Apple Windows build after <https://trac.webkit.org/changeset/186566>
(https://bugs.webkit.org/show_bug.cgi?id=146591)
Update implementation of PluginView::create() to return a Ref<PluginView> object
instead of a PassRefPtr<PluginView> object.
* Plugins/PluginView.cpp:
(WebCore::PluginView::create):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186578
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Thu, 9 Jul 2015 04:20:35 +0000 (04:20 +0000)]
Web Inspector: Style sidebar is showing incorrect strikethroughs
https://bugs.webkit.org/show_bug.cgi?id=146768
Reviewed by Timothy Hatcher.
* UserInterface/Models/DOMNodeStyles.js:
(WebInspector.DOMNodeStyles.prototype._markOverriddenProperties):
No longer sets the effective property as overridden if the overriding property is anonymous (not visible).
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186576
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Thu, 9 Jul 2015 04:10:05 +0000 (04:10 +0000)]
Cleanup: Make ContentSecurityPolicy::ReportingStatus an enum class
https://bugs.webkit.org/show_bug.cgi?id=146670
Reviewed by Darin Adler.
Make calling the ContentSecurityPolicy::allow* functions less error prone by making
ContentSecurityPolicy::ReportingStatus an enum class. Among other benefits this will
prevent a caller from inadvertently passing an enumerator of ContentSecurityPolicy::ReportingStatus
as the boolean argument overridingContentSecurityPolicy, which is taken by the various
ContentSecurityPolicy::allow* functions, by causing a compile-time error (since an enum class
enumerator cannot be implicitly converted to an integral type).
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::initScript):
* page/ContentSecurityPolicy.cpp:
(WebCore::CSPDirectiveList::allowJavaScriptURLs):
(WebCore::CSPDirectiveList::allowInlineEventHandlers):
(WebCore::CSPDirectiveList::allowInlineScript):
(WebCore::CSPDirectiveList::allowInlineStyle):
(WebCore::CSPDirectiveList::allowEval):
(WebCore::CSPDirectiveList::allowPluginType):
(WebCore::CSPDirectiveList::allowScriptFromSource):
(WebCore::CSPDirectiveList::allowObjectFromSource):
(WebCore::CSPDirectiveList::allowChildFrameFromSource):
(WebCore::CSPDirectiveList::allowImageFromSource):
(WebCore::CSPDirectiveList::allowStyleFromSource):
(WebCore::CSPDirectiveList::allowFontFromSource):
(WebCore::CSPDirectiveList::allowMediaFromSource):
(WebCore::CSPDirectiveList::allowConnectToSource):
(WebCore::CSPDirectiveList::allowFormAction):
(WebCore::CSPDirectiveList::allowBaseURI):
(WebCore::ContentSecurityPolicy::didReceiveHeader):
(WebCore::ContentSecurityPolicy::evalDisabledErrorMessage):
* page/ContentSecurityPolicy.h:
* page/DOMSecurityPolicy.cpp:
(WebCore::DOMSecurityPolicy::allowsEval):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186574
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 9 Jul 2015 03:55:19 +0000 (03:55 +0000)]
Activate DOMURLMediaStream
https://bugs.webkit.org/show_bug.cgi?id=146764
<rdar://problem/
21738101>
Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-08
Reviewed by Eric Carlson.
* DerivedSources.make: Added DOMURLMediaStream.idl to list
* WebCore.xcodeproj/project.pbxproj: Added DOMURLMediaStream.cpp and
DOMURLMediaStream.h to compile
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186573
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 9 Jul 2015 03:51:39 +0000 (03:51 +0000)]
Make sure MediaStream uses blob protocol
https://bugs.webkit.org/show_bug.cgi?id=146752
<rdar://problem/
21736057>
Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-08
Reviewed by Eric Carlson.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild): Added MediaStream
blob protocol
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186572
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 9 Jul 2015 03:33:49 +0000 (03:33 +0000)]
Fix ASSERTION FAILED: !m_pendingNavigationID in WebPage::reload().
https://bugs.webkit.org/show_bug.cgi?id=146546
Patch by Hyungwook Lee <hyungwook.lee@navercorp.com> on 2015-07-08
Reviewed by Darin Adler.
We did't reset pendingNavigationID value when request url is empty.
Hence we need to ignore ASSERT check in this case.
Source/WebKit2:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::reload):
Tools:
* TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp:
(TestWebKitAPI::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186570
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Thu, 9 Jul 2015 03:28:24 +0000 (03:28 +0000)]
Videos on apple.com don't show up when restored from page cache.
<https://webkit.org/b/146766>
<rdar://problem/
21712311>
Reviewed by Darin Adler.
Source/WebCore:
Break out most of HTMLMediaElement::stop() (override of ActiveDOMObject::stop(), to be clear)
into a stopWithoutDestroyingMediaPlayer() function that both stop() and suspend() can call.
Before this change, suspend() would call stop() when moving into the page cache, killing the
internal MediaPlayer object which caused the video to disappear from the page.
Test: LayoutTests/media/restore-from-page-cache.html (amended)
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::stopWithoutDestroyingMediaPlayer):
(WebCore::HTMLMediaElement::stop):
(WebCore::HTMLMediaElement::suspend):
* html/HTMLMediaElement.h:
LayoutTests:
Tweaked an existing media element page caching test to dump out the video height
after restoring from page cache. Failure to restore the video player would result
in incorrect geometry (it falls back to RenderReplaced's default 300x150.)
* media/restore-from-page-cache-expected.txt:
* media/restore-from-page-cache.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186569
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@webkit.org [Thu, 9 Jul 2015 02:31:21 +0000 (02:31 +0000)]
Use Ref/RefPtr instead of PassRefPtr in WebKit2 - 2
https://bugs.webkit.org/show_bug.cgi?id=146591
Reviewed by Darin Adler.
Following patch in order to reduce use of PassRefPtr.
* Shared/BlobDataFileReferenceWithSandboxExtension.h:
* Shared/Cocoa/CompletionHandlerCallChecker.h:
* Shared/Cocoa/CompletionHandlerCallChecker.mm:
(WebKit::CompletionHandlerCallChecker::create):
* Shared/Downloads/DownloadAuthenticationClient.h:
(WebKit::DownloadAuthenticationClient::create):
* Shared/SandboxExtension.h:
* Shared/ShareableResource.cpp:
(WebKit::ShareableResource::create):
* Shared/ShareableResource.h:
* Shared/mac/ObjCObjectGraph.h:
(WebKit::ObjCObjectGraph::create):
* Shared/mac/SandboxExtensionMac.mm:
(WebKit::SandboxExtension::create):
* UIProcess/API/Cocoa/WKProcessGroup.mm:
(getInjectedBundleInitializationUserData):
* UIProcess/WebPreferences.cpp:
(WebKit::WebPreferences::create):
* UIProcess/WebPreferences.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
(WKBundlePageOverlayCreate):
* WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
(WKBundlePageBannerCreateBannerWithCALayer):
* WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
(WebKit::InjectedBundleDOMWindowExtension::create):
* WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h:
* WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
(WebKit::InjectedBundleHitTestResult::create):
* WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
* WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
(WebKit::InjectedBundleNavigationAction::create):
* WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:
* WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
(WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
(WebKit::InjectedBundlePageContextMenuClient::prepareForImmediateAction):
* WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
(WebKit::InjectedBundleScriptWorld::create):
* WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
* WebProcess/Network/NetworkProcessConnection.h:
(WebKit::NetworkProcessConnection::create):
* WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::create):
* WebProcess/Network/WebResourceLoader.h:
* WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
(WebKit::NotificationPermissionRequestManager::create):
* WebProcess/Notifications/NotificationPermissionRequestManager.h:
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::create):
* WebProcess/Plugins/Netscape/NetscapePlugin.h:
* WebProcess/Plugins/Netscape/NetscapePluginStream.h:
(WebKit::NetscapePluginStream::create):
* WebProcess/Plugins/PDF/PDFPlugin.h:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::create):
* WebProcess/Plugins/PDF/PDFPluginAnnotation.h:
(WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::create):
* WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.h:
* WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
(WebKit::PDFPluginChoiceAnnotation::create):
* WebProcess/Plugins/PDF/PDFPluginPasswordField.h:
* WebProcess/Plugins/PDF/PDFPluginPasswordField.mm:
(WebKit::PDFPluginPasswordField::create):
* WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h:
* WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
(WebKit::PDFPluginTextAnnotation::create):
* WebProcess/Plugins/PluginProcessConnection.h:
(WebKit::PluginProcessConnection::create):
* WebProcess/Plugins/PluginProcessConnectionManager.cpp:
(WebKit::PluginProcessConnectionManager::create):
* WebProcess/Plugins/PluginProcessConnectionManager.h:
* WebProcess/Plugins/PluginProxy.cpp:
(WebKit::PluginProxy::create):
* WebProcess/Plugins/PluginProxy.h:
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::URLRequest::create):
(WebKit::PluginView::Stream::create):
(WebKit::PluginView::create):
* WebProcess/Plugins/PluginView.h:
* WebProcess/Scrolling/RemoteScrollingCoordinator.h:
(WebKit::RemoteScrollingCoordinator::create):
* WebProcess/Storage/StorageAreaImpl.cpp:
(WebKit::StorageAreaImpl::create):
* WebProcess/Storage/StorageAreaImpl.h:
* WebProcess/Storage/StorageAreaMap.cpp:
(WebKit::StorageAreaMap::create):
* WebProcess/Storage/StorageAreaMap.h:
* WebProcess/WebConnectionToUIProcess.cpp:
(WebKit::WebConnectionToUIProcess::create):
* WebProcess/WebConnectionToUIProcess.h:
* WebProcess/WebCoreSupport/WebPopupMenu.cpp:
(WebKit::WebPopupMenu::create):
* WebProcess/WebCoreSupport/WebPopupMenu.h:
* WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
(WebKit::WebSearchPopupMenu::create):
* WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
* WebProcess/WebCoreSupport/ios/WebQuickLookHandleClient.h:
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
(WebKit::WebFrameNetworkingContext::create):
* WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
(WebKit::WebFrameNetworkingContext::create):
* WebProcess/WebPage/Cocoa/RemoteLayerTreeDisplayRefreshMonitor.h:
(WebKit::RemoteLayerTreeDisplayRefreshMonitor::create):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::create):
* WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
(WebKit::ThreadedCoordinatedLayerTreeHost::create):
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::create):
* WebProcess/WebPage/EventDispatcher.h:
* WebProcess/WebPage/PageBanner.h:
* WebProcess/WebPage/WebBackForwardListProxy.h:
(WebKit::WebBackForwardListProxy::create):
* WebProcess/WebPage/WebContextMenu.h:
(WebKit::WebContextMenu::create):
* WebProcess/WebPage/WebDocumentLoader.h:
(WebKit::WebDocumentLoader::create):
* WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::create):
* WebProcess/WebPage/WebInspector.h:
* WebProcess/WebPage/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::create):
* WebProcess/WebPage/WebInspectorUI.h:
* WebProcess/WebPage/WebOpenPanelResultListener.cpp:
(WebKit::WebOpenPanelResultListener::create):
* WebProcess/WebPage/WebOpenPanelResultListener.h:
* WebProcess/WebPage/WebPageOverlay.cpp:
(WebKit::WebPageOverlay::create):
* WebProcess/WebPage/WebPageOverlay.h:
* WebProcess/WebPage/WebUndoStep.cpp:
(WebKit::WebUndoStep::create):
* WebProcess/WebPage/WebUndoStep.h:
* WebProcess/WebPage/mac/PageBannerMac.mm:
(WebKit::PageBanner::create):
* WebProcess/WebPage/mac/PlatformCAAnimationRemote.h:
* WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
(WebKit::PlatformCAAnimationRemote::create):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::create):
* WebProcess/ios/WebVideoFullscreenManager.h:
* WebProcess/ios/WebVideoFullscreenManager.mm:
(WebKit::WebVideoFullscreenManager::create):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186566
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 9 Jul 2015 02:27:32 +0000 (02:27 +0000)]
Make MediaStream conform to its private client like MediaSource does
https://bugs.webkit.org/show_bug.cgi?id=146756
<rdar://problem/
21736457>
Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-08
Reviewed by Brent Fulgham.
MediaStream should be inheriting its PrivateClient's getters and
setters for RefCounted, not inheriting its own.
* Modules/mediastream/MediaStream.h: Changed MediaStream's inherit
statements
* platform/mediastream/MediaStreamPrivate.h: Changed
MediaStreamPrivateClient to inherit RefCounted<MediaStreamPrivateClient>
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186565
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 9 Jul 2015 02:23:25 +0000 (02:23 +0000)]
Made AVMediaCaptureSource's session accessor public
https://bugs.webkit.org/show_bug.cgi?id=146758
<rdar://problem/
21736651>
Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-08
Reviewed by Brent Fulgham.
* platform/mediastream/mac/AVMediaCaptureSource.h:
(WebCore::AVMediaCaptureSource::session): Changed to public
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186564
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 9 Jul 2015 01:22:28 +0000 (01:22 +0000)]
Make sure MediaStream engine loaded for interpreting MediaStreams
https://bugs.webkit.org/show_bug.cgi?id=146748
<rdar://problem/
21735416>
Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-08
Reviewed by Brent Fulgham.
Prevent the MediaSource engine from being used to process
MediaStreams, since they are not compatible
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType):
Changed MediaStream to never be loaded
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsType):
Changed MediaStream to never be loaded
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186563
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Thu, 9 Jul 2015 01:17:44 +0000 (01:17 +0000)]
Web Inspector: Color swatches show up in color names in comments
https://bugs.webkit.org/show_bug.cgi?id=146757
Reviewed by Timothy Hatcher.
* UserInterface/Views/CodeMirrorAdditions.js: Color markers now only appear if the color is in a keyword.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186562
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Thu, 9 Jul 2015 01:14:03 +0000 (01:14 +0000)]
Web Inspector: Only record a timeline when the Timelines tab is showing
https://bugs.webkit.org/show_bug.cgi?id=146759
Reviewed by Joseph Pecoraro.
* UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.prototype.get autoCaptureOnPageLoad):
(WebInspector.TimelineManager.prototype.set autoCaptureOnPageLoad):
(WebInspector.TimelineManager.prototype._startAutoCapturing):
* UserInterface/Views/TimelineTabContentView.js:
(WebInspector.TimelineTabContentView.prototype.shown):
(WebInspector.TimelineTabContentView.prototype.hidden):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186561
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Thu, 9 Jul 2015 00:52:53 +0000 (00:52 +0000)]
[Content Extensions] Fuse undistinguishable actions as much as possible
https://bugs.webkit.org/show_bug.cgi?id=146762
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-07-08
Reviewed by Alex Christensen.
Source/WebCore:
Our previous code that fused actions was based on test lists that were
grouping similar actions in the input.
The input we get from developers is more distributed. It is very common to
have trigger flags all over the place, and "css-display-none" mixed with "block".
This patch refines the merging code to merge those cases as much as possible.
The size taken by the actions is negligible, but having different actions make
nodes unkillable by the Minimizer. By merging many more actions, the minimizer
no longer see those subtrees as distinguishable and can do a better job.
On a large test list, this cuts the bytecode size by 2 megabytes.
Tests: http/tests/contentextensions/css-display-none-after-ignore-previous-rules.html
http/tests/contentextensions/single-css-display-none.html
* contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::resolvePendingDisplayNoneActions):
(WebCore::ContentExtensions::serializeActions):
Tools:
* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
Test that combinations and flags still work as expected.
LayoutTests:
Make sure the last CSS rule is not ignored.
* http/tests/contentextensions/css-display-none-after-ignore-previous-rules-expected.txt: Added.
* http/tests/contentextensions/css-display-none-after-ignore-previous-rules.html: Added.
* http/tests/contentextensions/css-display-none-after-ignore-previous-rules.html.json: Added.
* http/tests/contentextensions/single-css-display-none-expected.txt: Added.
* http/tests/contentextensions/single-css-display-none.html: Added.
* http/tests/contentextensions/single-css-display-none.html.json: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186550
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 9 Jul 2015 00:24:58 +0000 (00:24 +0000)]
WKSecurityOrigin.h has wrong availability info
https://bugs.webkit.org/show_bug.cgi?id=146761
rdar://problem/
21735802
Reviewed by Dan Bernstein.
* UIProcess/API/Cocoa/WKSecurityOrigin.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186547
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Thu, 9 Jul 2015 00:19:10 +0000 (00:19 +0000)]
[iOS] Scrolling is laggy when the keyboard is up and a form element is focused.
<https://webkit.org/b/146735>
<rdar://problem/
21151033>
Reviewed by Enrica Casucci.
Every touch on the page causes us to call elementDidFocus(), since we may need to bring
up a keyboard if the node had previously been programmatically focused. This was causing
little lag spikes during scrolling every time you'd put your finger to the screen.
Have WebPage::elementDidFocus() return early if the node already has focus, and we've
started an input session in response to non-programmatic focus already.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::elementDidFocus):
(WebKit::WebPage::elementDidBlur):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186546
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 9 Jul 2015 00:17:13 +0000 (00:17 +0000)]
Fix asynchronous function calls for scroll snap animation tests
https://bugs.webkit.org/show_bug.cgi?id=146753
Patch by Wenson Hsieh <whsieh@berkeley.edu> on 2015-07-08
Reviewed by Brent Fulgham.
Fixes unintended use of setTimeout in several scroll snap tests.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-iframe.html: Fixed asynchronous Javascript invocations.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-borders.html: See above.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-overflow.html: See above.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-padding.html: See above.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-rotated.html: See above.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186545
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 9 Jul 2015 00:16:03 +0000 (00:16 +0000)]
Cleared contentMIMETypes for MediaStreams
https://bugs.webkit.org/show_bug.cgi?id=146750
<rdar://problem/
21735678>
Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-08
Reviewed by Brent Fulgham.
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::load): Needed to clear contentMIMETypes
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186544
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dino@apple.com [Thu, 9 Jul 2015 00:11:35 +0000 (00:11 +0000)]
Audio elements with controls force their enclosing stacking context to composite
https://bugs.webkit.org/show_bug.cgi?id=146751
<rdar://problem/
21466572>
Reviewed by Simon Fraser.
There were a number of issues with audio controls, on both iOS and OS X.
- they used a blurry background which was not the intended design
- they cause the page to composite, which causes a degradation in
text rendering quality
- they inserted 20px of padding above every audio element, which
could break existing page designs.
Removing the need for compositing and blending means that the
colors used for control tints need to be adjusted for the non-blended
case. Wherever I could, I kept as much as possible in a shared
rule and made specific changes for audio or video.
The controls were also unintentionally relying on the compositing
to create stacking contexts and control the rendering order. Without
them, I needed to add some explicit stacking.
I also made some drive-by whitespace clean-ups.
* Modules/mediacontrols/mediaControlsApple.css: Remove as much compositing
as possible in audio controls.
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.drawTimelineBackground): Use specific colors for audio.
* Modules/mediacontrols/mediaControlsiOS.css: Remove as much need for compositing
as possible.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186543
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Thu, 9 Jul 2015 00:04:24 +0000 (00:04 +0000)]
Now that PingLoaders work in the NetworkProcess, re-enable http/tests/navigation/ping-cookie.html
https://bugs.webkit.org/show_bug.cgi?id=146747
Reviewed by Tim Horton.
* platform/gtk/TestExpectations:
* platform/ios-simulator-wk2/TestExpectations:
* platform/mac-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186542
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 8 Jul 2015 23:56:58 +0000 (23:56 +0000)]
Crash when appending an SVG <use> element dynamically which has animated SVG <path> element
https://bugs.webkit.org/show_bug.cgi?id=146690
<rdar://problem/
20790376>
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-07-08
Reviewed by Dean Jackson.
Source/WebCore:
Test: svg/animations/insert-animate-use-path-while-animation.svg
The crashing call stack shows that
SVGAnimatedListPropertyTearOff<SVGPathSegList>::m_animVal is null when
trying to access it in synchronizeWrappersIfNeeded(). This happens because
animationStarted() was not called for this animatedType.
SVGAnimateElementBase::resetAnimatedType() calls
SVGAnimatedPathAnimator::startAnimValAnimation() at the beginning of the
animation. For the target element and all its instances, this function calls
SVGAnimatedPathSegListPropertyTearOff::animationStarted() which calls
SVGAnimatedListPropertyTearOff<SVGPathSegList>::animationStarted(). This
last function allocates the member m_animVal when calling
SVGAnimatedListPropertyTearOff<SVGPathSegList>::animVal().
When adding a new instance of the same animating target element,
SVGAnimateElementBase::resetAnimatedType() just keeps calling
SVGAnimatedPathAnimator::animValDidChange() for all the instances of the
targetElement without ensuring that all of them have started their
animations.
The fix is to make SVGAnimatedPathAnimator::resetAnimValToBaseVal() ensure
that animationStarted() is called for the targetElement and all its instances.
* svg/SVGAnimatedPath.cpp:
(WebCore::SVGAnimatedPathAnimator::startAnimValAnimation): Move resetting
the animation value and starting the animatedTypes code to a new overriding
function which is named resetAnimValToBaseVal().
(WebCore::SVGAnimatedPathAnimator::resetAnimValToBaseVal): Call the overriding
function which calls buildSVGPathByteStreamFromSVGPathSegList() as before
and ensure that all the animatedTypes have started their animations.
* svg/SVGAnimatedPath.h:
LayoutTests:
When adding dynamically a new <use> element which references an animated
SVG path after the animation starts, ensure that WebKit is not crashing.
* svg/animations/insert-animate-use-path-while-animation-expected.txt: Added.
* svg/animations/insert-animate-use-path-while-animation.svg: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186541
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Wed, 8 Jul 2015 23:54:17 +0000 (23:54 +0000)]
Web Inspector: Details sidebar doesn't activate on first selected resource in Network tab
https://bugs.webkit.org/show_bug.cgi?id=146691
Make sure the SelectionPathComponentsDidChange event is dispatched when the tree elements are selected.
Selecting in the DataGrid selects the TreeElements, but onselect is not fired to avoid an inifinte loop.
Reviewed by Joseph Pecoraro.
* UserInterface/Views/NetworkGridContentView.js:
(WebInspector.NetworkGridContentView): Hook up _treeElementSelected.
(WebInspector.NetworkGridContentView.prototype._treeElementSelected): Added. Moved from
NetworkSidebarPanel and added dispatch of SelectionPathComponentsDidChange event.
* UserInterface/Views/NetworkSidebarPanel.js:
(WebInspector.NetworkSidebarPanel): Removed _treeElementSelected.
(WebInspector.NetworkSidebarPanel.prototype.canShowDifferentContentView): Renamed from _canShowDifferentContentView.
(WebInspector.NetworkSidebarPanel.prototype._canShowDifferentContentView): Deleted.
(WebInspector.NetworkSidebarPanel.prototype._treeElementSelected): Moved to NetworkGridContentView.
* UserInterface/Views/TimelineView.js:
(WebInspector.TimelineView.prototype.treeElementSelected): Dispatch SelectionPathComponentsDidChange event.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186540
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrajca@apple.com [Wed, 8 Jul 2015 23:46:16 +0000 (23:46 +0000)]
Media Session: indicate to clients whether a media session has active media elements
https://bugs.webkit.org/show_bug.cgi?id=146742
Reviewed by Tim Horton.
* UIProcess/API/C/WKPage.cpp:
(WKPageHasMediaSessionWithActiveMediaElements):
* UIProcess/API/C/WKPagePrivate.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::hasMediaSessionWithActiveMediaElementsDidChange):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::hasMediaSessionWithActiveMediaElementsDidChange):
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::hasMediaSessionWithActiveMediaElementsDidChange):
* WebProcess/WebCoreSupport/WebChromeClient.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186538
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Wed, 8 Jul 2015 23:46:11 +0000 (23:46 +0000)]
Web Inspector: Confusingly crossed out properties in .sidebar > .panel.navigation.timeline > .title-bar
https://bugs.webkit.org/show_bug.cgi?id=146727
Reviewed by Timothy Hatcher.
* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
The properties map used for refreshing each property now holds a list of properties for each line to ensure that
if a duplicate property exists, it also gets refreshed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186537
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Wed, 8 Jul 2015 23:44:40 +0000 (23:44 +0000)]
Web Inspector: Can't select last row in the timeline because it's covered by filter selector
https://bugs.webkit.org/show_bug.cgi?id=146603
Reviewed by Timothy Hatcher.
* UserInterface/Views/ScopeBar.js: Now adds a class to the scope bar if the default item is selected.
* UserInterface/Views/LayoutTimelineView.js:
* UserInterface/Views/NetworkTimelineView.js:
* UserInterface/Views/TimelineDataGrid.css:
(.data-grid.timeline > .navigation-bar-container): Deleted.
(.data-grid.timeline.has-non-default-filter > .navigation-bar-container): Deleted.
(.data-grid.timeline:hover > .navigation-bar-container): Deleted.
(.data-grid.timeline > .navigation-bar-container > .navigation-bar): Deleted.
(body.window-inactive .data-grid.timeline > .navigation-bar-container > .navigation-bar): Deleted.
* UserInterface/Views/TimelineDataGrid.js:
(WebInspector.TimelineDataGrid):
(WebInspector.TimelineDataGrid.createColumnScopeBar):
(WebInspector.TimelineDataGrid.prototype.updateLayout): Deleted.
* UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
* UserInterface/Views/TimelineSidebarPanel.css:
(.sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
(.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar):
(.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar > .default-item-selected > .multiple):
(.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar > .default-item-selected > .multiple path):
* UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.set contentTreeOutlineScopeBar):
Clears the title bar scope element and adds the given element as a child node.
* UserInterface/Views/TimelineView.js:
(WebInspector.TimelineView.prototype.get navigationSidebarTreeOutlineScopeBar):
Returns the scope bar element of the current object if it exists.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186536
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrajca@apple.com [Wed, 8 Jul 2015 23:43:09 +0000 (23:43 +0000)]
Media Session: propagate artwork URL with metadata to UI clients
https://bugs.webkit.org/show_bug.cgi?id=146698
Reviewed by Tim Horton.
* Shared/WebMediaSessionMetadata.h:
(WebKit::WebMediaSessionMetadata::artworkURL):
* UIProcess/API/C/WKMediaSessionMetadata.cpp:
(WKMediaSessionMetadataCopyArtworkURL):
* UIProcess/API/C/WKMediaSessionMetadata.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186535
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 8 Jul 2015 23:40:10 +0000 (23:40 +0000)]
Don't allow page scroll when previewing a link or image.
https://bugs.webkit.org/show_bug.cgi?id=146741
rdar://problem/
21733053
Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2015-07-08
Reviewed by Beth Dakin.
Don't let preview gesture and scroll panning gesture or zooming gesture recognize at the same time.
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView gestureRecognizer:canPreventGestureRecognizer:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186534
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Wed, 8 Jul 2015 23:03:38 +0000 (23:03 +0000)]
Snapshots can be misplaced when custom swipe views are offset from the window origin
https://bugs.webkit.org/show_bug.cgi?id=146744
<rdar://problem/
20942120>
Reviewed by Dean Jackson.
* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
Keep swipeArea in window coordinates; it was already in window coordinates
when using custom swipe views, but not in the non-custom case.
Convert from window coordinates to parent-of-m_swipeLayer coordinates when
determining m_swipeLayer's frame.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186532
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aestes@apple.com [Wed, 8 Jul 2015 23:02:43 +0000 (23:02 +0000)]
[iOS][WK2] Ignore synthetic clicks in subframes initiated on a previous page
https://bugs.webkit.org/show_bug.cgi?id=146712
Reviewed by Benjamin Poulain.
r178980 fixed an issue where, if a main frame navigation occurs in response to a touch event, a synthetic click
event could fire on the navigated-to page. This change extends this fix to apply to subframes.
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::WebFrame):
* WebProcess/WebPage/WebFrame.h:
(WebKit::WebFrame::firstLayerTreeTransactionIDAfterDidCommitLoad):
(WebKit::WebFrame::setFirstLayerTreeTransactionIDAfterDidCommitLoad):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCommitLoad): Stored the next layer tree transaction ID, and called cancelPotentialTapInFrame(), for the committed frame.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::handleTap): Determined the first post-commit layer tree transaction ID from the tap target node's frame.
(WebKit::WebPage::commitPotentialTap): Ditto.
(WebKit::WebPage::cancelPotentialTap): Called cancelPotentialTapInFrame(), passing m_mainFrame.
(WebKit::WebPage::cancelPotentialTapInFrame): Taught to only cancel a potential tap whose target node is a descendant of the given frame.
(WebKit::WebPage::updateVisibleContentRects): Updated to use the main frame's first post-commit layer tree transaction ID.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186531
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Wed, 8 Jul 2015 22:53:41 +0000 (22:53 +0000)]
Move PingLoaders to the NetworkingProcess.
<rdar://problem/
18860263> and https://bugs.webkit.org/show_bug.cgi?id=146710
Reviewed by Tim Horton.
Source/WebCore:
No new tests.
There's no current solution for communicating back to a page that a ping load has reached its target.
Until we have such a solution, any attempt at a layout test will be fragile at best.
* WebCore.xcodeproj/project.pbxproj:
* loader/LoaderStrategy.cpp:
(WebCore::LoaderStrategy::createPingHandle): Default implementation is create the PingHandle directly.
* loader/LoaderStrategy.h:
PingLoader becomes a static class for now that crafts the ResourceRequest then passes it off
to the LoaderStrategy:
* loader/PingLoader.cpp:
(WebCore::PingLoader::loadImage):
(WebCore::PingLoader::sendPing):
(WebCore::PingLoader::sendViolationReport):
(WebCore::PingLoader::startPingLoad):
(WebCore::PingLoader::createPingLoader): Deleted.
(WebCore::PingLoader::PingLoader): Deleted.
(WebCore::PingLoader::~PingLoader): Deleted.
* loader/PingLoader.h:
(WebCore::PingLoader::timeoutTimerFired): Deleted.
PingHandle does what PingLoader used to - It's a basic ResourceHandleClient that simply waits
for any response/completion/failure and then deletes itself.
* platform/network/PingHandle.h: Added.
(WebCore::PingHandle::PingHandle):
(WebCore::PingHandle::usesAsyncCallbacks):
(WebCore::PingHandle::timeoutTimerFired):
(WebCore::PingHandle::~PingHandle):
Source/WebKit2:
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::loadPing): Create a PingHandle and then return.
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::createPingHandle): If the Network process is enabled,
compile the appropriate load parameters and then message to it.
Otherwise, use the default in-process PingHandle.
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186530
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Wed, 8 Jul 2015 21:38:10 +0000 (21:38 +0000)]
Add new sources to StyleAllInOne.cpp
https://bugs.webkit.org/show_bug.cgi?id=146584
Patch by Csaba Osztrogonác <ossy@webkit.org> on 2015-07-08
Reviewed by Brent Fulgham.
* WebCore.vcxproj/WebCore.vcxproj:
* rendering/style/StyleAllInOne.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186528
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Wed, 8 Jul 2015 21:15:01 +0000 (21:15 +0000)]
Only support image previews for clients that implement commitPreviewedImageWithURL
delegate
https://bugs.webkit.org/show_bug.cgi?id=146739
-and corresponding-
rdar://problem/
21692929
Reviewed by Tim Horton.
We should only support image previews for clients that implement
commitPreviewedImageWithURL delegate since there is no default commit action.
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView previewViewControllerForPosition:inSourceView:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186527
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Wed, 8 Jul 2015 21:11:04 +0000 (21:11 +0000)]
Add new sources to DOMAllInOne.cpp
https://bugs.webkit.org/show_bug.cgi?id=146587
Patch by Csaba Osztrogonác <ossy@webkit.org> on 2015-07-08
Reviewed by Brent Fulgham.
* WebCore.vcxproj/WebCore.vcxproj:
* dom/DOMAllInOne.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186526
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Wed, 8 Jul 2015 20:49:55 +0000 (20:49 +0000)]
Add new sources to AccessibilityAllInOne.cpp
https://bugs.webkit.org/show_bug.cgi?id=146582
Patch by Csaba Osztrogonác <ossy@webkit.org> on 2015-07-08
Reviewed by Brent Fulgham.
* WebCore.vcxproj/WebCore.vcxproj:
* accessibility/AccessibilityAllInOne.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186525
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Wed, 8 Jul 2015 20:40:24 +0000 (20:40 +0000)]
Web Inspector: Clicking style checkbox selects the property name while mouse down
https://bugs.webkit.org/show_bug.cgi?id=146728
Reviewed by Timothy Hatcher.
* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseDown):
Now returns if the click was not at the end of the line.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186524
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 8 Jul 2015 20:36:09 +0000 (20:36 +0000)]
Make ApplicationStateTracker be per view instead of being a singleton
https://bugs.webkit.org/show_bug.cgi?id=146737
Reviewed by Andreas Kling.
* UIProcess/ApplicationStateTracker.h:
Update to be per view instead of a singleton.
* UIProcess/ApplicationStateTracker.mm:
(WebKit::ApplicationStateTracker::ApplicationStateTracker):
Change to take a view + selectors.
(WebKit::ApplicationStateTracker::~ApplicationStateTracker):
Invalidate the state monitor and remove the listeners.
(WebKit::ApplicationStateTracker::applicationDidEnterBackground):
Just call the single background method.
(WebKit::ApplicationStateTracker::applicationWillEnterForeground):
Just call the single foreground method.
(WebKit::ApplicationStateTracker::singleton): Deleted.
(WebKit::ApplicationStateTracker::addListener): Deleted.
(WebKit::ApplicationStateTracker::invokeListeners): Deleted.
(WebKit::ApplicationStateTracker::pruneListeners): Deleted.
* UIProcess/ios/WKContentView.mm:
(-[WKContentView _commonInitializationWithProcessPool:configuration:]):
Create the ApplicationStateTracker here.
(-[WKContentView isBackground]):
Get the ivar instead of the singleton.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186523
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Wed, 8 Jul 2015 20:20:09 +0000 (20:20 +0000)]
InteractionInformationAtPosition bounds seem wrong on many sites, affects
apple.com
https://bugs.webkit.org/show_bug.cgi?id=146736
-and corresponding-
rdar://problem/
21655549
Reviewed by Tim Horton.
http://trac.webkit.org/changeset/186132/ changed the bounds for
InteractionInformationAtPosition. The image-related changes are good, but the
link-related changes feel wrong on many sites. We should revert the change for now
and just use the absoluteBoundingBoxRect() for non-images.
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getPositionInformation):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186522
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Wed, 8 Jul 2015 19:27:46 +0000 (19:27 +0000)]
REGRESSION (r185629): Web Inspector: Filtering doesn't display any items if folders are used to organize the web page resources
https://bugs.webkit.org/show_bug.cgi?id=146675
Reviewed by Joseph Pecoraro.
* UserInterface/Views/TreeOutline.js:
(WebInspector.TreeElement.prototype.revealed): Added ignoreHidden parameter.
(WebInspector.TreeElement.prototype.traverseNextTreeElement.shouldSkip): Pass true to ignore hidden elements.
(WebInspector.TreeElement.prototype.traverseNextTreeElement): Populate up front like the old traverseNextTreeElement.
This is needed to traverse into lazy populated tree elements. Don't call shouldSkip in the loop.
(WebInspector.TreeElement.prototype.traversePreviousTreeElement.shouldSkip): Pass true to ignore hidden elements.
(WebInspector.TreeElement.prototype.traversePreviousTreeElement): Add some newlines.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186520
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Wed, 8 Jul 2015 18:54:34 +0000 (18:54 +0000)]
[Mac] Two clicks required to enable AirPlay at youtube.com
https://bugs.webkit.org/show_bug.cgi?id=146733
<rdar://problem/
21556356>
Reviewed by Brent Fulgham.
* Modules/mediasession/WebMediaSessionManager.cpp:
(WebCore::WebMediaSessionManager::clientStateDidChange): Only log when state has changed.
Don't steal the route if another client is actively playing to the device.
(WebCore::WebMediaSessionManager::setPlaybackTarget): Set m_targetChanged.
(WebCore::WebMediaSessionManager::configurePlaybackTargetClients): Don't consider the
requestedPicker flag until after a target change.
* Modules/mediasession/WebMediaSessionManager.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::webkitShowPlaybackTargetPicker): Add logging.
(WebCore::HTMLMediaElement::setShouldPlayToPlaybackTarget): Ditto.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldPlayToPlaybackTarget): Always log.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186519
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Wed, 8 Jul 2015 18:52:31 +0000 (18:52 +0000)]
http/tests/xmlviewer/dumpAsText/svg.xml contains a typo that breaks the test with libxml2 v2.9.2
* http/tests/xmlviewer/dumpAsText/svg.xml: Add missing space to
<svg:svg> tag make this test work with libxml2 v2.9.2.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186518
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Wed, 8 Jul 2015 18:36:18 +0000 (18:36 +0000)]
Web Inspector: Pressing delete in the styles sidebar with no text causes text to become misaligned
https://bugs.webkit.org/show_bug.cgi?id=146715
Reviewed by Timothy Hatcher.
* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange):
Now returns if the change was in the first character of the first line.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186517
268f45cc-cd09-0410-ab3c-
d52691b4dbfc