WebKit-https.git
4 years ago[WinCairo] ClearType should be enabled on Cairo port
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

4 years agoAX: <details> element should allow expand/close through AX API
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

4 years ago[Content Extensions] Prevent crashes with plugins.
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

4 years ago[Win] Skip canvas/philip/tests/2d.text.draw.fontface.notinpage.html
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

4 years agoAX: VoiceOver cannot get to any content in Yahoo Mail messages table
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

4 years ago[Win] Honor CACFLayer content scale factor
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

4 years agoMedia Session: report to chrome client 'hasActiveMediaElements' changes
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

4 years agoREGRESSION (r182866): repeated prompts for password on internal Apple website using...
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

4 years agoWeb Inspector: Rendering Frame segment colors should match those used in original...
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

4 years agoWeb Inspector: New JavaScript/Probe breakpoint action disappears when clicking contin...
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

4 years agoWeb Inspector: new breakpoint action dialog should reuse same action type
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

4 years agoAX: VoiceOver cannot get to any content in Yahoo Mail messages table
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

4 years ago[Cocoa] Report the first paint after committing a load as a rendering progress event
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

4 years agoWeb Inspector: Copy Rule in the context menu copies hidden properties in the rule
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

4 years agoFix grammar issue in TypeError attempting to change an unconfigurable property
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

4 years ago[EFL] When closing inspector window, EwkView is not released properly.
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

4 years ago[EFL] vibration/navigator-vibration.html failed after r186265
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

4 years ago[GTK] The "Missing Plug-in" buttons are not showing up on some flash contents.
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

4 years agoWeb Inspector: Add page weight and time back to the toolbar dashboard
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

4 years agoCrash calling [WebView close] in didFinishLoadForFrame callback.
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

4 years agoAttempt to fix the Apple Windows build after <https://trac.webkit.org/changeset/186566>
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

4 years agoWeb Inspector: Style sidebar is showing incorrect strikethroughs
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

4 years agoCleanup: Make ContentSecurityPolicy::ReportingStatus an enum class
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

4 years agoActivate DOMURLMediaStream
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

4 years agoMake sure MediaStream uses blob protocol
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

4 years agoFix ASSERTION FAILED: !m_pendingNavigationID in WebPage::reload().
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

4 years agoVideos on apple.com don't show up when restored from page cache.
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

4 years agoUse Ref/RefPtr instead of PassRefPtr in WebKit2 - 2
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

4 years agoMake MediaStream conform to its private client like MediaSource does
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

4 years agoMade AVMediaCaptureSource's session accessor public
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

4 years agoMake sure MediaStream engine loaded for interpreting MediaStreams
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

4 years agoWeb Inspector: Color swatches show up in color names in comments
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

4 years agoWeb Inspector: Only record a timeline when the Timelines tab is showing
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

4 years ago[Content Extensions] Fuse undistinguishable actions as much as possible
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

4 years agoWKSecurityOrigin.h has wrong availability info
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

4 years ago[iOS] Scrolling is laggy when the keyboard is up and a form element is focused.
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

4 years agoFix asynchronous function calls for scroll snap animation tests
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

4 years agoCleared contentMIMETypes for MediaStreams
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

4 years agoAudio elements with controls force their enclosing stacking context to composite
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

4 years agoNow that PingLoaders work in the NetworkProcess, re-enable http/tests/navigation...
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

4 years agoCrash when appending an SVG <use> element dynamically which has animated SVG <path...
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

4 years agoWeb Inspector: Details sidebar doesn't activate on first selected resource in Network tab
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

4 years agoMedia Session: indicate to clients whether a media session has active media elements
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

4 years agoWeb Inspector: Confusingly crossed out properties in .sidebar > .panel.navigation...
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

4 years agoWeb Inspector: Can't select last row in the timeline because it's covered by filter...
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

4 years agoMedia Session: propagate artwork URL with metadata to UI clients
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

4 years agoDon't allow page scroll when previewing a link or image.
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

4 years agoSnapshots can be misplaced when custom swipe views are offset from the window origin
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

4 years ago[iOS][WK2] Ignore synthetic clicks in subframes initiated on a previous page
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

4 years agoMove PingLoaders to the NetworkingProcess.
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

4 years agoAdd new sources to StyleAllInOne.cpp
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

4 years agoOnly support image previews for clients that implement commitPreviewedImageWithURL
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

4 years agoAdd new sources to DOMAllInOne.cpp
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

4 years agoAdd new sources to AccessibilityAllInOne.cpp
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

4 years agoWeb Inspector: Clicking style checkbox selects the property name while mouse down
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

4 years agoMake ApplicationStateTracker be per view instead of being a singleton
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

4 years agoInteractionInformationAtPosition bounds seem wrong on many sites, affects
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

4 years agoREGRESSION (r185629): Web Inspector: Filtering doesn't display any items if folders...
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

4 years ago[Mac] Two clicks required to enable AirPlay at youtube.com
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

4 years agohttp/tests/xmlviewer/dumpAsText/svg.xml contains a typo that breaks the test with...
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

4 years agoWeb Inspector: Pressing delete in the styles sidebar with no text causes text to...
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

4 years agoAdd actions to image previews
bdakin@apple.com [Wed, 8 Jul 2015 17:58:35 +0000 (17:58 +0000)]
Add actions to image previews
https://bugs.webkit.org/show_bug.cgi?id=146702
-and corresponding-
<rdar://problem/21642654>

Reviewed by Sam Weinig.

Add an array of actions and _WKActivatedElementInfo in order to properly invoke
the actions.
* UIProcess/WKImagePreviewViewController.h:
* UIProcess/WKImagePreviewViewController.mm:
(-[WKImagePreviewViewController loadView]):
(-[WKImagePreviewViewController initWithCGImage:defaultActions:elementInfo:]):
(_scaleSizeWithinSize):
(-[WKImagePreviewViewController initWithCGImage:]): Deleted.

Re-factor defaultActionsForImageSheet into a stand-alone function so that it can
be invoked for previews as well as for the action sheet.
* UIProcess/ios/WKActionSheetAssistant.h:
* UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant showImageSheet]):
(-[WKActionSheetAssistant defaultActionsForLinkSheet]):
(-[WKActionSheetAssistant defaultActionsForImageSheet]):
(-[WKActionSheetAssistant showLinkSheet]):

WKImagePreviewViewController initializer now takes the default actions and
_WKActivatedElementInfo.
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView previewViewControllerForPosition:inSourceView:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186515 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago<rdar://problem/21669397> [iOS] Keyboard shortcuts that take focus away from the...
mitz@apple.com [Wed, 8 Jul 2015 17:48:52 +0000 (17:48 +0000)]
<rdar://problem/21669397> [iOS] Keyboard shortcuts that take focus away from the web view end up typing a letter into the newly focused field
https://bugs.webkit.org/show_bug.cgi?id=146732

Reviewed by Sam Weinig.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _interpretKeyEvent:isCharEvent:]): Bail out if we are no longer the first
responder.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186514 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[GTK] Unreviewed GTK gardening after r186500.
clopez@igalia.com [Wed, 8 Jul 2015 17:31:22 +0000 (17:31 +0000)]
[GTK] Unreviewed GTK gardening after r186500.

* platform/gtk/TestExpectations: Mark new failures and remove new passes
that were affected by the update of libraries inside the JHBuild.
* platform/gtk/fast/css/input-search-padding-expected.png: Rebaseline test.
* platform/gtk/fast/css/input-search-padding-expected.txt: Rebaseline test.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186513 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAlways begin a background task when needed, not just when we go into the background
andersca@apple.com [Wed, 8 Jul 2015 17:24:01 +0000 (17:24 +0000)]
Always begin a background task when needed, not just when we go into the background
https://bugs.webkit.org/show_bug.cgi?id=146704

Reviewed by Gavin Barraclough.

The system let background code run for the same amount of time regardless of whether the assertion was grabbed
when the app is in the foreground or being backgrounded, so remove the background/foreground tracking code.

* UIProcess/ios/ProcessAssertionIOS.mm:
(-[WKProcessAssertionBackgroundTaskManager _updateBackgroundTask]):
(-[WKProcessAssertionBackgroundTaskManager init]): Deleted.
(-[WKProcessAssertionBackgroundTaskManager _applicationWillEnterForeground]): Deleted.
(-[WKProcessAssertionBackgroundTaskManager _applicationDidEnterBackground]): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186512 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoNetwork Cache: Don't open files in main thread
antti@apple.com [Wed, 8 Jul 2015 17:18:03 +0000 (17:18 +0000)]
Network Cache: Don't open files in main thread
https://bugs.webkit.org/show_bug.cgi?id=146722

Follow-up.

* NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::dispatchReadOperation):

    Accessing m_bodyFilter is technically not thread safe so keep it in main thread.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186511 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoNetwork Cache: Don't open files in main thread
antti@apple.com [Wed, 8 Jul 2015 17:02:54 +0000 (17:02 +0000)]
Network Cache: Don't open files in main thread
https://bugs.webkit.org/show_bug.cgi?id=146722

Reviewed by Chris Dumez.

While we use open() with O_NONBLOCK profiling indicates that we still may block up to 5ms under the syscall in some case.

* NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::dispatchReadOperation):

    Dispatch read operation to a concurrent queue.
    With this we can also eliminate the separate dispatch() for body blob read.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186510 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoDo not waste window server memory for placeholder windows initiated by ThemeMac.
zalan@apple.com [Wed, 8 Jul 2015 16:48:28 +0000 (16:48 +0000)]
Do not waste window server memory for placeholder windows initiated by ThemeMac.
https://bugs.webkit.org/show_bug.cgi?id=146730
rdar://problem/20321222

Using defer:YES prevents us from wasting any window server resources for WebCoreThemeWindow(s).

Patch by Darin Adler.
Reviewed by Zalan Bujtas.

Not testable.

* platform/mac/ThemeMac.mm:
(-[WebCoreThemeView window]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186509 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agohttp/tests/security/XFrameOptions/x-frame-options-{cached,deny-delete-frame-in-load...
ddkilzer@apple.com [Wed, 8 Jul 2015 15:55:49 +0000 (15:55 +0000)]
http/tests/security/XFrameOptions/x-frame-options-{cached,deny-delete-frame-in-load-event}.html crash on Windows Debug bots

<http://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=http%2Ftests%2Fsecurity%2FXFrameOptions%2Fx-frame-options-cached.html>
<http://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=http%2Ftests%2Fsecurity%2FXFrameOptions%2Fx-frame-options-deny-delete-frame-in-load-event.html>

* platform/win/TestExpectations: Mark tests as crashing:
- http/tests/security/XFrameOptions/x-frame-options-cached.html
- http/tests/security/XFrameOptions/x-frame-options-deny-delete-frame-in-load-event.html

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186501 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[GTK] [Wayland] Allow building and testing the Wayland target with the default JHBuil...
clopez@igalia.com [Wed, 8 Jul 2015 14:00:31 +0000 (14:00 +0000)]
[GTK] [Wayland] Allow building and testing the Wayland target with the default JHBuild moduleset.
https://bugs.webkit.org/show_bug.cgi?id=146056

Reviewed by Martin Robinson.

* gtk/install-dependencies: libepoxy is now required for building GTK+.
* gtk/jhbuild-wayland.modules: Removed. Not longer needed.
* gtk/jhbuild.modules: Upgrade GTK+ (3.16.4) and required dependencies for building:
Cairo (1.14.2), Gdk-Pixbuf (2.30.8) and GLib (2.44.1).
* gtk/patches/cairo-1.12.8-add_disable-lto.patch: Removed. Not longer needed.
Cairo removed support for LTO on (1.14). Upstream commit: c7ff9bb.
* gtk/patches/gtk-3.6-do-not-shutdown-accessibility.patch: Removed. Not longer needed.
GTK+ merged this patch on GTK+-3.10. Upstream commit: 8d83d98.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186500 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[GTK] Unreviewed GTK gardening.
clopez@igalia.com [Wed, 8 Jul 2015 13:43:25 +0000 (13:43 +0000)]
[GTK] Unreviewed GTK gardening.

* platform/gtk/TestExpectations: Report and mark new failing tests.
* platform/gtk/editing/pasteboard/onpaste-text-html-expected.txt: Rebaseline after r186191.
* platform/gtk/fast/forms/auto-fill-button/input-auto-fill-button-expected.txt: Added. Rebaseline after r185166.
* platform/gtk/fast/images/gif-loop-count-expected.png: Removed. Remove unneded expected image result after 185310.
* platform/gtk/inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Rebaseline after r185533.
* platform/gtk/media/media-controls-clone-expected.png: Rebaseline after r184932.
* platform/gtk/media/media-controls-clone-expected.txt: Rebaseline after r184932.
* platform/gtk/media/video-controls-rendering-expected.png: Rebaseline after r184932.
* platform/gtk/media/video-controls-rendering-expected.txt: Rebaseline after r184932.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186499 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[GTK] Deactivate GObject bindings for static methods
calvaris@igalia.com [Wed, 8 Jul 2015 10:34:41 +0000 (10:34 +0000)]
[GTK] Deactivate GObject bindings for static methods
https://bugs.webkit.org/show_bug.cgi?id=146717

Reviewed by Carlos Garcia Campos.

Static methods are currently not supported by GObject bindings so we deactivate them from the generation.

Current tests suffice. Expectations updated.

* bindings/scripts/CodeGeneratorGObject.pm:
(SkipFunction): Skip isStatic functions.
* bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
* bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
(webkit_dom_test_interface_implements_method4): Deleted.
(webkit_dom_test_interface_supplemental_method4): Deleted.
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_class_method): Deleted.
(webkit_dom_test_obj_class_method_with_optional): Deleted.
(webkit_dom_test_obj_overloaded_method1): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186496 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[Unix] Remove unused local variable from Connection::sendOutgoingMessage().
commit-queue@webkit.org [Wed, 8 Jul 2015 10:28:23 +0000 (10:28 +0000)]
[Unix] Remove unused local variable from Connection::sendOutgoingMessage().
https://bugs.webkit.org/show_bug.cgi?id=146713

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-07-08
Reviewed by Csaba Osztrogonác.

* Platform/IPC/unix/ConnectionUnix.cpp:
(IPC::Connection::sendOutgoingMessage):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186495 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: Use "hairline" borders on retina screen
nvasilyev@apple.com [Wed, 8 Jul 2015 06:27:07 +0000 (06:27 +0000)]
Web Inspector: Use "hairline" borders on retina screen
https://bugs.webkit.org/show_bug.cgi?id=146619

Reviewed by Timothy Hatcher.

* UserInterface/Views/CSSStyleDeclarationSection.css:
(.style-declaration-section):
(.style-declaration-section.locked):
(.style-declaration-section:not(.locked)):
(.style-declaration-section.last-in-group):
(.style-declaration-section + .style-declaration-section):
(.style-declaration-section.last-in-group + .style-declaration-section):
(@media (-webkit-min-device-pixel-ratio: 2)):
* UserInterface/Views/DetailsSection.css:
(.details-section .details-section):
(.details-section > .content > .group:nth-child(even)):
(@media (-webkit-min-device-pixel-ratio: 2)):
* UserInterface/Views/DividerNavigationItem.css:
(@media (-webkit-min-device-pixel-ratio: 2)):
* UserInterface/Views/RulesStyleDetailsPanel.css:
(.sidebar > .panel.details.css-style .rules .label + .style-declaration-section):
(.sidebar > .panel.details.css-style > .content.filter-in-progress .label.filter-matching-label):
(.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .style-declaration-section):
(.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .label):
(@media (-webkit-min-device-pixel-ratio: 2)):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186492 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoRemove the overflow checks from the important vectors used by the content extensions...
benjamin@webkit.org [Wed, 8 Jul 2015 05:44:42 +0000 (05:44 +0000)]
Remove the overflow checks from the important vectors used by the content extensions machines
https://bugs.webkit.org/show_bug.cgi?id=146703

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-07-07
Reviewed by Andreas Kling.

Most of the overflow checks cannot be eliminated by clang. Removing them
explicitly removes 400 ms from the compile time of a very large test list.

* contentextensions/ContentExtensionsDebugging.h:
* contentextensions/DFA.h:
* contentextensions/DFACombiner.cpp:
* contentextensions/DFAMinimizer.cpp:
* contentextensions/ImmutableNFA.h:
* contentextensions/MutableRangeList.h:
* contentextensions/NFAToDFA.cpp:
(WebCore::ContentExtensions::epsilonClosureExcludingSelf):
(WebCore::ContentExtensions::resolveEpsilonClosures):
(WebCore::ContentExtensions::extendSetWithClosure):
(WebCore::ContentExtensions::DataConverterWithEpsilonClosure::convert):
(WebCore::ContentExtensions::DataConverterWithEpsilonClosure::extend):
(WebCore::ContentExtensions::createCombinedTransition):
(WebCore::ContentExtensions::getOrCreateDFANode):
(WebCore::ContentExtensions::NFAToDFA::convert):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186491 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: Pressing tab on a comment in the styles sidebar doesn't highlight...
drousso@apple.com [Wed, 8 Jul 2015 05:27:17 +0000 (05:27 +0000)]
Web Inspector: Pressing tab on a comment in the styles sidebar doesn't highlight the comment
https://bugs.webkit.org/show_bug.cgi?id=146709

Reviewed by Timothy Hatcher.

* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype.selectFirstProperty):
(WebInspector.CSSStyleDeclarationTextEditor.prototype.selectLastProperty):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._textAtCursorIsComment):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._highlightNextNameOrValue):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseUp):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleEnterKey):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._insertNewlineAfterCurrentLine):
Determines if the text at the given cursor position in the given line is a comment.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186490 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: spacebar should pause/resume timeline recording when timelines are...
drousso@apple.com [Wed, 8 Jul 2015 05:24:35 +0000 (05:24 +0000)]
Web Inspector: spacebar should pause/resume timeline recording when timelines are open
https://bugs.webkit.org/show_bug.cgi?id=143267

Reviewed by Timothy Hatcher.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Views/TimelineTabContentView.js:
(WebInspector.TimelineSidebarPanel): Added two new keyboard shortcuts: space and shift-space.
(WebInspector.TimelineSidebarPanel.prototype.shown): Enables the keyboard shortcuts.
(WebInspector.TimelineSidebarPanel.prototype.hidden): Disables the keyboard shortcuts.
(WebInspector.TimelineSidebarPanel.prototype._toggleRecordingOnSpacebar):
(WebInspector.TimelineSidebarPanel.prototype._toggleNewRecordingOnSpacebar):
(WebInspector.TimelineSidebarPanel.prototype._toggleRecording): Starts/stops recording.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186489 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: Improve names for unprefixed animation events
commit-queue@webkit.org [Wed, 8 Jul 2015 05:23:46 +0000 (05:23 +0000)]
Web Inspector: Improve names for unprefixed animation events
https://bugs.webkit.org/show_bug.cgi?id=146708

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-07-07
Reviewed by Timothy Hatcher.

* UserInterface/Models/ScriptTimelineRecord.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186488 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[iOS] MediaControls: Start Play and Can't Play buttons need to be cutout and blurred
dino@apple.com [Wed, 8 Jul 2015 02:19:45 +0000 (02:19 +0000)]
[iOS] MediaControls: Start Play and Can't Play buttons need to be cutout and blurred
https://bugs.webkit.org/show_bug.cgi?id=146226

Reviewed by Simon Fraser.

This patch takes what Said Abou-Hallawa posted in an earlier revision and
makes a few tweaks to workaround the bugs he's listed.

Replicate the iOS System blur backdrop in pure CSS, so that the large
start button looks more correct. Also add artwork for a failure state.

* Modules/mediacontrols/mediaControlsiOS.css: New style rules for the start
button, which now is a collection of elements rather than a <button>.
(video::-webkit-media-controls-start-playback-button):
(video::-webkit-media-controls-start-playback-background):
(video::-webkit-media-controls-start-playback-tint):

* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.createBase): Replace the <button> with the hierarchy of
elements to replicate the blur. Give some of them a class attribute, so they
can match selectors (see the bugs Said filed in the original bugzilla).
(ControllerIOS.prototype.handleStartPlaybackButtonTouchStart): Toggle classes on
the hierarchy as needed.
(ControllerIOS.prototype.handleStartPlaybackButtonTouchEnd): Ditto.
(ControllerIOS.prototype.updateStatusDisplay): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186487 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoCrash when parent iframe is set to display none and the child frame is mutated the...
zalan@apple.com [Wed, 8 Jul 2015 01:53:42 +0000 (01:53 +0000)]
Crash when parent iframe is set to display none and the child frame is mutated the same time.
https://bugs.webkit.org/show_bug.cgi?id=146699
rdar://problem/16207881

Reviewed by Andreas Kling.

When the parent iframe is set to display: none, we destroy the associated renderer (RenderIFrame).
However if the child frame is mutated the same time, during layout we try to access this RenderIFrame
to check whether it needs frame flattening.
This patch checks whether the parent render widget is still valid.

Source/WebCore:

Test: fast/frames/crash-display-none-iframe-during-onbeforeload.html

* page/FrameView.cpp:
(WebCore::FrameView::isInChildFrameWithFrameFlattening): rearrange early returns.

LayoutTests:

* fast/frames/crash-display-none-iframe-during-onbeforeload-expected.txt: Added.
* fast/frames/crash-display-none-iframe-during-onbeforeload.html: Added.
* fast/frames/resources/displaynone-this-during-object-beforeload.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186486 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoOccasional null deref in the CA callback in flushLayers()
timothy_horton@apple.com [Tue, 7 Jul 2015 23:54:11 +0000 (23:54 +0000)]
Occasional null deref in the CA callback in flushLayers()
https://bugs.webkit.org/show_bug.cgi?id=146700
<rdar://problem/21668754>

Reviewed by Simon Fraser.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::flushLayers):
Make sure we keep the WebPage alive, and null-check the potentially null
WebCore objects (Page and Frame).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186485 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoMedia Session: propagate metadata changes to UI clients
mrajca@apple.com [Tue, 7 Jul 2015 23:52:29 +0000 (23:52 +0000)]
Media Session: propagate metadata changes to UI clients
https://bugs.webkit.org/show_bug.cgi?id=146660

Reviewed by Tim Horton.

* CMakeLists.txt: Added WebMediaSessionMetadata and WKMediaSessionMetadata.
* Shared/API/APIObject.h: Added a media session metadata type.
* Shared/API/c/WKBase.h:
* Shared/WebMediaSessionMetadata.cpp: Added API adapter for WebCore::MediaSessionMetadata.
(WebKit::WebMediaSessionMetadata::create):
(WebKit::WebMediaSessionMetadata::WebMediaSessionMetadata):
(WebKit::WebMediaSessionMetadata::~WebMediaSessionMetadata):
* Shared/WebMediaSessionMetadata.h: Added API adapter for WebCore::MediaSessionMetadata.
(WebKit::WebMediaSessionMetadata::title):
(WebKit::WebMediaSessionMetadata::artist):
(WebKit::WebMediaSessionMetadata::album):
* UIProcess/API/APIUIClient.h: Added 'mediaSessionMetadataDidChange' interface.
(API::UIClient::mediaSessionMetadataDidChange):
* UIProcess/API/C/WKAPICast.h:
* UIProcess/API/C/WKMediaSessionMetadata.cpp: Added C wrapper for WebMediaSessionMetadata.
(WKMediaSessionMetadataGetTypeID):
(WKMediaSessionMetadataCopyTitle):
(WKMediaSessionMetadataCopyArtist):
(WKMediaSessionMetadataCopyAlbum):
* UIProcess/API/C/WKMediaSessionMetadata.h: Added C wrapper for WebMediaSessionMetadata.
* UIProcess/API/C/WKPage.cpp: Forward 'mediaSessionMetadataDidChange' to client.
(WKPageSetPageUIClient):
* UIProcess/API/C/WKPageUIClient.h: Added 'mediaSessionMetadataDidChange' callback.
* UIProcess/WebPageProxy.cpp: Forward 'mediaSessionMetadataDidChange' to UI client.
(WebKit::WebPageProxy::mediaSessionMetadataDidChange):
* WebKit2.xcodeproj/project.pbxproj: Added WebMediaSessionMetadata and WKMediaSessionMetadata.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186484 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[Win] Unreviewed test skip after r186476.
bfulgham@apple.com [Tue, 7 Jul 2015 23:25:55 +0000 (23:25 +0000)]
[Win] Unreviewed test skip after r186476.

* platform/win/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186483 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoMedia Session: remove seek forward/backward attributes
mrajca@apple.com [Tue, 7 Jul 2015 23:00:41 +0000 (23:00 +0000)]
Media Session: remove seek forward/backward attributes
https://bugs.webkit.org/show_bug.cgi?id=146645

Reviewed by Eric Carlson.

* Modules/mediasession/MediaRemoteControls.h:
* Modules/mediasession/MediaRemoteControls.idl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186482 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: Timeline record bars are not white when the row is selected from the...
timothy@apple.com [Tue, 7 Jul 2015 22:57:01 +0000 (22:57 +0000)]
Web Inspector: Timeline record bars are not white when the row is selected from the sidebar
https://bugs.webkit.org/show_bug.cgi?id=146694

Reviewed by Joseph Pecoraro.

* UserInterface/Views/TimelineRecordBar.css:
(:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment):
(:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment.inactive):
(:matches(:focus, .force-focus) .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186481 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoREGRESSION (r183133-r183138): Secondary clicking in whitespace selects preceding...
bfulgham@apple.com [Tue, 7 Jul 2015 22:32:54 +0000 (22:32 +0000)]
REGRESSION (r183133-r183138): Secondary clicking in whitespace selects preceding word
https://bugs.webkit.org/show_bug.cgi?id=146695
<rdar://problem/21441466>

Reviewed by Tim Horton.

When we would currently use dictionary lookup to decide on our text selection, first check if we
are targeting an editable field. If we are, use the original selection behavior. Otherwise, use
the new "dictionary lookup" selection.

* page/EventHandler.cpp:
(WebCore::EventHandler::selectClosestContextualWordOrLinkFromMouseEvent): Only use dictionary lookup
when our target node is not editable.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186480 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAnother attempt to fix CURL/Soup builds after r186476
beidson@apple.com [Tue, 7 Jul 2015 22:26:10 +0000 (22:26 +0000)]
Another attempt to fix CURL/Soup builds after r186476

Reviewed by NOBODY.

* platform/network/curl/SocketStreamHandle.h:

* platform/network/soup/SocketStreamHandle.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186479 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAttempt to fix CURL/Soup builds after r186476
beidson@apple.com [Tue, 7 Jul 2015 21:37:21 +0000 (21:37 +0000)]
Attempt to fix CURL/Soup builds after r186476

Reviewed by NOBODY.

* platform/network/curl/SocketStreamHandle.h:
(WebCore::SocketStreamHandle::create):

* platform/network/soup/SocketStreamHandle.h:
(WebCore::SocketStreamHandle::create):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186478 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: Unnecessary space added after -webkit- prefixed property values
drousso@apple.com [Tue, 7 Jul 2015 21:21:36 +0000 (21:21 +0000)]
Web Inspector: Unnecessary space added after -webkit- prefixed property values
https://bugs.webkit.org/show_bug.cgi?id=146671

Reviewed by Joseph Pecoraro.

* Tools/PrettyPrinting/css-rule-tests/do-not-add-whitespace-before-prefixed-property-value-expected.css: Added.
* Tools/PrettyPrinting/css-rule-tests/do-not-add-whitespace-before-prefixed-property-value.css: Added.
* Tools/PrettyPrinting/index.html:
* UserInterface/Views/CodeMirrorFormatters.js: Now only adds a space if both the current and previous
tokens are a property, value, or atom.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186477 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoHTTP Auth cached after disabling private browsing/reset.
beidson@apple.com [Tue, 7 Jul 2015 21:13:31 +0000 (21:13 +0000)]
HTTP Auth cached after disabling private browsing/reset.
<rdar://problem/8293055> and https://bugs.webkit.org/show_bug.cgi?id=146654

Reviewed by Tim Horton.

Source/WebCore:

Test: http/tests/security/private-browsing-http-auth.html

- Change most static CredentialStorage methods to be instance methods instead.
- Make a CredentialStorage objects be per-NetworkStorageSession.

* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::WebSocketChannel):
(WebCore::WebSocketChannel::connect): Only start the web socket load if a networking
  context is available.

* platform/network/CredentialStorage.cpp:
(WebCore::CredentialStorage::defaultCredentialStorage): Returns the credential storage
  from the default NetworkStorageSession.
(WebCore::CredentialStorage::set):
(WebCore::CredentialStorage::get):
(WebCore::CredentialStorage::remove):
(WebCore::CredentialStorage::findDefaultProtectionSpaceForURL):
(WebCore::CredentialStorage::clearCredentials):
(WebCore::protectionSpaceToCredentialMap): Deleted.
(WebCore::originsWithCredentials): Deleted.
(WebCore::pathToDefaultProtectionSpaceMap): Deleted.
(WebCore::findDefaultProtectionSpaceForURL): Deleted.
(WebCore::CredentialStorage::setPrivateMode): Deleted. Was a no-op anyways.
* platform/network/CredentialStorage.h:

* platform/network/NetworkStorageSession.h:
(WebCore::NetworkStorageSession::credentialStorage):

* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::createCFURLConnection):
(WebCore::ResourceHandle::willSendRequest):
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
(WebCore::ResourceHandle::receivedCredential):

* platform/network/cf/SocketStreamHandle.h:
(WebCore::SocketStreamHandle::create):
* platform/network/cf/SocketStreamHandleCFNet.cpp:
(WebCore::SocketStreamHandle::SocketStreamHandle):
(WebCore::SocketStreamHandle::getStoredCONNECTProxyCredentials):
(WebCore::getStoredCONNECTProxyCredentials): Deleted.

* platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
(WebCore::ResourceHandle::receivedCredential):
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::applyAuthenticationToRequest):

* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::createNSURLConnection):
(WebCore::ResourceHandle::willSendRequest):
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
(WebCore::ResourceHandle::receivedCredential):

* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::applyAuthenticationToRequest):
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
(WebCore::ResourceHandle::receivedCredential):

Source/WebKit/mac:

* Misc/WebCache.h:
* Misc/WebCache.mm:
(+[WebCache clearCachedCredentials]): Clear the global CredentialStorage as well as the
  storages belonging to each main frame of each WebView. This method is for DRT.

* Misc/WebDownload.mm:
(-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]):

* Plugins/WebBaseNetscapePluginView.mm:
(WebKit::getAuthenticationInfo):

* WebView/WebView.mm:
(-[WebView _clearCredentials]): Clear the storage belonging to the current networking session
  of the main frame of this WebView.
* WebView/WebViewInternal.h:

Source/WebKit/win:

* WebDownloadCFNet.cpp:
(WebDownload::didReceiveAuthenticationChallenge):

Source/WebKit2:

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::getAuthenticationInfo):

Tools:

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentStateBeforeTesting): Clear in-memory credentials in between test runs.

LayoutTests:

* http/tests/security/private-browsing-http-auth-expected.txt: Added.
* http/tests/security/private-browsing-http-auth.html: Added.
* http/tests/security/resources/auth-echo.php: Added.
* http/tests/security/resources/basic-auth.php: Added.
* platform/wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186476 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoREGRESSION(169105): CSS Regions: renderer returns wrong selection root when it is...
zalan@apple.com [Tue, 7 Jul 2015 20:09:22 +0000 (20:09 +0000)]
REGRESSION(169105): CSS Regions: renderer returns wrong selection root when it is inside a column flow.
https://bugs.webkit.org/show_bug.cgi?id=146529
rdar://problem/21613670

Reviewed by Mihnea Ovidenie and David Kilzer.

This patch ensures that RenderObject::selectionRoot() handles column flows properly while searching for the associated
selection root.
When the renderer is inside a column flow and the column flow is part of a named flow, we stop
traversing the ancestor chain, searching for the selection root, when we reach the column flow.
Since the column flow is not a selection root, we mistakenly fall back to the RenderView as selection root.
Instead, we should check if the column is inside a named flow and return the selection root accordingly.
Returning the wrong selection root confuses RenderView::splitSelectionBetweenSubtrees() logic and this particular
RenderObject could end up in multiple selection trees.

Source/WebCore:

Test: fast/regions/selection/crash-when-element-is-inside-column-and-the-containing-block-is-inside-flow.html

* rendering/RenderObject.cpp:
(WebCore::RenderObject::selectionRoot):

LayoutTests:

* fast/regions/selection/crash-when-element-is-inside-column-and-the-containing-block-is-inside-flow-expected.txt: Added.
* fast/regions/selection/crash-when-element-is-inside-column-and-the-containing-block-is-inside-flow.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186474 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[Mac] REGRESSION (r184794): Play/Pause control doesn't update state in full screen
bfulgham@apple.com [Tue, 7 Jul 2015 20:03:50 +0000 (20:03 +0000)]
[Mac] REGRESSION (r184794): Play/Pause control doesn't update state in full screen
https://bugs.webkit.org/show_bug.cgi?id=146689
<rdar://problem/21393490>

Reviewed by Dean Jackson.

The changes in r184794 did not take full screen mode into account. This needed to be corrected.

* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.handlePanelTransitionEnd):
(Controller.prototype.setPlaying):
(Controller.prototype.showControls):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186472 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: Pad ruler selection area by 1px in the Rendering Frames timeline overview
mattbaker@apple.com [Tue, 7 Jul 2015 19:58:03 +0000 (19:58 +0000)]
Web Inspector: Pad ruler selection area by 1px in the Rendering Frames timeline overview
https://bugs.webkit.org/show_bug.cgi?id=146248

Reviewed by Timothy Hatcher.

* UserInterface/Views/RenderingFrameTimelineOverview.js:
Enable duration pixel alignment.

* UserInterface/Views/TimelineOverview.css:
(.timeline-overview.frames > .timeline-ruler > .header > .divider):
(.timeline-overview.frames > .timeline-ruler > .selection-handle.right):
(.timeline-overview.frames > .timeline-ruler > .shaded-area.right):
Shift ruler elements 1 pixel to the right, so that selection boundaries and dividers are
positioned inside the gap between frame elements.

* UserInterface/Views/TimelineOverview.js:
(WebInspector.TimelineOverview):
(WebInspector.TimelineOverview.prototype.set secondsPerPixel):
(WebInspector.TimelineOverview.prototype.get pixelAlignDuration):
(WebInspector.TimelineOverview.prototype.set pixelAlignDuration):
(WebInspector.TimelineOverview.prototype._handleWheelEvent):
Added a property to force the overview graph to align duration units on the y-axis to pixel boundaries.
When enabled, frame elements are displayed in integer widths while zooming, preventing subpixel blurring
and maintaining a consistent 1 pixel gap between frames.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186471 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoMake sure to remove the download message receiver before freeing it
andersca@apple.com [Tue, 7 Jul 2015 19:24:06 +0000 (19:24 +0000)]
Make sure to remove the download message receiver before freeing it
https://bugs.webkit.org/show_bug.cgi?id=146687

Reviewed by Simon Fraser.

* UIProcess/Downloads/DownloadProxyMap.cpp:
(WebKit::DownloadProxyMap::downloadFinished):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186470 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoSnap point regions containing X and Y snap points should do a better job animating
commit-queue@webkit.org [Tue, 7 Jul 2015 19:12:22 +0000 (19:12 +0000)]
Snap point regions containing X and Y snap points should do a better job animating
https://bugs.webkit.org/show_bug.cgi?id=142523
<rdar://problem/20100753>

Patch by Wenson Hsieh <whsieh@berkeley.edu> on 2015-07-07
Reviewed by Brent Fulgham.

Source/WebCore:

Reimplemented snap point animations to use a single timer for both horizontal and
vertical axes to better support 2D snap scrolling. Instead of making velocity
dependent on progress to the snap point and handling 2D snapping with different
timer update functions, this implementation uses a fixed animation time to coordinate
the snapping animation across both axes.

Test: platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-2d-overflow.html

* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h: Refactored to use a single scroll snap timer.
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm: See above.
(WebCore::ScrollingTreeFrameScrollingNodeMac::startScrollSnapTimer): See above.
(WebCore::ScrollingTreeFrameScrollingNodeMac::stopScrollSnapTimer): See above.
* platform/cocoa/ScrollController.h: Refactored to use a single scroll snap timer and update function to handle
    snapping in both axes. This entails removing the ScrollEventAxis parameter from various functions below. Also
    removed methods that computed "snap" and "glide" offsets.
(WebCore::ScrollControllerClient::startScrollSnapTimer): See above.
(WebCore::ScrollControllerClient::stopScrollSnapTimer): See above.
* platform/cocoa/ScrollController.mm: See above.
(WebCore::ScrollController::ScrollController): Added new constants used to compute animation offsets.
(WebCore::ScrollController::snapRubberBandTimerFired):  Added a check to prevent the rubber band timer from firing
    alongside the scroll snap timer. This results in scroll snapping taking precedence over rubber banding when
    scrolling against the edge of a container in the case of 2D scrolling. We didn't run into this issue before
    because snapping wasn't working properly at the edges of a 2D scrolling container. In the future, we may want
    to unify both snap scrolling and rubber banding timers to solve this issue.
(WebCore::ScrollController::isScrollSnapInProgress): Refactored to use a single scroll snap timer.
(WebCore::ScrollController::processWheelEventForScrollSnapOnAxis): Fixed an issue where wheel deltas were being pushed
    to the snap state incorrectly.
(WebCore::ScrollController::processWheelEventForScrollSnap): Fixed an issue with 2D snapping where scrolling in 2 axes
    simultaneously would cause the vertical axis to override the horizontal axis. This is more like a sub-issue of fixing
    2D scrolling, and is required for 2D snap animations to work properly.
(WebCore::ScrollController::startScrollSnapTimer): Refactored to use a single scroll snap timer.
(WebCore::ScrollController::stopScrollSnapTimer): See above.
(WebCore::ScrollController::scrollSnapTimerFired): This new method handles snap scroll updates on both axes.
(WebCore::ScrollController::beginScrollSnapAnimation): Refactored to account for single scroll snap timer.
(WebCore::ScrollController::endScrollSnapAnimation): See above.
(WebCore::ScrollController::initializeScrollSnapAnimationParameters): New method that initializes parameters used to
    coordinate the animation state across horizontal and vertical axes.
(WebCore::ScrollController::isSnappingOnAxis):  Checks whether or not a given axis is currently scroll snapping. This will
    return true in the case of active 2D scroll snapping.
(WebCore::ScrollController::hasActiveScrollSnapTimerForAxis): Deleted.
(WebCore::ScrollController::horizontalScrollSnapTimerFired): Deleted.
(WebCore::ScrollController::verticalScrollSnapTimerFired): Deleted.
(WebCore::ScrollController::scrollSnapAnimationUpdate): Deleted.
(WebCore::ScrollController::initializeGlideParameters): Deleted.
(WebCore::snapProgress): Deleted.
(WebCore::clampedSnapMagnitude): Deleted.
(WebCore::ScrollController::computeSnapDelta): Deleted.
(WebCore::snapGlide): Deleted.
(WebCore::ScrollController::computeGlideDelta): Deleted.
* platform/cocoa/ScrollSnapAnimatorState.h:  Added a new datastructure, ScrollSnapAnimationCurveState, which tracks
    the scroll snap animation state across both axes.
* platform/cocoa/ScrollSnapAnimatorState.mm: Removed fields relevant to the former "gliding" model and renamed the
    initial wheel delta variable to reflect this.
(WebCore::ScrollSnapAnimatorState::averageInitialWheelDelta): Fixed an issue where wheel deltas were being pushed
    to the snap state incorrectly.
(WebCore::ScrollSnapAnimatorState::clearInitialWheelDeltaWindow): Tiny for loop incrementor style fix.
(WebCore::ScrollSnapAnimatorState::isSnapping): Checks whether this state is in either snapping or gliding mode.
(WebCore::ScrollSnapAnimatorState::canReachTargetWithCurrentInitialScrollDelta): Checks whether the scroll velocity is
    consistent with the initial and target offsets.
(WebCore::ScrollSnapAnimatorState::interpolatedOffsetAtProgress): Interpolates the offset for a given progress value.
(WebCore::ScrollSnapAnimationCurveState::ScrollSnapAnimationCurveState): New constants.
(WebCore::ScrollSnapAnimationCurveState::initializeSnapProgressCurve): Abstracts out part of the initialization process.
(WebCore::ScrollSnapAnimationCurveState::initializeInterpolationCoefficientsIfNecessary): Abstracts out part of the
    initialization process.
(WebCore::ScrollSnapAnimationCurveState::interpolatedPositionAtProgress): Abstracts out curve interpolation.
(WebCore::ScrollSnapAnimationCurveState::shouldCompleteSnapAnimationImmediatelyAtTime): Added.
(WebCore::ScrollSnapAnimationCurveState::animationProgressAtTime): Added.

LayoutTests:

Tests that snap points are honored when scrolling in a 2D overflow container.

* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-2d-overflow-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-2d-overflow.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186469 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: Tabbing in the styles sidebar doesn't highlight the next section of...
drousso@apple.com [Tue, 7 Jul 2015 18:28:45 +0000 (18:28 +0000)]
Web Inspector: Tabbing in the styles sidebar doesn't highlight the next section of text
https://bugs.webkit.org/show_bug.cgi?id=146676

Reviewed by Timothy Hatcher.

* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._highlightNextNameOrValue): Modified the logic to only search the
remaining text after the current cursor position.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey): Now only searches for matches before the colon.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186468 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed, Fix non-Mac build after r186464.
cdumez@apple.com [Tue, 7 Jul 2015 17:28:26 +0000 (17:28 +0000)]
Unreviewed, Fix non-Mac build after r186464.

* UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp:
(WebKit::CustomProtocolManagerProxy::~CustomProtocolManagerProxy):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186467 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: Option+Click not jumping to resource
drousso@apple.com [Tue, 7 Jul 2015 17:25:48 +0000 (17:25 +0000)]
Web Inspector: Option+Click not jumping to resource
https://bugs.webkit.org/show_bug.cgi?id=146498

Reviewed by Timothy Hatcher.

* UserInterface/Base/Main.js: Always show the tab which contains the represented object.
(WebInspector._domNodeWasInspected):
(WebInspector._frameWasAdded):
(WebInspector.showConsoleTab):
(WebInspector.showRepresentedObject): Removed forceShowTab parameter.
(WebInspector.showMainFrameDOMTree):
(WebInspector.showContentFlowDOMTree):
(WebInspector.showSourceCodeForFrame):
(WebInspector.showSourceCode):
(WebInspector.showSourceCodeLocation):
(WebInspector.showOriginalUnformattedSourceCodeLocation):
(WebInspector.showOriginalOrFormattedSourceCodeLocation):
(WebInspector.showOriginalOrFormattedSourceCodeTextRange):
(WebInspector.showResourceRequest):
* UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
(WebInspector.CodeMirrorTokenTrackingController.prototype._mouseButtonWasReleasedOverEditor):
* UserInterface/Protocol/InspectorFrontendAPI.js:
(InspectorFrontendAPI.showMainResourceForFrame):
* UserInterface/Views/ComputedStyleDetailsPanel.js:
(WebInspector.ComputedStyleDetailsPanel.prototype._goToContentFlowArrowWasClicked):
(WebInspector.ComputedStyleDetailsPanel):
* UserInterface/Views/ObjectTreeBaseTreeElement.js:
(WebInspector.ObjectTreeBaseTreeElement.prototype._appendMenusItemsForObject):
(WebInspector.ObjectTreeBaseTreeElement):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186466 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed, attempt to fix iOS build.
cdumez@apple.com [Tue, 7 Jul 2015 17:22:28 +0000 (17:22 +0000)]
Unreviewed, attempt to fix iOS build.

* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::setupFullscreen):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186465 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoMake sure to remove message receivers before they are deallocated
andersca@apple.com [Tue, 7 Jul 2015 17:12:41 +0000 (17:12 +0000)]
Make sure to remove message receivers before they are deallocated
https://bugs.webkit.org/show_bug.cgi?id=146666
rdar://problem/21331118

Reviewed by Tim Horton.

Add code so we can assert that there are no message receiver maps pointing to a message receiver
when it's being destroyed. Fix all the assertions by calling removeMessageReceiver in the right places.

* Platform/IPC/MessageReceiver.h:
(IPC::MessageReceiver::~MessageReceiver):
(IPC::MessageReceiver::willBeAddedToMessageReceiverMap):
(IPC::MessageReceiver::willBeRemovedFromMessageReceiverMap):
* Platform/IPC/MessageReceiverMap.cpp:
(IPC::MessageReceiverMap::addMessageReceiver):
(IPC::MessageReceiverMap::removeMessageReceiver):
(IPC::MessageReceiverMap::invalidate):
* Shared/ChildProcess.cpp:
(WebKit::ChildProcess::removeMessageReceiver):
* Shared/ChildProcess.h:
* Shared/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::removeMessageReceiver):
* Shared/ChildProcessProxy.h:
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController dealloc]):
* UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
* UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
(WebKit::CustomProtocolManagerProxy::~CustomProtocolManagerProxy):
* UIProcess/UserContent/WebUserContentControllerProxy.cpp:
(WebKit::WebUserContentControllerProxy::~WebUserContentControllerProxy):
* UIProcess/WebConnectionToWebProcess.cpp:
(WebKit::WebConnectionToWebProcess::invalidate):
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(-[WKWebProcessPlugInBrowserContextController dealloc]):
* WebProcess/WebConnectionToUIProcess.cpp:
(WebKit::WebConnectionToUIProcess::invalidate):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186464 268f45cc-cd09-0410-ab3c-d52691b4dbfc