Timeline



Jul 12, 2015:

11:59 PM Changeset in webkit [186758] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-601.1-branch

Merged r186741. rdar://problem/21051187

11:56 PM Changeset in webkit [186757] by bshafiei@apple.com
  • 22 edits in branches/safari-601.1-branch/Source

Merged r186712. rdar://problem/20483550

11:54 PM Changeset in webkit [186756] by bshafiei@apple.com
  • 11 edits in branches/safari-601.1-branch/Source

Merged r186707. rdar://problem/21779205

11:52 PM Changeset in webkit [186755] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merged r186703. rdar://problem/21555051

11:50 PM Changeset in webkit [186754] by bshafiei@apple.com
  • 2 edits
    2 copies in branches/safari-601.1-branch/Source/JavaScriptCore

Merged r186702. rdar://problem/21736607

11:49 PM Changeset in webkit [186753] by bshafiei@apple.com
  • 45 edits
    4 copies in branches/safari-601.1-branch/Source/JavaScriptCore

Merged r186691. rdar://problem/21771059

11:47 PM Changeset in webkit [186752] by bshafiei@apple.com
  • 6 edits in branches/safari-601.1-branch/Source

Merged r186684. rdar://problem/21501819

11:45 PM Changeset in webkit [186751] by bshafiei@apple.com
  • 4 edits in branches/safari-601.1-branch/Source/WebCore

Merged r186683. rdar://problem/21371589

11:44 PM Changeset in webkit [186750] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merged r186678. rdar://problem/21251875

11:11 PM Changeset in webkit [186749] by ddkilzer@apple.com
  • 8 edits
    8 adds in branches/safari-600.1.4.17-branch

Merge r185769. rdar://problem/21727217

10:24 PM Changeset in webkit [186748] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Add -apple-system-monospaced-numbers to font and font-family autocomplete
https://bugs.webkit.org/show_bug.cgi?id=146865

Reviewed by Daniel Bates.

  • UserInterface/Models/CSSKeywordCompletions.js:
9:28 PM Changeset in webkit [186747] by ddkilzer@apple.com
  • 3 edits
    2 adds in branches/safari-600.1.4.17-branch

Merge r186474. rdar://problem/21716537

9:07 PM Changeset in webkit [186746] by ddkilzer@apple.com
  • 4 edits
    2 adds in branches/safari-600.1.4.17-branch

Merge r185572. rdar://problem/21716531

7:16 PM Changeset in webkit [186745] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Watchpoints should be removed from their owning WatchpointSet before they are fired
https://bugs.webkit.org/show_bug.cgi?id=146895

Reviewed by Sam Weinig.

This simplifies the WatchpointSet API by making it so that when Watchpoint::fire() is
called, the Watchpoint is no longer in the set. This means that you don't have to remember
to remove it from the set's list (currently we do that implicitly as part of whatever
any particular Watchpoint::fireInternal() does), and you can now write adaptive
watchpoints that re-add themselves to a different set if they determine that the thing
they are actually watching is still intact but now needs to be watched in a different way
(like watching for whether some singleton object has a property of some name).

  • bytecode/Watchpoint.cpp:

(JSC::Watchpoint::~Watchpoint): Add a comment about why this is necessary.
(JSC::Watchpoint::fire): Make this out-of-line, private, and make it assert that we're no longer on the list.
(JSC::WatchpointSet::fireAllWatchpoints): Make this remove the watchpoint from the list before firing it.

  • bytecode/Watchpoint.h:

(JSC::Watchpoint::fire): Deleted. I moved this to Watchpoint.cpp.

6:39 PM Changeset in webkit [186744] by ddkilzer@apple.com
  • 10 edits
    2 adds in branches/safari-600.1.4.17-branch

Merge r184434, and a small part of r173173. rdar://problem/21716506

6:39 PM Changeset in webkit [186743] by ddkilzer@apple.com
  • 4 edits
    1 add in branches/safari-600.1.4.17-branch/Tools

Make run-webkit-tests work with iOS Simulator

Merge r179788, r179793.

3:09 PM Changeset in webkit [186742] by ddkilzer@apple.com
  • 2 edits in branches/safari-600.1.4.17-branch/Source/WebKit2

Merge r184991. rdar://problem/21716545

12:41 PM Changeset in webkit [186741] by Chris Fleizach
  • 3 edits
    2 adds in trunk

AX: WEB: VoiceOver for iOS does not read <iframe> elements during linear (swipe) navigation.
https://bugs.webkit.org/show_bug.cgi?id=146861

Reviewed by Darin Adler.

Source/WebCore:

AttachmentViews exist only on WK1 so we need account for both platforms.

Test: platform/ios-simulator/accessibility/iframe-access.html

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]):

LayoutTests:

  • platform/ios-simulator/accessibility/iframe-access-expected.txt: Added.
  • platform/ios-simulator/accessibility/iframe-access.html: Added.
9:28 AM Changeset in webkit [186740] by youenn.fablet@crf.canon.fr
  • 5 edits in trunk/Source/WebCore

[Streams API] Templating ReadableJSStream
https://bugs.webkit.org/show_bug.cgi?id=146802

Reviewed by Darin Adler.

Introducing ReadableStream::clearValues to clear queued values when cancelling and going into error state.

Introducing ReadableEnqueuingStream to handle the stream queue, as a class template.
Specialized ReadableEnqueuingStream for the purpose of ReadableJSStream (storage of JSValue with variable size).

Updated some static functions to accept a ReadableStream in lieu of the more specialized ReadableJSStream.

Covered by existing tests.

  • Modules/streams/ReadableStream.cpp:

(WebCore::ReadableStream::changeStateToErrored):
(WebCore::ReadableStream::cancelNoCheck):

  • Modules/streams/ReadableStream.h:

(WebCore::ReadableEnqueuingStream::ReadableEnqueuingStream):
(WebCore::ReadableEnqueuingStream::enqueueChunk):
(WebCore::ReadableEnqueuingStream<ChunkType>::read):

  • bindings/js/ReadableJSStream.cpp:

(WebCore::ReadableEnqueuingStream<ReadableJSStreamValue>::read):
(WebCore::ReadableEnqueuingStream<ReadableJSStreamValue>::enqueueChunk):
(WebCore::createPullResultFulfilledFunction):
(WebCore::createCancelResultFulfilledFunction):
(WebCore::ReadableJSStream::ReadableJSStream):
(WebCore::ReadableJSStream::enqueue):

  • bindings/js/ReadableJSStream.h:

(WebCore::ReadableJSStreamValue::create):
(WebCore::ReadableEnqueuingStream<ReadableJSStreamValue>::desiredSize):
(WebCore::ReadableEnqueuingStream<ReadableJSStreamValue>::ReadableEnqueuingStream):

7:46 AM Changeset in webkit [186739] by ddkilzer@apple.com
  • 2 edits in branches/safari-600.8-branch/Source/WebKit2

Merge r184991. rdar://problem/21716403

12:36 AM Changeset in webkit [186738] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1-branch/Source

Versioning.

12:33 AM Changeset in webkit [186737] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.39.1/Source

Versioning.

12:32 AM Changeset in webkit [186736] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.39.1

New tag.

12:29 AM Changeset in webkit [186735] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WTF

Merged r186720. rdar://problem/21221902

12:28 AM Changeset in webkit [186734] by bshafiei@apple.com
  • 9 edits in branches/safari-601.1-branch/Source/WebKit2

Merged r186719. rdar://problem/21221902

12:26 AM Changeset in webkit [186733] by bshafiei@apple.com
  • 11 edits
    1 copy
    1 delete in branches/safari-601.1-branch/Source

Merged r186718. rdar://problem/21221902

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

Merged r186716. rdar://problem/21507154

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

Merged r186713. rdar://problem/21507154

12:15 AM Changeset in webkit [186730] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebCore

Merged r186727.

12:06 AM Changeset in webkit [186729] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.39.0.1/Source/WebCore

Merged r186727.

Jul 11, 2015:

11:43 PM Changeset in webkit [186728] by Gyuyoung Kim
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed, EFL gardening on 12th Jul.

Mark some ax tests and editing tests to failure since r186694 and r185692.

  • platform/efl/TestExpectations:
10:37 PM Changeset in webkit [186727] by bshafiei@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::cancelLoad):

9:28 PM Changeset in webkit [186726] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.39.0.1/Source

Versioning.

9:24 PM Changeset in webkit [186725] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.39.0.1

New tag.

9:23 PM Changeset in webkit [186724] by Nikita Vasilyev
  • 10 edits in trunk/Source

Web Inspector: Inspector should be able to be docked to the bottom of a narrow window
https://bugs.webkit.org/show_bug.cgi?id=146871

Reviewed by Timothy Hatcher.

Source/WebCore:

  • inspector/InspectorFrontendClientLocal.cpp:

Source/WebInspectorUI:

  • UserInterface/Views/Toolbar.css:

(@media (max-width: 539px)): Hide download button to fit search field into the screen.

Source/WebKit/mac:

  • WebCoreSupport/WebInspectorClient.mm:

Source/WebKit2:

  • UIProcess/WebInspectorProxy.cpp:
  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::platformCanAttach):

  • WebProcess/WebPage/WebInspector.cpp:
9:14 PM Changeset in webkit [186723] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

8:58 PM Changeset in webkit [186722] by bshafiei@apple.com
  • 1 copy in branches/safari-601.1-branch

New Branch.

7:59 PM Changeset in webkit [186721] by timothy@apple.com
  • 1 edit
    3 adds in trunk/Websites/webkit.org

Add some images for a blog post.

  • blog-files/inspector-elements-network-tabs.png: Added.
  • blog-files/inspector-tab-bar.png: Added.
  • blog-files/inspector-tab-icons.svg: Added.
6:54 PM Changeset in webkit [186720] by Joseph Pecoraro
  • 2 edits in trunk/Source/WTF

Unreviewed build fix, restrict APP_LINKS to just iOS.

  • wtf/Platform.h:
5:51 PM WebKitGTK/Releasing edited by Martin Robinson
Warning that contents are out of date (diff)
3:58 PM Changeset in webkit [186719] by Joseph Pecoraro
  • 9 edits in trunk/Source/WebKit2

Allow clients to opt-out of default app link link actions
https://bugs.webkit.org/show_bug.cgi?id=146883
<rdar://problem/21221902>

Reviewed by Dan Bernstein.

  • UIProcess/API/APIUIClient.h:

(API::UIClient::shouldIncludeAppLinkActionsForElement):

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::shouldIncludeAppLinkActionsForElement):
Plumbing for a new delegate message to ask the client if they
would like app link actions or not. Default is yes.

  • UIProcess/ios/WKActionSheetAssistant.h:
  • UIProcess/ios/WKActionSheetAssistant.mm:

(-[WKActionSheetAssistant showImageSheet]):
(-[WKActionSheetAssistant showLinkSheet]):
(-[WKActionSheetAssistant defaultActionsForLinkSheet:]):
(-[WKActionSheetAssistant defaultActionsForImageSheet:]):
Pass elementInfo into methods generating default actions.

(-[WKActionSheetAssistant _appendOpenActionsForURL:actions:elementInfo:]):
When generating open actions, if the process has AppLink capabilities
ask the client if they want to include AppLink actions or fall back
to the basic Open action.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView actionSheetAssistant:shouldIncludeAppLinkActionsForElement:]):
(-[WKContentView previewViewControllerForPosition:inSourceView:]):

  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView actionSheetAssistant:shouldIncludeAppLinkActionsForElement:]):
Assistant delegate implementations forward to the UIDelegate.

3:58 PM Changeset in webkit [186718] by Joseph Pecoraro
  • 11 edits
    1 move in trunk/Source

Update default link action sheets for app links
https://bugs.webkit.org/show_bug.cgi?id=146658
<rdar://problem/21221902>

Reviewed by Dan Bernstein.

Source/WebCore:

  • English.lproj/Localizable.strings:
  • platform/spi/ios/LaunchServicesSPI.h:

Source/WebKit2:

  • Shared/mac/SandboxUtilities.h:
  • Shared/mac/SandboxUtilities.mm: Renamed from Source/WebKit2/Shared/mac/SandboxUtilities.cpp.

(WebKit::processHasEntitlement):

  • UIProcess/ApplicationStateTracker.mm:

(WebKit::applicationType):
(WebKit::hasEntitlement): Deleted.

  • WebKit2.xcodeproj/project.pbxproj:

Share a helper for checking if the current process has an entitlement.

  • UIProcess/API/Cocoa/_WKElementAction.h:
  • UIProcess/API/Cocoa/_WKElementAction.mm:

(+[_WKElementAction _elementActionWithType:title:actionHandler:]):
(+[_WKElementAction _elementActionWithType:customTitle:assistant:]):

  • UIProcess/API/Cocoa/_WKElementActionInternal.h:

Add an internal way to make an element action with a standard type and regular handler.
We use this for the new standard types that don't have a default implementation.

  • UIProcess/ios/WKActionSheetAssistant.mm:

(applicationHasAppLinkEntitlements):
(appLinkForURL):
Helpers checking access to app links and fetching app links.

(-[WKActionSheetAssistant _appendOpenActionsForURL:actions:]):
(-[WKActionSheetAssistant defaultActionsForLinkSheet]):
(-[WKActionSheetAssistant defaultActionsForImageSheet]):
Create "Open in Safari" and "Open in 'App'" default actions for AppLinks,
otherwise add the normal default "Open" action.

3:29 PM Changeset in webkit [186717] by Devin Rousso
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Improve runtime of pseudo-element sidebar style ordering
https://bugs.webkit.org/show_bug.cgi?id=146866

Reviewed by Timothy Hatcher.

  • UserInterface/Models/CSSRule.js:

(WebInspector.CSSRule.prototype.update): Determines the most specific selector and saves it to a variable.
(WebInspector.CSSRule.prototype.get mostSpecificSelector): Returns the most specific selector.
(WebInspector.CSSRule.prototype.selectorIsGreater): Compares the most specific selector to a given selector.
(WebInspector.CSSRule.prototype._determineMostSpecificSelector):
Searches through the selector list to find and return the selector that is the most specific.
(WebInspector.CSSRule):

  • UserInterface/Views/RulesStyleDetailsPanel.js:

(WebInspector.RulesStyleDetailsPanel.prototype.refresh):

2:30 PM Changeset in webkit [186716] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove incorrect overriding of inputAssistantItem in WKContentView.
https://bugs.webkit.org/show_bug.cgi?id=146863
rdar://problem/21507154

Reviewed by Sam Weinig.

Correction to the patch in r186713.
We need to provide the inputAssistantItem from the responder.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView inputAccessoryView]):

1:35 PM Changeset in webkit [186715] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebCore

Fix CONTENT_EXTENSIONS_STATE_MACHINE_DEBUGGING
https://bugs.webkit.org/show_bug.cgi?id=146879

Reviewed by Andreas Kling.

Some of my recent changes broke CONTENT_EXTENSIONS_STATE_MACHINE_DEBUGGING :(

  • contentextensions/CombinedURLFilters.cpp:

(WebCore::ContentExtensions::prefixTreeVertexToString):
(WebCore::ContentExtensions::recursivePrint):
(WebCore::ContentExtensions::CombinedURLFilters::print):

  • contentextensions/ContentExtensionsDebugging.h:
  • contentextensions/DFA.cpp:

(WebCore::ContentExtensions::DFA::debugPrintDot):

1:15 PM Changeset in webkit [186714] by Chris Dumez
  • 5 edits in trunk

Unreviewed, rolling out r186689 and r186710.
https://bugs.webkit.org/show_bug.cgi?id=146880

May have caused a PLT regression and broken a layout test
(Requested by cdumez on #webkit).

Reverted changesets:

"[WK2] Increase the QoS of some of our WorkQueues to match the
one of our processes"
https://bugs.webkit.org/show_bug.cgi?id=146855
http://trac.webkit.org/changeset/186689

"REGRESSION (r186689?): fast/frames/frame-limit.html timeout
on Mavericks {Release,Debug} WK2 bots"
https://bugs.webkit.org/show_bug.cgi?id=146876
http://trac.webkit.org/changeset/186710

Patch by Commit Queue <commit-queue@webkit.org> on 2015-07-11

12:02 PM Changeset in webkit [186713] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove incorrect overriding of inputAssistantItem in WKContentView.
https://bugs.webkit.org/show_bug.cgi?id=146863
rdar://problem/21507154

Reviewed by Dan Bernstein.

Removing implementation of inputAssistantItem and moving initialization
of formAccessoryView to inputAccessoryView to avoid interfering with
the keyboard handling of the assistant bar.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView inputAccessoryView]):
(-[WKContentView inputAssistantItem]): Deleted.
(-[WKContentView _inputAssistantItem]): Deleted.

11:19 AM Changeset in webkit [186712] by Simon Fraser
  • 22 edits in trunk/Source

[iOS WK2] Scrolling issues on horizontally scrollable RTL pages
https://bugs.webkit.org/show_bug.cgi?id=146872
rdar://problem/7569416

Reviewed by Sam Weinig.

Horizontally scrollable RTL pages in WebKit2 had a variety of issues: they had
a gap down the right edge, and unreachable content on the left side, focussing
form fields scrolled to the wrong location, and programmatic scrolls scrolled
to the wrong place.

Fix by plumbing the WebCore notion of scrollOrigin through to the UI process,
and using it in various places. There are three main aspects to the patch:

  1. scroll origin is included in RemoteLayerTreeTransaction, and plumbed through to -[WKWebView _scrollToContentOffset:] for correct programmatic scrolling,

Source/WebCore:

including zooming to focussed form elements.

  1. WebPageProxy::computeCustomFixedPositionRect() uses the actual documentRect() rather than just conjuring up a rect with a zero origin, which makes position:fixed work correctly.
  2. _interactionViewsContainerView (which hosts tap highlights) is positioned to coincide with the origin of the documentRect (i.e. at the scroll origin, which may not be top-left). This allows tap highlights to show in the correct location.
  3. ScrollView::unobscuredContentRect() is fixed to take scroll origin into account; if the returned rect is wrong, RenderLayer::hitTest() incorrectly clips the hit testing area.
  • platform/ios/ScrollViewIOS.mm:

(WebCore::ScrollView::unobscuredContentRect):

Source/WebKit2:

including zooming to focused form elements. The WKContentView's boundsOrigin
is set to the scroll origin so that the view coordinates match document coordinates.

  1. WebPageProxy::computeCustomFixedPositionRect() uses the actual documentRect() rather than just conjuring up a rect with a zero origin, which makes position:fixed work correctly.
  2. _interactionViewsContainerView (which hosts tap highlights) is positioned to coincide with the origin of the documentRect (i.e. at the scroll origin, which may not be top-left). This allows tap highlights to show in the correct location.
  3. ScrollView::unobscuredContentRect() is fixed to take scroll origin into account; if the returned rect is wrong, RenderLayer::hitTest() incorrectly clips the hit testing area.
  • Shared/mac/RemoteLayerTreeTransaction.h:

(WebKit::RemoteLayerTreeTransaction::scrollOrigin):
(WebKit::RemoteLayerTreeTransaction::setScrollOrigin):

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::encode):
(WebKit::RemoteLayerTreeTransaction::decode):
(WebKit::RemoteLayerTreeTransaction::description): Dump some more info.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _scrollToContentOffset:scrollOrigin:]):
(-[WKWebView _scrollToContentOffset:]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::requestScroll):

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::requestScroll):

  • UIProcess/CoordinatedGraphics/WebView.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::requestScroll):

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::requestScroll):
(WebKit::PageClientImpl::documentRect):
(WebKit::PageClientImpl::contentsSize): Deleted.

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _didCommitLayerTree:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::computeCustomFixedPositionRect):

  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::requestScroll):

  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::willCommitLayerTree):

8:44 AM Changeset in webkit [186711] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny.html crashes on Windows

<http://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=http%2Ftests%2Fsecurity%2FXFrameOptions%2Fx-frame-options-deny-meta-tag-parent-same-origin-deny.html>

  • platform/win/TestExpectations: Mark tests as crashing:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny.html
8:18 AM Changeset in webkit [186710] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r186689?): fast/frames/frame-limit.html timeout on Mavericks {Release,Debug} WK2 bots

Fix tracked by: <http://webkit.org/b/146876>

  • platform/mac-wk2/TestExpectations: Mark test as timing out:
  • fast/frames/frame-limit.html
7:17 AM Changeset in webkit [186709] by ddkilzer@apple.com
  • 3 edits in trunk/LayoutTests

REGRESSION (r186697): Fix Yosemite, El Capitan test results for js/dom/global-constructors-attributes.html

  • platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
  • Move MediaStream results into alphabetical order to fix test failures.
1:42 AM Changeset in webkit [186708] by Devin Rousso
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Warning icon tooltip for numbers with no units could be improved
https://bugs.webkit.org/show_bug.cgi?id=146859

Reviewed by Timothy Hatcher.

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

(WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded):
If the property's value is incorrect and is comprised of only numbers, that must mean that the value needs
to have units (like "px") after the number. Added another warning icon case to support this scenario.

Jul 10, 2015:

11:55 PM Changeset in webkit [186707] by Chris Dumez
  • 11 edits in trunk/Source

[WK2] Diagnostic logging messages are causing too much IPC
https://bugs.webkit.org/show_bug.cgi?id=146873
<rdar://problem/21779205>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Move shouldLogAfterSampling() utility function to DiagnosticLoggingClient
so it can be easily reused.

  • page/DiagnosticLoggingClient.h:

(WebCore::DiagnosticLoggingClient::shouldLogAfterSampling):

Source/WebKit2:

Diagnostic logging messages are causing too much IPC. To address the
problem, we now do the sampling of the senders' side (WebContent
process and Networking process) instead of the receiver's side
(UIProcess).

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::logDiagnosticMessage):
(WebKit::NetworkProcess::logDiagnosticMessageWithResult):
(WebKit::NetworkProcess::logDiagnosticMessageWithValue):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::logSampledDiagnosticMessage):
(WebKit::NetworkProcessProxy::logSampledDiagnosticMessageWithResult):
(WebKit::NetworkProcessProxy::logSampledDiagnosticMessageWithValue):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Network/NetworkProcessProxy.messages.in:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::logDiagnosticMessage):
(WebKit::WebPageProxy::logDiagnosticMessageWithResult):
(WebKit::WebPageProxy::logDiagnosticMessageWithValue):
(WebKit::WebPageProxy::logSampledDiagnosticMessage):
(WebKit::WebPageProxy::logSampledDiagnosticMessageWithResult):
(WebKit::WebPageProxy::logSampledDiagnosticMessageWithValue):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp:

(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessage):
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithResult):
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithValue):

11:41 PM Changeset in webkit [186706] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFG::DesiredWatchpoints should accept WatchpointSetType's that aren't necessarily pointers
https://bugs.webkit.org/show_bug.cgi?id=146875

Reviewed by Dan Bernstein.

In the future we'll want to add a desired watchpoint set that's something like "please
watch property 'Foo' for 'deletion' on structure 'S1'", so that the "set type" is struct
like "struct MySet { StringImpl* property; Mode mode; Structure* structure };".

This is a very mechanical change for now - all of the current users happen to use sets
that are pointer typed, so it's just a matter of moving some "*"'s around.

  • dfg/DFGDesiredWatchpoints.h:

(JSC::DFG::GenericSetAdaptor::add):
(JSC::DFG::GenericSetAdaptor::hasBeenInvalidated):
(JSC::DFG::GenericDesiredWatchpoints::GenericDesiredWatchpoints):
(JSC::DFG::GenericDesiredWatchpoints::addLazily):
(JSC::DFG::GenericDesiredWatchpoints::reallyAdd):
(JSC::DFG::GenericDesiredWatchpoints::areStillValid):
(JSC::DFG::GenericDesiredWatchpoints::isWatched):
(JSC::DFG::DesiredWatchpoints::isWatched):

10:52 PM Changeset in webkit [186705] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Watchpoints should be allocated with FastMalloc
https://bugs.webkit.org/show_bug.cgi?id=146874

Reviewed by Dan Bernstein.

This is in preparation for adding new subclasses of Watchpoint. While starting to do this
I realized that the way Watchpoints allocated themselves was unusual.

  • bytecode/CodeBlockJettisoningWatchpoint.h:

(JSC::CodeBlockJettisoningWatchpoint::CodeBlockJettisoningWatchpoint): No need for the default constructor.

  • bytecode/Watchpoint.h:

(JSC::Watchpoint::Watchpoint): This should be noncopyable and fast-allocated.

  • dfg/DFGCommonData.h: Use a Bag<> instead of SegmentedVector<>. Bag means "malloc things but allow me to free them all at once", which is what we are doing here.
  • dfg/DFGDesiredWatchpoints.h:

(JSC::DFG::GenericDesiredWatchpoints::reallyAdd): Use the Bag<> API rather than the very awkward SegmentedVector<> API.

8:45 PM Changeset in webkit [186704] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Cleanup: Remove default constructor for WebCore::Pair()
https://bugs.webkit.org/show_bug.cgi?id=146856
<rdar://problem/21773212>

Reviewed by Darin Adler.

Remove default constructor for WebCore::Pair() and the setters Pair::set{First, Second}()
since they are not used and it seems weird to keep the latter after the removal of the former.
Should it turn out that we find a use for having a default constructor and/or setters then
we can revert this change.

  • css/Pair.h:

(WebCore::Pair::create): Deleted.
(WebCore::Pair::setFirst): Deleted.
(WebCore::Pair::setSecond): Deleted.
(WebCore::Pair::Pair): Deleted.

8:43 PM Changeset in webkit [186703] by dino@apple.com
  • 2 edits in trunk/Source/WebKit2

Airplay button and placeholder are missing in inline controls
https://bugs.webkit.org/show_bug.cgi?id=146869
<rdar://problem/21555051>

Reviewed by Simon Fraser.

Fix a typo in the ENABLE that was causing the Airplay
setting (allowsAirPlayForMediaPlayback, which becomes
webkitWirelessVideoPlaybackDisabled) to default to false.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration init]): Change WIRELESS_TARGET_PLAYBACK
to WIRELESS_PLAYBACK_TARGET.

8:01 PM Changeset in webkit [186702] by fpizlo@apple.com
  • 2 edits
    2 adds in trunk/Source/JavaScriptCore

AI folding of IsObjectOrNull is broken for non-object types that may be null
https://bugs.webkit.org/show_bug.cgi?id=146867

Reviewed by Ryosuke Niwa.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): Fix the bug and add some text describing what is going on.

  • tests/stress/misc-is-object-or-null.js: Added. Test for the bug.

(foo):

  • tests/stress/other-is-object-or-null.js: Added. Test for a bug I almost introduced.

(foo):

7:30 PM Changeset in webkit [186701] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

It should be easy to measure total compile times.
https://bugs.webkit.org/show_bug.cgi?id=146857

Reviewed by Sam Weinig.

This gives DFG::Plan the ability to track total compile times, and return them in a map
of stats that jsc.cpp can display.

I want to do some work to bring down DFG compile times. This will help me measure whether
I'm making a difference or not.

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::Plan):
(JSC::DFG::Plan::~Plan):
(JSC::DFG::Plan::computeCompileTimes):
(JSC::DFG::Plan::reportCompileTimes):
(JSC::DFG::Plan::compileInThread):
(JSC::DFG::Plan::compileInThreadImpl):
(JSC::DFG::Plan::cancel):
(JSC::DFG::Plan::compileTimeStats):
(JSC::DFG::dumpAndVerifyGraph): Deleted.
(JSC::DFG::profilerCompilationKindForMode): Deleted.

  • dfg/DFGPlan.h:

(JSC::DFG::Plan::compileTimeStats):

  • jsc.cpp:

(jscmain):

  • runtime/Options.h:
5:40 PM Changeset in webkit [186700] by ryuan.choi@navercorp.com
  • 3 edits in trunk/Source/WebCore

[CoordinatedGraphics] Override primaryLayerID in CoordinatedGraphicsLayer
https://bugs.webkit.org/show_bug.cgi?id=146826

Reviewed by Gyuyoung Kim.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::id): Moved id as inline function.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:

(WebCore::CoordinatedGraphicsLayer::id):

5:40 PM Changeset in webkit [186699] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

Unskip some now-passing tests.

  • platform/mac-wk2/TestExpectations:
5:16 PM Changeset in webkit [186698] by timothy@apple.com
  • 14 edits in trunk/Source/WebInspectorUI

Web Inspector: Use -apple-system instead of -webkit-system-font
https://bugs.webkit.org/show_bug.cgi?id=146860

Remove explicit uses of font-family where inhertance from the body is enough.
Change -webkit-system-font to -apple-system and use -apple-system-monospaced-numbers
for DataGrid and the toolbar dashboard.

Reviewed by Sam Weinig.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.css:

(.css-style-text-editor > .CodeMirror .CodeMirror-placeholder):

  • UserInterface/Views/DataGrid.css:

(.data-grid td):

  • UserInterface/Views/DefaultDashboardView.css:

(.toolbar .dashboard.default > .item):
(.toolbar .dashboard.default > :matches(.time, .resourcesSize)):
(.toolbar .dashboard.default > .resourcesSize):

  • UserInterface/Views/HierarchicalPathComponent.css:

(.hierarchical-path-component):

  • UserInterface/Views/LogContentView.css:

(.console-messages):

  • UserInterface/Views/Main.css:

(body):

  • UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:

(.object-tree-array-index .index-name):

  • UserInterface/Views/ObjectTreePropertyTreeElement.css:

(.object-tree-property .prototype-name):

  • UserInterface/Views/ObjectTreeView.css:

(.object-tree-outline li .empty-message):

  • UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:

(.timeline-overview-graph.rendering-frame > .divider > .label):

  • UserInterface/Views/SourceCodeTextEditor.css:

(.source-code.text-editor > .CodeMirror .issue-widget > .text):

  • UserInterface/Views/TypeTreeView.css:

(.type-tree):

5:12 PM Changeset in webkit [186697] by commit-queue@webkit.org
  • 7 edits in trunk

Exposing webkitMediaStream as MediaStream
https://bugs.webkit.org/show_bug.cgi?id=146813
<rdar://problem/21754383>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-10
Reviewed by Eric Carlson.

Source/WebCore:

  • Modules/mediastream/MediaStream.idl: Changed interface

name from webkitMediaStream to MediaStream

LayoutTests:

  • platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:

Changed attributes from webkitMediaStream to MediaStream

  • platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:

Ditto

  • platform/mac/js/dom/global-constructors-attributes-expected.txt:

Ditto

5:04 PM Changeset in webkit [186696] by Brent Fulgham
  • 1 edit
    2 adds in trunk/LayoutTests

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.

Add a new test that checks for correct mac selection behavior for editable and read-only
text fields.

  • platform/mac/editing/selection/context-menu-select-editability-expected.txt: Added.
  • platform/mac/editing/selection/context-menu-select-editability.html: Added.
4:31 PM Changeset in webkit [186695] by Devin Rousso
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Add source links to functions logged in the console
https://bugs.webkit.org/show_bug.cgi?id=146377

Reviewed by Timothy Hatcher.

  • UserInterface/Protocol/RemoteObject.js:

(WebInspector.RemoteObject.prototype.findFunctionSourceCodeLocation):
Returns a promise that contains the sourceCodeLocation if the object represents a function and has an objectId.
(WebInspector.RemoteObject.prototype._isFunction):

  • UserInterface/Views/ConsoleMessageView.css:

(.console-message .console-message-location):
Added specified values for font sizing and family to ensure that all location links have the same styling.

  • UserInterface/Views/ConsoleMessageView.js:

(WebInspector.ConsoleMessageView):
Now creates a link to the source code of the entered text if the message is of the type "result".
(WebInspector.ConsoleMessageView.prototype._appendLocationLink):
(WebInspector.ConsoleMessageView.prototype._createRemoteObjectIfNeeded):
(WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
(WebInspector.ConsoleMessageView.prototype._linkifyLocation):
(WebInspector.ConsoleMessageView.prototype._linkifyCallFrameLocation):
(WebInspector.ConsoleMessageView.prototype._linkifyCallFrame):

4:09 PM Changeset in webkit [186694] by Brent Fulgham
  • 5 edits in trunk/Tools

[Mac] Unable to dismiss context menu during test runs
https://bugs.webkit.org/show_bug.cgi?id=146836

Reviewed by Tim Horton.

Since Context Menus are modal, the test system would block on the displayed context menu,
causing tests to fail. Instead, we should do what WK1 was doing, which is to perform the
mouse click and generate the menu contents, but not ask AppKit to display it.

Drive-by fix: We did not handle 'escape' key presses. This is also fixed.

  • DumpRenderTree/mac/EventSendingController.mm:

(-[EventSendingController keyDown:withModifiers:withLocation:]): Handle the 'escape' character.

  • WebKitTestRunner/InjectedBundle/EventSendingController.cpp:

(WTR::EventSendingController::mouseMoveTo): Keep track of the current mouse position.
(WTR::EventSendingController::contextClick): Don't emit an actual context menu invocation and then
copy the menu items. Instead, use WKBundlePageCopyContentMenuAtPointInWindow to do all the same
work without actually calling on AppKit to display the menu.
ask WebCore to do all the work EXCEPT displaying the menu.

  • WebKitTestRunner/InjectedBundle/EventSendingController.h:
  • WebKitTestRunner/mac/EventSenderProxy.mm:

(WTR::EventSenderProxy::keyDown): Handle the 'escape' character.

3:29 PM Changeset in webkit [186693] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Use CoreAnimation fences instead of synchronous IPC to synchronize resize
https://bugs.webkit.org/show_bug.cgi?id=146294
<rdar://problem/21090193>

Reviewed by Anders Carlsson.

  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:

(WebKit::TiledCoreAnimationDrawingAreaProxy::createFenceForGeometryUpdate):
Tiny followup; don't touch Connection if the connection isn't valid.

3:04 PM Changeset in webkit [186692] by commit-queue@webkit.org
  • 19 edits
    2 adds in trunk

Source/WebCore:
Added ARIA 1.1 "cell" and "table" roles.
https://bugs.webkit.org/show_bug.cgi?id=146011
<rdar://problem/21398946>

Patch by Nan Wang <n_wang@apple.com> on 2015-07-10
Reviewed by Chris Fleizach.

Created a new role called GridCellRole to match the gridcell role,
so the previous CellRole and TableRole will match to cell and table role.
Made the changes to make sure that both GridRole and TableRole have same
behavior, as well as the circumstance for GridCellRole and CellRole.

Test: accessibility/roles-table-and-cell.html

  • accessibility/AXObjectCache.cpp:

(WebCore::createFromRenderer):

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::supportsRequiredAttribute):
(WebCore::AccessibilityNodeObject::canSetSelectedAttribute):

  • accessibility/AccessibilityObject.cpp:

(WebCore::initializeRoleMap):

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::setSelectedRows):
(WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
(WebCore::AccessibilityRenderObject::selectedChildren):

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::roleValue):

  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::determineAccessibilityRole):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper _accessibilityTableAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityTraitsFromAncestors]):
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(createAccessibilityRoleMap):

LayoutTests:
Added tests for new role: table and cell.
https://bugs.webkit.org/show_bug.cgi?id=146011.

Patch by Nan Wang <n_wang@apple.com> on 2015-07-10
Reviewed by Chris Fleizach.

Added tests for table and cell role. Also modified other tests to fit the changes.

  • accessibility/roles-computedRoleString-expected.txt:
  • accessibility/roles-computedRoleString.html:
  • accessibilit/roles-table-and-cell-expected.txt: Added.
  • accessibility/roles-table-and-cell.html: Added.
  • platform/mac/accessibility/aria-table-hierarchy-expected.txt:
  • platform/mac/accessibility/aria-tables-expected.txt:
  • platform/mac/accessibility/roles-exposed-expected.txt:
2:19 PM Changeset in webkit [186691] by fpizlo@apple.com
  • 45 edits
    4 adds in trunk/Source/JavaScriptCore

DFG fragile frozen values are fundamentally broken
https://bugs.webkit.org/show_bug.cgi?id=146602

Reviewed by Mark Lam.

This change gets rid of the FragileValue value strength, because it was fundamentally
broken.

FragileValue was a value known to the compiler but not tracked by the GC in any way -
it wasn't marked and it wasn't weak. This was used to support AI bootstrap for OSR
must-handle values. The philosophy was that if the compiler did use the value for
optimization, it would have been strengthened to a weak value (or maybe even a strong
value, though we probably won't do that). But this was too much of a pipe dream. I've
found at least one case where the compiler did use the value, but never strengthened
it: it would happen if the value ended up in an OSR entry data expected value. Then if
we GCed, we might have killed the value, but OSR entry would still try to use it for
validation. That might have sort of just worked, but it's clearly shady.

The reason why we made must-handle values fragile and not weak is that most of the time
the values disappear from the abstract state: they are LUBed to a non-constant. If we
kept them around as weak, we'd have too many cases of the GC killing the code because
it thought that the value was somehow meaningful to the code when it was only used as a
temporary artifact of optimization.

So, it's true that it's very important for must-handle values not to automatically be
weak or strong. It's also true that the values are necessary for AI bootstrap because
we need to know what values OSR entry will require. But we shouldn't accomplish these
goals by having the compiler hold onto what are essentially dangling pointers.

This implements a better solution: instead of having InPlaceAbstractState bootstrap the
AI with must-handle values at the beginning, we now widen the valuesAtHead of the
must-handle block after AI converges. This widening is done in CFAPhase. This allows us
to see if the must-handle values are necessary at all. In most cases, the widening
takes a non-constant abstract value and simply amends something to its type based on
the type of the must-handle value, and so the must-handle value never actually shows up
in either the IR or any abstract value. In the unlikely event that the value at head is
bottom, we freeze the must-handle value. This change removes FragileValue, and this
freezing uses WeakValue as the strength. That makes sense: since the abstract value was
bottom, the must-handle value becomes integral to the IR and so it makes no sense for
the GC to keep the resulting CodeBlock alive if that must-handle value dies. This will
sometimes happen for example if you have a very long-running loop whose pre-header
allocates some object, but that pre-header appears to always exit to the optimizing JIT
because it was only profiled once in the LLInt and that profiling appears insufficient
to the DFG. In that case, we'll effectively constant-fold the references to the object
inside the loop, which is both efficient (yay constant folding!) and necessary
(otherwise we wouldn't know what the type of the variable should have been).

Testing and debugging this is complicated. So, this adds some new capabilities:

  • DFG IR dumps also dump all of the FrozenValues that point to the heap along with their strengths, so that it's easy to see what GC objects the DFG feels are necessary for the compilation.


  • DFG OSR entry preparation prints out the OSR entry data structures, so that it's easy to see what GC pointers (and other things) are used for OSR entry validation. The printouts are quite detailed, and should also help other kinds of OSR entry debugging.


  • DFG::Plan now validates whether all of the GC pointers planted in the various JITCode data structures are also properly registered as either weak or strong pointers in the CodeBlock. This validation check previously failed due to fragile values ending up in the OSR entry data structures, both in the newly added test (dead-osr-entry-value.js) and in some pre-existing tests (like earley-boyer and 3d-raytrace).

(JSC::CodeBlock::stronglyVisitStrongReferences):

  • bytecode/CodeOrigin.cpp:

(JSC::InlineCallFrame::visitAggregate):

  • bytecode/Operands.h:

(JSC::Operands::operand):
(JSC::Operands::hasOperand):

  • bytecode/StructureSet.cpp:

(JSC::StructureSet::dump):
(JSC::StructureSet::validateReferences):

  • bytecode/StructureSet.h:
  • bytecode/TrackedReferences.cpp: Added.

(JSC::TrackedReferences::TrackedReferences):
(JSC::TrackedReferences::~TrackedReferences):
(JSC::TrackedReferences::add):
(JSC::TrackedReferences::check):
(JSC::TrackedReferences::dump):

  • bytecode/TrackedReferences.h: Added.
  • dfg/DFGAbstractValue.cpp:

(JSC::DFG::AbstractValue::observeTransitions):
(JSC::DFG::AbstractValue::set):
(JSC::DFG::AbstractValue::fixTypeForRepresentation):
(JSC::DFG::AbstractValue::mergeOSREntryValue):
(JSC::DFG::AbstractValue::filter):
(JSC::DFG::AbstractValue::dumpInContext):
(JSC::DFG::AbstractValue::validateReferences):
(JSC::DFG::AbstractValue::setOSREntryValue): Deleted.

  • dfg/DFGAbstractValue.h:

(JSC::DFG::AbstractValue::fullTop):
(JSC::DFG::AbstractValue::merge):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

  • dfg/DFGCFAPhase.cpp:

(JSC::DFG::CFAPhase::run):

  • dfg/DFGCommonData.cpp:

(JSC::DFG::CommonData::invalidate):
(JSC::DFG::CommonData::validateReferences):

  • dfg/DFGCommonData.h:

(JSC::DFG::CommonData::requiredRegisterCountForExecutionAndExit):

  • dfg/DFGFrozenValue.h:

(JSC::DFG::FrozenValue::FrozenValue):
(JSC::DFG::FrozenValue::strengthenTo):
(JSC::DFG::FrozenValue::pointsToHeap):
(JSC::DFG::FrozenValue::strength):
(JSC::DFG::FrozenValue::freeze):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::Graph):
(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::registerFrozenValues):
(JSC::DFG::Graph::visitChildren):
(JSC::DFG::Graph::freeze):
(JSC::DFG::Graph::freezeStrong):
(JSC::DFG::Graph::freezeFragile): Deleted.

  • dfg/DFGGraph.h:
  • dfg/DFGInPlaceAbstractState.cpp:

(JSC::DFG::InPlaceAbstractState::initialize):

  • dfg/DFGJITCode.cpp:

(JSC::DFG::JITCode::setOptimizationThresholdBasedOnCompilationResult):
(JSC::DFG::JITCode::validateReferences):

  • dfg/DFGJITCode.h:
  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::addressOfDoubleConstant):
(JSC::DFG::JITCompiler::noticeOSREntry):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::branchStructurePtr):
(JSC::DFG::JITCompiler::jitCode):
(JSC::DFG::JITCompiler::noticeOSREntry): Deleted.

  • dfg/DFGMinifiedGraph.cpp: Added.

(JSC::DFG::MinifiedGraph::prepareAndShrink):
(JSC::DFG::MinifiedGraph::validateReferences):

  • dfg/DFGMinifiedGraph.h:

(JSC::DFG::MinifiedGraph::append):
(JSC::DFG::MinifiedGraph::prepareAndShrink): Deleted.

  • dfg/DFGOSREntry.cpp:

(JSC::DFG::OSREntryData::dumpInContext):
(JSC::DFG::OSREntryData::dump):
(JSC::DFG::prepareOSREntry):

  • dfg/DFGOSREntry.h:

(JSC::DFG::getOSREntryDataBytecodeIndex):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::finalizeWithoutNotifyingCallback):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::linkOSREntries):
(JSC::DFG::SpeculativeJIT::compileDoublePutByVal):

  • dfg/DFGStructureAbstractValue.cpp:

(JSC::DFG::StructureAbstractValue::dump):
(JSC::DFG::StructureAbstractValue::validateReferences):

  • dfg/DFGStructureAbstractValue.h:
  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validate):

  • dfg/DFGValueStrength.cpp:

(WTF::printInternal):

  • dfg/DFGValueStrength.h:

(JSC::DFG::merge):

  • ftl/FTLExitPropertyValue.cpp:

(JSC::FTL::ExitPropertyValue::dump):
(JSC::FTL::ExitPropertyValue::validateReferences):

  • ftl/FTLExitPropertyValue.h:
  • ftl/FTLExitTimeObjectMaterialization.cpp:

(JSC::FTL::ExitTimeObjectMaterialization::dump):
(JSC::FTL::ExitTimeObjectMaterialization::validateReferences):

  • ftl/FTLExitTimeObjectMaterialization.h:
  • ftl/FTLExitValue.cpp:

(JSC::FTL::ExitValue::dump):
(JSC::FTL::ExitValue::validateReferences):

  • ftl/FTLExitValue.h:
  • ftl/FTLJITCode.cpp:

(JSC::FTL::JITCode::dfgCommon):
(JSC::FTL::JITCode::validateReferences):

  • ftl/FTLJITCode.h:

(JSC::FTL::JITCode::handles):
(JSC::FTL::JITCode::dataSections):

  • ftl/FTLOSRExit.cpp:

(JSC::FTL::OSRExit::codeLocationForRepatch):
(JSC::FTL::OSRExit::validateReferences):

  • ftl/FTLOSRExit.h:

(JSC::FTL::OSRExit::considerAddingAsFrequentExitSite):

  • jit/JITCode.cpp:

(JSC::JITCode::typeName):
(JSC::JITCode::validateReferences):
(JSC::JITCode::execute):

  • jit/JITCode.h:

(JSC::JITCode::start):

  • tests/stress/dead-osr-entry-value.js: Added.

(foo):

2:17 PM Changeset in webkit [186690] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Storage tab should have a scope bar in the sidebar
https://bugs.webkit.org/show_bug.cgi?id=146799

Fix a couple typos found post review.

  • UserInterface/Views/StorageSidebarPanel.js:

(WebInspector.StorageSidebarPanel):

2:15 PM Changeset in webkit [186689] by Chris Dumez
  • 3 edits in trunk/Source/WebKit2

[WK2] Increase the QoS of some of our WorkQueues to match the one of our processes
https://bugs.webkit.org/show_bug.cgi?id=146855

Reviewed by Anders Carlsson.

Increase the QoS of some of our WorkQueues to match the one of our processes. For
e.g., even though the WebContent and the Networking processes have USER_UNITIATED
QoS, the IPC between them is using a WorkQueue with DEFAULT QoS. Similarly, the
WorkQueue used for network cache reads has DEFAULT QoS.

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

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

  • Platform/IPC/Connection.cpp:

(IPC::Connection::Connection):

2:12 PM Changeset in webkit [186688] by fpizlo@apple.com
  • 3 edits
    1 add in trunk

It should be possible to run the OSR exit fuzzer
https://bugs.webkit.org/show_bug.cgi?id=146814

Reviewed by Mark Lam.

Source/JavaScriptCore:

Fix a silly bug: the option matching was accidentally allowing a prefix match, which
always did the wrong thing for --fireOSRExitFuzzAt and --fireOSRExitFuzzAtStatic. Make
this an exact match instead.

  • runtime/Options.cpp:

(JSC::Options::setOption):

Tools:

This runs a test command to detect how many static OSR exit sites it had, and then for
each exit site, it triggers three exits (earliest opportunity, last opportunity, some
middle opportunity), plus a mode where the check always exits. This is an exhaustive
search, so in the future it'll be very appropriate for cases where we have a simple test
and we want to see what happens when you eventually exit in this test.

Right now this isn't hooked into any specific tests, but I've done some spot checks on it
and it seems to do the right thing.

  • Scripts/jsc-stress-test-helpers/js-osr-exit-fuzz: Added.

(fail):

1:40 PM Changeset in webkit [186687] by dbates@webkit.org
  • 8 edits in trunk

Serialized declaration for background-size/-webkit-mask-size should preserve identical
values instead of coalescing them
https://bugs.webkit.org/show_bug.cgi?id=143191
<rdar://problem/21759393>

Reviewed by Darin Adler.

Source/WebCore:

Inspired by Blink r157745:
<http://src.chromium.org/viewvc/blink?view=revision&revision=157745>
And Blink r172548:
<http://src.chromium.org/viewvc/blink?view=revision&revision=172548>

Fixes an issue where identical values in a CSS declaration for properties background-size
and -webkit-mask-size would be coalesced when serialized.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseFillSize): Modified to create a Pair object with the appropriate
identical value encoding strategy. We only coalesce identical values when serializing the
declaration of property -webkit-background-size.

  • css/Pair.h:

(WebCore::Pair::create): Added variant that takes an encoding.
(WebCore::Pair::cssText): Moved implementation of Pair::generateCSSString() to here and
modified to conditionally coalesce identical values during serialization.
(WebCore::Pair::Pair): Added variant that takes an encoding.
(WebCore::Pair::generateCSSString): Deleted; moved implementation into Pair::cssText().

LayoutTests:

Inspired by Blink r172548:
<http://src.chromium.org/viewvc/blink?view=revision&revision=172548>

Update tests and test results to ensure we serialize background-size, -webkit-mask-size
correctly when identical values are present in their declarations.

  • fast/backgrounds/size/parsing-background-size-values-expected.txt:
  • fast/backgrounds/size/resources/parsing-background-size-values.js:
  • fast/masking/parsing-mask-expected.txt:
  • fast/masking/parsing-mask.html:
1:39 PM Changeset in webkit [186686] by mmaxfield@apple.com
  • 11 edits
    2 adds in trunk

Bidi-Isolate inlines break layout with collapsed whitespace
https://bugs.webkit.org/show_bug.cgi?id=109624
<rdar://problem/21752834>

Reviewed by David Hyatt.

Source/WebCore:

This patch changes the logic in constructBidiRunsForSegment() when it encounters an
isolate. It already has logic to create a BidiResolver for the isolated text;
however, that logic doesn't handle setting up the MidpointState at all.
Specifically, we can set the MidpointState's cursor to point to the context which
we can remember from addPlaceholderRunForIsolatedInline(). This information is
remembered in a HashMap in BidiResolver.

This patch is a partial port of Blink patch
https://src.chromium.org/viewvc/blink?view=rev&revision=159203

Here is some explanatory text regarding how we collapse spaces:

Collapsing whitespace happens in a series of phases. The first phase occurs when
we perform line breaking. Here, we keep track of sequences of whitespace which
should be collapsed, in the form of a vector of pairs of InlineIterators. We put
this knowledge into a MidpointState object.

Then, once we have a line, we run the bidi algorithm on the line (including the
whitespace). As output, the bidi algorithm calls the BidiResolver::appendRun()
callback with two InlineIterators each time it wants to create a run. Because
each renderer that we create has to be owned by exactly one DOM node,
BidiResolver::appendRun() iterates between its two InlineIterator arguments,
calling RenderBlockFlow::appendRunsForObject() on each interstitial DOM node.

This is the function where whitespace collapsing happens. The MidpointState object
keeps a cursor into its remembered whitespace sequences. Here, we simply make a
bidi run for each region in between adjacent whitespace pairs in the MidpointState
object. These bidi runs eventually get turned into leaf InlineBoxes.

The problem is that the BidiResolver::appendRun() callbacks don't occur in
string-order, but the Midpoint InlineIterator pairs are in string-order. In
particular, within a particular isolate, appendRun() gets called in string
order, but callbacks that occur for inner isolates are deferred. This means that
RenderBlockFlow::appendRunsForObject() gets confused when it looks for relevant
whitespace to skip.

Test: fast/text/bidi-isolate-whitespace-collapse.html

  • platform/text/BidiResolver.h:

(WebCore::MidpointState::numMidpoints): Returning a const unsigned& is silly.
(WebCore::MidpointState::currentMidpoint): Ditto.
(WebCore::MidpointState::setCurrentMidpoint): The isolated MidpointState object
needs to be able to set its current midpoint to point to the first one inside
the isolate.
(WebCore::MidpointState::decrementNumMidpoints): Renamed from "decrease"
(WebCore::MidpointState::betweenMidpoints): This function is true iff
currentMidpoint() % 2. Instead of keeping a member variable, we can just compute
that.
(WebCore::MidpointState::reset): Deleted.
(WebCore::MidpointState::decreaseNumMidpoints): Deleted.
(WebCore::MidpointState::setBetweenMidpoints): Deleted.

  • rendering/InlineIterator.h:

(WebCore::IsolateTracker::addFakeRunIfNecessary): Call
RenderBlockFlow::appendRunsForObject() to keep our MidpointState object in sync
when we pop out of the isolated object. However, we pass in a null run list,
because we don't want to append just yet (that happens when we process the
isolate).
(WebCore::InlineBidiResolver::appendRun): Update for new signature of
appendRunsForObject().

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::shouldSkipCreatingRunsForObject): Take a reference instead
of a pointer.

  • rendering/RenderBlockFlow.h:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::createRun): Ditto.
(WebCore::RenderBlockFlow::appendRunsForObject): Allow someone passing us a null
BidiRunList. In this case, we will keep the resolver's midpointState() up to date,
but won't actually emit any runs.
(WebCore::notifyResolverToResumeInIsolate): Renamed from setUp.
(WebCore::isolatedResolversMidpointState): Calculate the midpoint state for the
isolated resolver.
(WebCore::setUpResolverToResumeInIsolate): Call isolatedResolversMidpointState().
(WebCore::constructBidiRunsForSegment): Pass in the topResolver, which is
necessary for isolatedResolversMidpointState().

  • rendering/line/BreakingContext.h:

(WebCore::checkMidpoints):

LayoutTests:

  • fast/inline/crash-when-child-renderer-is-removed-and-line-stays-clean-expected.txt:
  • fast/text/bidi-isolate-whitespace-collapse-expected.html: Added.
  • fast/text/bidi-isolate-whitespace-collapse.html: Added.
  • fast/text/international/embed-bidi-style-in-isolate-crash-expected.txt:
  • fast/text/remove-text-node-linebox-not-dirty-crash-expected.txt:
1:34 PM Changeset in webkit [186685] by dbates@webkit.org
  • 4 edits in trunk/Source/WebCore

Cleanup: WebCore::Pair class should use RefPtr&& instead of PassRefPtr
https://bugs.webkit.org/show_bug.cgi?id=146852

Reviewed by Anders Carlsson.

  • css/CSSParser.cpp:

(WebCore::createPrimitiveValuePair): Write using a variadic template that forwards its
arguments to the appropriate Pair::create constructor.
(WebCore::CSSParser::parse4ValuesFillPosition): Use RefPtr&& instead of PassRefPtr.
(WebCore::CSSParser::parse3ValuesFillPosition): Ditto.
(WebCore::CSSParser::parseFillPosition): Use WTF::move() instead of RefPtr::release()
so that we pass a rvalue reference to RefPtr.
(WebCore::CSSParser::parseFillSize): Ditto.
(WebCore::CSSParser::parseBorderImageRepeat): Ditto.

  • css/CSSParser.h:
  • css/Pair.h:

(WebCore::Pair::create): Use RefPtr&& instead of PassRefPtr.
(WebCore::Pair::setFirst): Ditto.
(WebCore::Pair::setSecond): Ditto.
(WebCore::Pair::Pair): Ditto. Also substitute nullptr for 0 in the member initialization
list of the default constructor.

1:19 PM Changeset in webkit [186684] by Alan Bujtas
  • 6 edits in trunk/Source

Crash at WebCore::WebPage::innerFrameQuad.
https://bugs.webkit.org/show_bug.cgi?id=146843
rdar://problem/21501819

Reviewed by Andreas Kling.

We may end up with a null rootEditableElement() after calling Document::updateLayout().

Speculative fix. Not reproducible.

Source/WebCore:

  • page/Frame.cpp: Some const cleanup.

(WebCore::Frame::visiblePositionForPoint):

  • page/Frame.h:

Source/WebKit2:

  • WebProcess/WebPage/WebPage.h: Some const cleanup.
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::innerFrameQuad): null check assistedNode.rootEditableElement()
(WebKit::constrainPoint):
(WebKit::WebPage::selectWithGesture):
(WebKit::WebPage::visiblePositionInFocusedNodeForPoint):
(WebKit::WebPage::selectPositionAtPoint):
(WebKit::WebPage::selectPositionAtBoundaryWithDirection):
(WebKit::WebPage::selectTextWithGranularityAtPoint):
(WebKit::WebPage::updateSelectionWithExtentPoint):
(WebKit::WebPage::getPositionInformation):

12:01 PM Changeset in webkit [186683] by beidson@apple.com
  • 4 edits in trunk/Source/WebCore

Crash in HistoryController::updateForCommit dereferencing a null HistoryItem.
<rdar://problem/21371589> and https://bugs.webkit.org/show_bug.cgi?id=146842

Reviewed by Chris Dumez.

No new tests (Unknown how to reproduce).

This patch basically rolls back part of http://trac.webkit.org/changeset/179472.

r179472 changed HistoryController::setCurrentItem() to take a reference instead of a pointer.
Unfortunately, we sometimes call setCurrentItem(nullptr).

We'd like to *not* do that, and there are assertions in place to try to catch when we do,
but in the meantime it is not valid to dereference nullptr.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadSameDocumentItem):

  • loader/HistoryController.cpp:

(WebCore::HistoryController::updateForCommit):
(WebCore::HistoryController::recursiveUpdateForCommit):
(WebCore::HistoryController::recursiveUpdateForSameDocumentNavigation):
(WebCore::HistoryController::setCurrentItem): Take a ptr instead of a ref.
(WebCore::HistoryController::createItem):

  • loader/HistoryController.h:
10:53 AM Changeset in webkit [186682] by jfernandez@igalia.com
  • 6 edits
    6 adds in trunk

[CSS Grid Layout] Grid item's auto-margins are not applied correctly
https://bugs.webkit.org/show_bug.cgi?id=146581

Reviewed by Darin Adler.

Source/WebCore:

Grid Layout specification states that auto-margins must prevent to apply
any Box Alignment property in that dimension. Instead, auto-margin is
applied as described in the spec.

http://dev.w3.org/csswg/css-grid/#auto-margins

Only Flexbox and Grid Layout implement vertical auto-margin alignment;
for other layout modes, auto-margin should compute as 0.

Tests: fast/css-grid-layout/grid-item-auto-margins-alignment-vertical-lr.html

fast/css-grid-layout/grid-item-auto-margins-alignment-vertical-rl.html
fast/css-grid-layout/grid-item-auto-margins-alignment.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::styleDidChange):
(WebCore::RenderBox::updateGridAlignmentAfterStyleChange):

  • rendering/RenderBox.h:
  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::layoutGridItems):
(WebCore::RenderGrid::hasAutoMarginsInColumnAxis):
(WebCore::RenderGrid::hasAutoMarginsInRowAxis):
(WebCore::RenderGrid::updateAutoMarginsInColumnAxisIfNeeded):
(WebCore::RenderGrid::rowPositionForChild):
(WebCore::RenderGrid::columnPositionForChild):

  • rendering/RenderGrid.h:

LayoutTests:

Tests to verify auto-margins alignment works as expected with grid items.

  • fast/css-grid-layout/grid-item-auto-margins-alignment-expected.txt: Added.
  • fast/css-grid-layout/grid-item-auto-margins-alignment-vertical-lr-expected.txt: Added.
  • fast/css-grid-layout/grid-item-auto-margins-alignment-vertical-lr.html: Added.
  • fast/css-grid-layout/grid-item-auto-margins-alignment-vertical-rl-expected.txt: Added.
  • fast/css-grid-layout/grid-item-auto-margins-alignment-vertical-rl.html: Added.
  • fast/css-grid-layout/grid-item-auto-margins-alignment.html: Added.
10:41 AM Changeset in webkit [186681] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Add tests for r186649
https://bugs.webkit.org/show_bug.cgi?id=146821

Patch by Alex Christensen <achristensen@webkit.org> on 2015-07-10
Reviewed by Darin Adler.

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(TestWebKitAPI::TEST_F):
(TestWebKitAPI::compareContents):
(TestWebKitAPI::expectedIndex):
Add some larger tests to test large jumps.

10:38 AM Changeset in webkit [186680] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix overloaded virtual function warning in ScrollbarThemeGtk.h
https://bugs.webkit.org/show_bug.cgi?id=145920

Reviewed by Darin Adler.

  • platform/gtk/ScrollbarThemeGtk.h:
9:34 AM Changeset in webkit [186679] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

AX: <details> element should allow expand/close through AX API
https://bugs.webkit.org/show_bug.cgi?id=146549

Apply review comments from Daniel Bates.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::setIsExpanded):

9:33 AM Changeset in webkit [186678] by jhoneycutt@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] Document picker has overlapping icons on iPad
https://bugs.webkit.org/show_bug.cgi?id=146808
<rdar://problem/21251875>

Reviewed by Sam Weinig.

  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(-[WKFileUploadPanel documentMenu:didPickDocumentPicker:]):
Don't show this UI as a popover on iPad; the default is a full screen
form sheet.

8:45 AM Changeset in webkit [186677] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

ASSERT restoring from page cache as DocumentLoader reattaches to its Frame.
<rdar://problem/21766282> and https://bugs.webkit.org/show_bug.cgi?id=146786

Reviewed by NOBODY (Fixing obvious boneheaded mistake in r186642)

No new tests (Covered by existing)

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::attachToFrame): Bail if reattaching to the current Frame,

which happens when restoring from the page cache.

8:28 AM Changeset in webkit [186676] by matthew_hanson@apple.com
  • 10 edits in tags/Safari-601.1.39/Source

Disable non-shipping features.

8:07 AM Changeset in webkit [186675] by matthew_hanson@apple.com
  • 5 edits in tags/Safari-601.1.39/Source

Un-versioning.

7:53 AM Changeset in webkit [186674] by matthew_hanson@apple.com
  • 5 edits in trunk/Source

Versioning.

7:51 AM Changeset in webkit [186673] by matthew_hanson@apple.com
  • 5 edits in tags/Safari-601.1.39/Source

Versioning.

7:37 AM Changeset in webkit [186672] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-601.1.39

New Tag.

5:39 AM Changeset in webkit [186671] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Fix typo in LayoutTests/platform/wk2/TestExpectation.
https://bugs.webkit.org/show_bug.cgi?id=146830

Unreviewed, WK2 gardening.

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-07-10

  • platform/wk2/TestExpectations:
5:33 AM Changeset in webkit [186670] by Michael Catanzaro
  • 2 edits in trunk

[GTK] ar warning when linking static libraries
https://bugs.webkit.org/show_bug.cgi?id=144988

Reviewed by Carlos Garcia Campos.

Do not use 'u' when calling ar. This argument conflicts with 'D' and is ignored if 'D' is
used, and 'D' is used by default if binutils is built with --enable-deterministic-archives.
Using 'u' with 'D' causes a warning to be printed when linking static libraries. At least
Fedora and Debian have recently both chosen to use --enable-deterministic-archives, so we
should either stop using 'u' or else add 'U' as well in order to disable deterministic
archives. Using 'U' should result in a somewhat faster build (at least when using the
Makefile generator), but it's unlikely that the difference is significant, so let's simply
remove 'u' until someone determines otherwise. This seems like a better option than adding
'U' so as not to foil distributions' attempts to perform deterministic builds. This also
aligns us with the behavior of upstream CMake (which has never used 'u'). This is a minor
behavior change on distributions that do not use --enable-deterministic-archives, notably
Arch and openSUSE.

  • Source/cmake/OptionsCommon.cmake:
5:30 AM Changeset in webkit [186669] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

Updated Swedish translation for WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=146596

Patch by Josef Andersson <josef.andersson@fripost.org> on 2015-07-10
Reviewed by Carlos Garcia Campos.

  • sv.po:
5:26 AM Changeset in webkit [186668] by loki@webkit.org
  • 2 edits in trunk/Websites/planet.webkit.org

[Planet WebKit] Update the feed url of the University of Szeged's blog.
https://bugs.webkit.org/show_bug.cgi?id=146835

Reviewed by Csaba Osztrogonác.

  • config.ini:

Jul 9, 2015:

11:05 PM Changeset in webkit [186667] by youenn.fablet@crf.canon.fr
  • 2 edits in trunk/LayoutTests

[Streams API] Fix readable-stream-tee.html
https://bugs.webkit.org/show_bug.cgi?id=146803

Reviewed by Darin Adler.

  • streams/reference-implementation/readable-stream-tee.html:
10:55 PM Changeset in webkit [186666] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Plugin create can end up destroying its renderer.
https://bugs.webkit.org/show_bug.cgi?id=146824
rdar://problem/18921429

Reviewed by Andreas Kling.

Plugins can run arbitrary code during initialization. If the plugin
happens to destroy the associated node, its renderer becomes invalid.
This patch checks whether the renderer survived the createPlugin() call.
(This WeakPtr pattern is also used in RenderWidget to avoid dangling pointers.)

Speculative fix. Not reproducible.

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::loadPlugin):

10:31 PM Changeset in webkit [186665] by commit-queue@webkit.org
  • 5 edits in trunk/Tools

Quick fix for run_benchmark script that AppKit.NSRunningApplication does not work properly
https://bugs.webkit.org/show_bug.cgi?id=146820

Patch by Dewei Zhu <Dewei Zhu> on 2015-07-09
Reviewed by Ryosuke Niwa.

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:

(OSXBrowserDriver):
(OSXBrowserDriver.close_browsers):
(OSXBrowserDriver._terminiate_processes):

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:

(OSXChromeDriver):
(OSXChromeCanaryDriver):

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:

(OSXFirefoxDriver):
(OSXFirefoxNightlyDriver):

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:

(OSXSafariDriver):

10:18 PM Changeset in webkit [186664] by mitz@apple.com
  • 18 edits in trunk/Source

Source/WebCore:
WebCore part of Track and expose policies for external URL schemes and App Links separately
https://bugs.webkit.org/show_bug.cgi?id=146822

Reviewed by Anders Carlsson.

  • loader/FrameLoaderTypes.h: Added ShouldOpenExternalURLsPolicy::ShouldAllowExternalSchemes,

meaning external schemes are allowed but App Links are not. The opposite state doesn’t
exist.

  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::contextMenuItemSelected): Opening a link in a new window
or in the current window should never open it as an App Link.

Source/WebKit2:
WebKit2 part of Track and expose policies for external URL schemes and App Links separately
https://bugs.webkit.org/show_bug.cgi?id=146822

Reviewed by Anders Carlsson.

  • Shared/NavigationActionData.cpp:

(WebKit::NavigationActionData::encode):
(WebKit::NavigationActionData::decode):

  • Shared/NavigationActionData.h: Replaced the shouldOpenExternalURLsPolicy boolean member with a shouldOpenExternalURLsPolicy member whose type is ShouldOpenExternalURLsPolicy, and updated encoding and decoding:
  • UIProcess/API/APINavigationAction.h: Added shouldOpenAppLinks boolean to NavigationAction::create and the constructor. It augments the policy in the NavigationActionData with a valude decided in the UI process. Replaced shouldOpenExternalURLs() with shouldOpenExternalSchemes() and shouldOpenAppLinks() which check the policy and the new m_shouldOpenAppLinks boolean.
  • UIProcess/API/Cocoa/WKNavigationAction.mm:

(-[WKNavigationAction _shouldOpenExternalSchemes]): Getter for new property, calls through

to the NavigationAction.

(-[WKNavigationAction _shouldOpenAppLinks]): Ditto.
(-[WKNavigationAction _shouldOpenExternalURLs]): Now deprecated and returns the

_shouldOpenExternalSchemes value.

  • UIProcess/API/Cocoa/WKNavigationActionPrivate.h: Declared new properties for the two policies and deprecated old property.
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::tryAppLink): Changed to use NavigationAction::shouldOpenAppLinks, which

encapsulates logic that used to be here.

  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::UIClient::createNewPage): Allow App Links (if already allowed by policy).

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::decidePolicyForNavigationAction): Moved logic from tryAppLink in

NavigationState.mm here and pass the result to NavigationAction::create.

(WebKit::WebPageProxy::decidePolicyForNewWindowAction): Allow App Links (if already allowed

by policy).

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::loadRequest): Changed the default policy to not allow App Links (but

still allow external schemes).

  • WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.cpp:

(WKBundleNavigationActionGetShouldTryAppLinks): Added this getter.

  • WebProcess/InjectedBundle/API/c/WKBundleNavigationActionPrivate.h:
  • WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:

(WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):

  • WebProcess/InjectedBundle/InjectedBundleNavigationAction.h: Added m_shouldTryAppLinks boolean member, initialized from the policy. Updated the initialization of m_shouldOpenExternalURLs to account for the new policy.
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Pass the policy

in the navigation data.

10:10 PM Changeset in webkit [186663] by dbates@webkit.org
  • 6 edits
    12 adds in trunk

Fetching Content Security Policy report URL should respect same origin policy
https://bugs.webkit.org/show_bug.cgi?id=146754
<rdar://problem/18860259>

Reviewed by Brady Eidson.

Inspired by Blink r149791 (by Mike West <mkwst@chromium.org>):
<https://src.chromium.org/viewvc/blink?revision=149791&view=revision>

Source/WebCore:

As per <http://www.w3.org/TR/2015/CR-CSP2-20150219/#send-violation-reports>, fetching the
Content Security Policy report URL should include cookies if and only if the origin of
the protected resource is equal to the origin of the report URL.

Tests: http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-enabled.html

http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-toggled.html
http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies.html
http/tests/security/contentSecurityPolicy/report-same-origin-no-cookies-when-private-browsing-toggled.html
http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies-when-private-browsing-enabled.html
http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies.html

  • loader/PingLoader.cpp:

(WebCore::PingLoader::sendViolationReport):

LayoutTests:

Added additional tests for private browsing mode.

  • http/tests/cookies/resources/setCookies.cgi:
  • http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-enabled-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-enabled.html: Added.
  • http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-toggled-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-toggled.html: Added.
  • http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies.html: Added.
  • http/tests/security/contentSecurityPolicy/report-same-origin-no-cookies-when-private-browsing-toggled-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/report-same-origin-no-cookies-when-private-browsing-toggled.html: Added.
  • http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies-when-private-browsing-enabled-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies-when-private-browsing-enabled.html: Added.
  • http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies.html: Added.
  • http/tests/security/contentSecurityPolicy/resources/save-report.php:
  • platform/wk2/TestExpectations: Skip private browsing mode tests in WebKit2 until we fix <https://bugs.webkit.org/show_bug.cgi?id=115274>.
8:45 PM Changeset in webkit [186662] by timothy_horton@apple.com
  • 20 edits in trunk/Source

Use CoreAnimation fences instead of synchronous IPC to synchronize resize
https://bugs.webkit.org/show_bug.cgi?id=146294
<rdar://problem/21090193>

Reviewed by Anders Carlsson.

Because of changes in underlying frameworks, we can no longer depend on
blocking the UI process main thread to be sufficient to synchronize
UI process CA commits with commits coming from the Web process.

Instead, we have to use CoreAnimation fences to perform this synchronization.
Instead of blocking inside waitForAndDispatchImmediately, we'll end up
blocking during the CA commit.

  • Platform/mac/LayerHostingContext.mm:

Use HAVE(COREANIMATION_FENCES).

  • Platform/IPC/Connection.cpp:

(IPC::Connection::Connection):
(IPC::Connection::processIncomingMessage):
(IPC::Connection::installIncomingSyncMessageCallback):
(IPC::Connection::uninstallIncomingSyncMessageCallback):
Keep track of a set of incoming sync message callbacks, and fire them
(on another queue) when a sync message arrives.

(IPC::Connection::hasIncomingSyncMessage):

  • Platform/IPC/Connection.h:

Add a way to check if there are any sync messages in the queue.

  • UIProcess/API/mac/WKView.mm:

(-[WKView forceAsyncDrawingAreaSizeUpdate:]):
(-[WKView waitForAsyncDrawingAreaSizeUpdate]):
These are no longer used; do nothing on 10.10+.

  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::sendUpdateGeometry):

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::updateGeometry):

  • WebProcess/WebPage/DrawingArea.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::scaleViewAndUpdateGeometryFenced):

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

(WebKit::RemoteLayerTreeDrawingArea::updateGeometry):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:

Add a MachSendRight parameter to UpdateGeometry, so that we can send along
a fence port with the geometry update if needed.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
Apply the incoming fence so that geometry changes will be synchronized between processes.

  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:

(WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate):
Don't wait for DidUpdateGeometry to come in if we're using fences to achieve the same thing.

(WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry):
Create and block us on a fence and send it along with the geometry update.
If a sync message is in the incoming message queue, don't create the fence;
if a sync message comes in at any point after we've installed the fence (but
before the relevant commit completes), invalidate the fence, so that we won't
end up temorarily deadlocked waiting for the fence timeout.

  • platform/cocoa/MachSendRight.h:

Export some constructors.

  • platform/spi/cocoa/QuartzCoreSPI.h:

Add some SPI.

  • wtf/Platform.h:

Add HAVE(COREANIMATION_FENCES)

5:45 PM Changeset in webkit [186661] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.8-branch/Source

Versioning.

5:44 PM Changeset in webkit [186660] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.8.2

New Tag.

5:41 PM Changeset in webkit [186659] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.8-branch/Source

Versioning.

5:40 PM Changeset in webkit [186658] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

Followup to r186647

Reviewed by NOBODY.

Thanks, EWS and commit-queue, for not catching this!

  • loader/DocumentLoader.h: Add a semi-colon.
5:31 PM Changeset in webkit [186657] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.1.4.17-branch/Source

Versioning.

5:27 PM Changeset in webkit [186656] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.1.4.17.1

New Tag.

5:20 PM Changeset in webkit [186655] by Michael Catanzaro
  • 3 edits in trunk/Tools

[GTK] pango should be included in the default jhbuild moduleset
https://bugs.webkit.org/show_bug.cgi?id=146683

Reviewed by Martin Robinson.

Recent releases of pango 1.36 use functions that are only provided by fontconfig 2.12 when
compiled against sufficiently-new versions of fontconfig. Since we depend on both pango and
fontconfig, and pango depends on fontconfig, we must either add pango to our jhbuild
moduleset or else upgrade fontconfig to a recent unstable release (knowing that we will have
the same problem again the next time pango wants to use a new fontconfig feature), or remove
fontconfig (which would make it hard to keep tests working). On the balance, adding pango is
best.

  • gtk/jhbuild-optional.modules: Remove pango
  • gtk/jhbuild.modules: Add pango and update to latest 1.36.8
5:11 PM Changeset in webkit [186654] by timothy@apple.com
  • 4 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: Storage tab should have a scope bar in the sidebar
https://bugs.webkit.org/show_bug.cgi?id=146799

Reviewed by Mark Lam.

  • Localizations/en.lproj/localizedStrings.js: Updated.
  • UserInterface/Main.html: Added StorageSidebarPanel.css.
  • UserInterface/Views/StorageSidebarPanel.css: Added.
  • UserInterface/Views/StorageSidebarPanel.js:

(WebInspector.StorageSidebarPanel):
(WebInspector.StorageSidebarPanel.prototype.hasCustomFilters):
(WebInspector.StorageSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
(WebInspector.StorageSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
(WebInspector.StorageSidebarPanel.prototype._scopeBarSelectionDidChange):

5:09 PM Changeset in webkit [186653] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit2

[GTK] Crash when spell checker returns no guesses
https://bugs.webkit.org/show_bug.cgi?id=146805

Reviewed by Martin Robinson.

Properly handle ContextMenuItemTagNoGuessesFound in the switch statement.

  • UIProcess/API/gtk/WebKitContextMenuActions.cpp:

(webkitContextMenuActionGetForContextMenuItem):

5:02 PM Changeset in webkit [186652] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

REGRESSION: Inline media scrubbing always pauses the video
https://bugs.webkit.org/show_bug.cgi?id=146819
<rdar://problem/21572027>

Reviewed by Eric Carlson. Joseph Pecoraro also was really
helpful in diagnosing the problem.

When we moved some code from a getter/setter in the child
class to the base class, it was no longer being called due
to the bad way we were implementing inheritance. The solution
was to have the child class explicitly call into the base
class.

The much better solution would have been to rewrite everything
to use ES6 classes or, as a smaller change, assign the proto
directly on the child prototype. But I felt that was a bit
too risky at this point.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.extend): Describe in a comment why the extend function
is not suitable.

  • Modules/mediacontrols/mediaControlsiOS.js: Add a getter/setter for

scrubbing that calls into the base Controller.

5:02 PM Changeset in webkit [186651] by timothy@apple.com
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Make the TabBar work better with AX
https://bugs.webkit.org/show_bug.cgi?id=146806

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/TabBar.js:

(WebInspector.TabBar): Set role to tablist and drop tabIndex.

  • UserInterface/Views/TabBarItem.js:

(WebInspector.TabBarItem): Set role to tab and tabIndex.
(WebInspector.TabBarItem.prototype.set selected): Toggle aria-selected.

4:43 PM Changeset in webkit [186650] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

AX: <details> element should allow expand/close through AX API
https://bugs.webkit.org/show_bug.cgi?id=146549

Reviewed by Mario Sanchez Prada.

Forgot this file with the original commit.

  • html/HTMLDetailsElement.cpp:

(WebCore::HTMLDetailsElement::toggleOpen):

4:33 PM Changeset in webkit [186649] by achristensen@apple.com
  • 6 edits in trunk/Source

[Content Extensions] Add 3 byte jump size.
https://bugs.webkit.org/show_bug.cgi?id=146425

Reviewed by Darin Adler.

Source/WebCore:

  • contentextensions/DFABytecode.h:

(WebCore::ContentExtensions::smallestPossibleJumpSize):

  • contentextensions/DFABytecodeCompiler.cpp:

(WebCore::ContentExtensions::appendZeroes):
(WebCore::ContentExtensions::DFABytecodeCompiler::compile):

  • contentextensions/DFABytecodeInterpreter.cpp:

(WebCore::ContentExtensions::jumpSizeInBytes):
(WebCore::ContentExtensions::getJumpSize):
(WebCore::ContentExtensions::getJumpDistance):
Added DFABytecodeJumpSize::Int24.

Source/WebKit2:

  • UIProcess/API/APIUserContentExtensionStore.h:

Increment CurrentContentExtensionFileVersion because of change in the bytecode.

4:32 PM Changeset in webkit [186648] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

SafariViewController loads partial webpage or entirely blank webpage
https://bugs.webkit.org/show_bug.cgi?id=146815
rdar://problem/21734757

Reviewed by Dan Bernstein.

  • Platform/spi/ios/UIKitSPI.h:

Add _hostProcessIdentifier getter.

  • UIProcess/ApplicationStateTracker.h:

Change ApplicationStateTracker to hold on to a WKContentView instead of a UIView.

  • UIProcess/ApplicationStateTracker.mm:

(WebKit::applicationType):
Add a helper function that returns the type of application the web view is hosted by (regular
application, view service or extension).

(WebKit::ApplicationStateTracker::ApplicationStateTracker):
Register notifications and update m_isInBackground. For regular applications, just listen for UIApplication notifications.
For view services, walk the view controller hierarchy and find the service view controller and listen for notifications and use
BKS to find the background state of the host application. For extensions, just use BKSApplicationStateMonitor directly.

(WebKit::isViewService): Deleted.

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView willMoveToWindow:]):
If we're moving out of a window, null out the state tracker.

(-[WKContentView didMoveToWindow]):
If we moved to a window, create a new state tracker.

(-[WKContentView isBackground]):
Handle a null application state.

(-[WKContentView _commonInitializationWithProcessPool:configuration:]): Deleted.
Don't create the application state here.

4:29 PM Changeset in webkit [186647] by beidson@apple.com
  • 3 edits in trunk/Source/WebCore

Add better ASSERTs to learn more about what is going wrong in DocumentLoader::detachFromFrame()
https://bugs.webkit.org/show_bug.cgi?id=146816

Reviewed by Alex Christensen.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::attachToFrame): Set the "has ever been attached" flag to true.
(WebCore::DocumentLoader::detachFromFrame): ASSERT m_frame is non-null, but with a message

depending on the value of the "has ever been attached" flag.

  • loader/DocumentLoader.h:
4:27 PM Changeset in webkit [186646] by Brent Fulgham
  • 4 edits in trunk/Source/WebCore

[Mac, iOS] The mimeTypeCache should return a reference
https://bugs.webkit.org/show_bug.cgi?id=146809

Reviewed by Eric Carlson.

No new tests: No change in functionality.

Don't copy the mime type cache every time someone asks it a question. Return
by reference instead.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::mimeTypeCache):

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

(WebCore::mimeTypeCache):

  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::mimeTypeCache):

4:21 PM Changeset in webkit [186645] by Devin Rousso
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Don't clear the console when navigating to a different page
https://bugs.webkit.org/show_bug.cgi?id=142751

Reviewed by Timothy Hatcher.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Controllers/LogManager.js:

(WebInspector.LogManager): No longer distinguishes from page refreshes and page navigations for console clearing.
(WebInspector.LogManager.prototype._delayedMessagesCleared):
(WebInspector.LogManager.prototype._mainResourceDidChange):

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype._sessionStarted):
(WebInspector.LogContentView.prototype._handleContextMenuEvent): Changed context menu keep/clear log text.
(WebInspector.LogContentView.prototype._toggleClearLogOnNavigateSetting):
(WebInspector.LogContentView.prototype._toggleClearLogOnReloadSetting): Deleted.

4:02 PM Changeset in webkit [186644] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Rubber banding is broken when using a Mighty Mouse
https://bugs.webkit.org/show_bug.cgi?id=146693

Patch by Wenson Hsieh <whsieh@berkeley.edu> on 2015-07-09
Reviewed by Tim Horton.

Source/WebCore:

Sets the "constrain content edge scrolling" flag to true by default, causing scrolling
with a Mighty Mouse to not extend beyond the container's edges.

Test: platform/mac-wk2/tiled-drawing/scrolling/stateless-scrolling-no-rubber-band.html

  • rendering/RenderLayer.cpp: Remove code that defaulted the flag to false.

(WebCore::RenderLayer::RenderLayer): Deleted.

  • rendering/RenderMarquee.cpp: Added special case for marquees that allows content to scroll.

(WebCore::RenderMarquee::RenderMarquee): See above.

LayoutTests:

  • platform/mac-wk2/tiled-drawing/scrolling/stateless-scrolling-no-rubber-band-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/scrolling/stateless-scrolling-no-rubber-band.html: Added.
3:58 PM Changeset in webkit [186643] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

SymbolTable::entryFor() should do a bounds check before indexing into the localToEntry vector.
https://bugs.webkit.org/show_bug.cgi?id=146807

Reviewed by Filip Pizlo.

When we capture an argument by name and we use "arguments", we put all of the
arguments into the scope. But destructured arguments are put into the scope
anonymously i.e. the SymbolTable knows that the scope offset is in use via
SymbolTable::m_maxScopeOffset, but that ScopeOffset won't appear in
SymbolTable::m_map.

The SymbolTable's m_localToEntry vector is synthesized from its m_map, and will
have a size which is based on the largest ScopeOffset in the m_map. If we have a
scenario where the anonymous argument is at a higher ScopeOffset than all the
named arguments, then the m_localsToEntry vector will not have an entry for it
i.e. the m_localsToEntry vector will have a size that is <= the ScopeOffset of
the anonymous argument.

Hence, SymbolTable::entryFor() should ensure that the requested ScopeOffset is
within the bounds of the m_localToEntry vector before indexing into it.

  • runtime/SymbolTable.cpp:

(JSC::SymbolTable::entryFor):

3:30 PM Changeset in webkit [186642] by beidson@apple.com
  • 4 edits in trunk/Source/WebCore

DocumentLoader::detachFromFrame() is being called with no current Frame set.
<rdar://problem/21293082> and https://bugs.webkit.org/show_bug.cgi?id=146786

Reviewed by Sam Weinig.

No new tests (Unknown how to reproduce).

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::attachToFrame):
(WebCore::DocumentLoader::detachFromFrame): Null check m_frame before dereferencing it.
(WebCore::DocumentLoader::setFrame): Deleted, renamed to attachToFrame(), and take's

a Frame& instead of a Frame*.

  • loader/DocumentLoader.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::initForSynthesizedDocument): setFrame is now attachToFrame.
(WebCore::FrameLoader::setPolicyDocumentLoader): Ditto.
(WebCore::FrameLoader::transitionToCommitted): Ditto.

3:28 PM Changeset in webkit [186641] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.8-branch/Source/WebKit2

Roll out r186559. rdar://problem/21716363

3:11 PM Changeset in webkit [186640] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Expose MediaStream methods to be used in the MediaStream Engine
https://bugs.webkit.org/show_bug.cgi?id=146791
<rdar://problem/21747589>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-09
Reviewed by Brent Fulgham.

  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::getAudioTracks): Removed const
(WebCore::MediaStream::getVideoTracks): Ditto

  • Modules/mediastream/MediaStream.h: Needed to change functions to

override

  • platform/mediastream/MediaStreamPrivate.h: Added certain calls to

PrivateClient that exposes methods to be used in the engine

3:07 PM Changeset in webkit [186639] by Devin Rousso
  • 4 edits in trunk

Web Inspector: Fix shape-highlight layout tests
https://bugs.webkit.org/show_bug.cgi?id=146080

Reviewed by Joseph Pecoraro.

Source/WebCore:

  • inspector/InspectorOverlay.cpp:

(WebCore::buildObjectForShapeOutside): Now properly returns the shape margin.

LayoutTests:

  • http/tests/inspector/dom/shapes-test.js: Updated.
3:02 PM Changeset in webkit [186638] by Lucas Forschler
  • 1 copy in branches/jsc-tailcall

New Branch.

3:00 PM Changeset in webkit [186637] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.8-branch/Source/WebCore

Merge r186508. rdar://problem/21707887

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

[Mac] AirPlay to password protected AppleTV fails
https://bugs.webkit.org/show_bug.cgi?id=146812

Reviewed by NOBODY (OOPS!).

  • Modules/mediasession/WebMediaSessionManager.cpp:

(WebCore::WebMediaSessionManager::showPlaybackTargetPicker): Initialize previouslyRequestedPicker.
(WebCore::WebMediaSessionManager::clientStateDidChange): Cleanup the logic and add a comment

to make it slightly easier to follow. Don't begin playing to a device unless playback
has just started (don't switch in mid-play).

(WebCore::WebMediaSessionManager::configurePlaybackTargetClients): Use the last client to

request the device picker as a fallback in case no other client is a canditate. Add more
logging to make it possible to debug the selection logic.

(WebCore::WebMediaSessionManager::scheduleDelayedTask): Fiddle with the logging.

2:57 PM Changeset in webkit [186635] by Devin Rousso
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Pseudo-element style ordering is wrong for pseudo-styles on unique selectors
https://bugs.webkit.org/show_bug.cgi?id=146804

Reviewed by Timothy Hatcher.

  • UserInterface/Models/CSSRule.js:

(WebInspector.CSSRule.prototype.selectorIsGreater):
Loops through the selectors in a rule to check if their specificity is greater than a given selector's specificity.

  • UserInterface/Models/CSSSelector.js:

(WebInspector.CSSSelector.prototype.isGreaterThan):
Determines if the given selector's specificity is greater than this selector's specificity.
(WebInspector.CSSSelector):

  • UserInterface/Views/RulesStyleDetailsPanel.js:

(WebInspector.RulesStyleDetailsPanel.prototype.refresh):
If the pseudo-element selector's specificity is greater than the current selector's
specificity, create the pseudo-element's section and add it before the current style.

2:54 PM Changeset in webkit [186634] by Devin Rousso
  • 7 edits in trunk/Source/WebInspectorUI

Web Inspector: Special Logs to Console that do not have an expression should be styled differently, looks like code
https://bugs.webkit.org/show_bug.cgi?id=143840

Reviewed by Timothy Hatcher.

  • UserInterface/Controllers/JavaScriptLogViewController.js:

(WebInspector.WebInspector.JavaScriptLogViewController.appendImmediateExecutionWithResult):
Now applies a class to special logs initiated by the user (log element, log object, etc).

  • UserInterface/Views/ConsoleCommandView.js:

(WebInspector.ConsoleCommandView): Added className parameter.

  • UserInterface/Views/ConsoleMessageView.css:

(.console-user-command.selected-element-log):
(.console-user-command.special-user-log > .console-message-text):

  • UserInterface/Views/DOMTreeOutline.js:

(WebInspector.DOMTreeOutline.prototype._populateContextMenu.logElement):
(WebInspector.DOMTreeOutline.prototype._populateContextMenu):

  • UserInterface/Views/ObjectPreviewView.js:

(WebInspector.ObjectPreviewView.prototype._contextMenuHandler):

  • UserInterface/Views/ObjectTreeBaseTreeElement.js:

(WebInspector.ObjectTreeBaseTreeElement.prototype._logSymbolProperty):
(WebInspector.ObjectTreeBaseTreeElement.prototype._logValue):

2:03 PM Changeset in webkit [186633] by matthew_hanson@apple.com
  • 12 edits
    1 copy in branches/safari-600.8-branch

Merge r186591. rdar://problem/21716407

2:03 PM Changeset in webkit [186632] by matthew_hanson@apple.com
  • 5 edits
    2 adds in branches/safari-600.8-branch

Merge r186577. rdar://problem/21533109

2:03 PM Changeset in webkit [186631] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.8-branch

Merge r186575. rdar://problem/21716377

2:03 PM Changeset in webkit [186630] by matthew_hanson@apple.com
  • 6 edits
    2 adds in branches/safari-600.8-branch

Merge r186571. rdar://problem/21716420

2:03 PM Changeset in webkit [186629] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.8-branch/Tools

Merge r186568. rdar://problem/21716428

2:03 PM Changeset in webkit [186628] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.8-branch/Source/WebCore

Merge r186567. rdar://problem/21716428

2:03 PM Changeset in webkit [186627] by matthew_hanson@apple.com
  • 4 edits
    2 adds in branches/safari-600.8-branch

Merge r186560. rdar://problem/21716387

2:03 PM Changeset in webkit [186626] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.8-branch/Source/WebKit2

Merge r186559. rdar://problem/21716363

2:03 PM Changeset in webkit [186625] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.8-branch/Source/WebCore

Merge r186558. rdar://problem/21716436

2:03 PM Changeset in webkit [186624] by matthew_hanson@apple.com
  • 6 edits
    4 adds in branches/safari-600.8-branch

Merge r186557. rdar://problem/21716382

2:03 PM Changeset in webkit [186623] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.8-branch/Source/WebCore

Merge r186556. rdar://problem/21716415

2:03 PM Changeset in webkit [186622] by matthew_hanson@apple.com
  • 2 edits
    1 add in branches/safari-600.8-branch/Source/JavaScriptCore

Merge r186555. rdar://problem/21716357

2:03 PM Changeset in webkit [186621] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.8-branch/Source/WebCore

Merge r186554. rdar://problem/21716400

2:02 PM Changeset in webkit [186620] by matthew_hanson@apple.com
  • 7 edits
    1 move
    3 adds in branches/safari-600.8-branch

Merge r186553. rdar://problem/21716372

2:02 PM Changeset in webkit [186619] by matthew_hanson@apple.com
  • 11 edits in branches/safari-600.8-branch

Merge r186551. rdar://problem/21716372

2:02 PM Changeset in webkit [186618] by matthew_hanson@apple.com
  • 16 edits in branches/safari-600.8-branch

Merge r186539. rdar://problem/21707873

2:02 PM Changeset in webkit [186617] by matthew_hanson@apple.com
  • 59 edits
    1 move
    60 adds
    1 delete in branches/safari-600.8-branch

Merge r186521. rdar://problem/21707887

2:02 PM Changeset in webkit [186616] by matthew_hanson@apple.com
  • 6 edits
    4 adds in branches/safari-600.8-branch

Merge r186516. rdar://problem/21707896

2:02 PM Changeset in webkit [186615] by matthew_hanson@apple.com
  • 2 edits
    1 copy in branches/safari-600.8-branch/Source/WebCore

Merge r186507. rdar://problem/21707927

2:02 PM Changeset in webkit [186614] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.8-branch/Source/WebCore

Merge r186506. rdar://problem/21707927

2:01 PM Changeset in webkit [186613] by matthew_hanson@apple.com
  • 4 edits
    6 adds in branches/safari-600.8-branch

Merge r186505. rdar://problem/21707923

2:01 PM Changeset in webkit [186612] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.8-branch

Merge r186504. rdar://problem/21707900

2:01 PM Changeset in webkit [186611] by matthew_hanson@apple.com
  • 5 edits
    2 adds in branches/safari-600.8-branch

Merge r186503. rdar://problem/21707907

2:01 PM Changeset in webkit [186610] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.8-branch

Merge r186502. rdar://problem/21707910

1:47 PM Changeset in webkit [186609] by Devin Rousso
  • 2 edits in trunk/Tools

Unreviewed. Added myself as a committer.

  • Scripts/webkitpy/common/config/contributors.json:
1:47 PM Changeset in webkit [186608] by commit-queue@webkit.org
  • 6 edits
    2 copies in trunk/Source/WebCore

Implementing platform-specific section of enumerateDevices
https://bugs.webkit.org/show_bug.cgi?id=146461
<rdar://problem/21614466>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-09
Reviewed by Darin Adler.

  • Modules/mediastream/MediaDeviceInfo.cpp: Changed access methods

(WebCore::MediaDeviceInfo::audioInputType): Added AtomicString
permanent refs
(WebCore::MediaDeviceInfo::audioOutputType): Ditto
(WebCore::MediaDeviceInfo::videoInputType): Ditto

  • Modules/mediastream/MediaDeviceInfo.h: Changed String refs to values

(WebCore::MediaDeviceInfo::label): Ditto
(WebCore::MediaDeviceInfo::deviceId): Ditto
(WebCore::MediaDeviceInfo::groupId): Ditto
(WebCore::MediaDeviceInfo::kind): Ditto

  • platform/mediastream/MediaDevicesPrivate.cpp: Implemented query for

available devices
(WebCore::MediaDevicesPrivate::MediaDevicesPrivate):
(WebCore::MediaDevicesPrivate::create):
(WebCore::MediaDevicesPrivate::availableMediaDevices):

  • platform/mediastream/MediaDevicesPrivate.h:

(WebCore::MediaDevicesPrivate::~MediaDevicesPrivate):

  • WebCore.xcodeproj/project.pbxproj:
  • platform/mediastream/MediaStreamTrackSourcesRequestClient.h: Needed

to tack on extra fields to hold data
(WebCore::TrackSourceInfo::create):
(WebCore::TrackSourceInfo::groupId):
(WebCore::TrackSourceInfo::deviceId):
(WebCore::TrackSourceInfo::TrackSourceInfo):

  • platform/mediastream/mac/AVCaptureDeviceManager.mm:

(WebCore::AVCaptureDeviceManager::getSourcesInfo):

1:37 PM Changeset in webkit [186607] by peavo@outlook.com
  • 9 edits
    1 add in trunk/Source

[Win] Add memory pressure handler.
https://bugs.webkit.org/show_bug.cgi?id=146685

Reviewed by Brent Fulgham.

Source/WebCore:

Add memory pressure handler implementation on Windows.
We check the memory usage at regular intervals with a timer.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • platform/MemoryPressureHandler.cpp:

(WebCore::MemoryPressureHandler::releaseMemory):
(WebCore::MemoryPressureHandler::install):
(WebCore::MemoryPressureHandler::uninstall):
(WebCore::MemoryPressureHandler::holdOff):

  • platform/win/MemoryPressureHandlerWin.cpp: Added.

(WebCore::CheckMemoryTimer::CheckMemoryTimer):
(WebCore::CheckMemoryTimer::fired):
(WebCore::CheckMemoryTimer::handleMemoryLow):
(WebCore::MemoryPressureHandler::platformReleaseMemory):
(WebCore::memCheckTimer):
(WebCore::MemoryPressureHandler::install):
(WebCore::MemoryPressureHandler::uninstall):
(WebCore::MemoryPressureHandler::holdOff):
(WebCore::MemoryPressureHandler::respondToMemoryPressure):
(WebCore::MemoryPressureHandler::ReliefLogger::platformMemoryUsage):
(WebCore::MemoryPressureHandler::ReliefLogger::platformLog):

  • platform/win/Win32Handle.h:

(WebCore::Win32Handle::operator=):

Source/WebKit:

  • WebKit.vcxproj/WebKit/WebKitCommon.props: Link with process api library.

Source/WebKit/win:

  • WebView.cpp:

(WebView::initWithFrame): Install memory pressure handler.

1:24 PM Changeset in webkit [186606] by msaboff@apple.com
  • 3 edits
    2 adds in trunk

REGRESSION (r180248): Repro Crash: com.apple.WebKit.WebContent at com.apple.JavaScriptCore: JSC::createRangeError + 20
https://bugs.webkit.org/show_bug.cgi?id=146767

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

If the stack check fails at the top most frame, we must use that frame to
generate the exception. Reverted the code to always use the current frame to
throw an out of stack exception.

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

LayoutTests:

New test that generates a call to a function that involves creating a huge
object literal that exceeds the available stack space.

  • http/tests/misc/large-js-program-expected.txt: Added.
  • http/tests/misc/large-js-program.php: Added.
12:43 PM Changeset in webkit [186605] by fpizlo@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

OSR exit fuzzing should allow us to select a static exit site
https://bugs.webkit.org/show_bug.cgi?id=146601

Reviewed by Geoffrey Garen.

The original implementation of the fuzzer allows us to trigger an exit based on its index
in the dynamic sequence of exit sites encountered. But there are usually millions of
dynamically encountered exit sites, even if the program only has thousands of static exit
sites. That means that we would at best be able to do a random sampling of exits, and
those would be biased to the hottest exit sites.

This change allows us to also select exit sites based on their index in the static
sequence of exit sites that the compiler compiled. Then, once that static exit site is
selected, we can select which dynamic exit at that exit site we should trigger. Since the
number of static exit sites is usually smallish (it's bounded by program size), we can do
an exhaustive search over all exit sites in most programs.

  • dfg/DFGOSRExitFuzz.cpp:

(JSC::numberOfStaticOSRExitFuzzChecks):
(JSC::numberOfOSRExitFuzzChecks):

  • dfg/DFGOSRExitFuzz.h:

(JSC::DFG::doOSRExitFuzzing):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::emitOSRExitFuzzCheck):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExit):

  • jsc.cpp:

(jscmain):

  • runtime/Options.h:
  • runtime/TestRunnerUtils.h:
12:31 PM Changeset in webkit [186604] by timothy_horton@apple.com
  • 9 edits in trunk/Tools

Add a way to set the default URL from Minibrowser UI
https://bugs.webkit.org/show_bug.cgi?id=146780

Reviewed by Simon Fraser.

  • MiniBrowser/mac/AppDelegate.m:

(-[BrowserAppDelegate didChangeSettings]):

  • MiniBrowser/mac/BrowserWindowController.h:
  • MiniBrowser/mac/BrowserWindowController.m:

(-[BrowserWindowController fetch:]):
(-[BrowserWindowController reload:]):
(-[BrowserWindowController forceRepaint:]):
(-[BrowserWindowController goBack:]):
(-[BrowserWindowController goForward:]):
(-[BrowserWindowController showHideWebView:]):
(-[BrowserWindowController removeReinsertWebView:]):
(-[BrowserWindowController zoomIn:]):
(-[BrowserWindowController zoomOut:]):
(-[BrowserWindowController resetZoom:]):
(-[BrowserWindowController canZoomIn]):
(-[BrowserWindowController canZoomOut]):
(-[BrowserWindowController canResetZoom]):
(-[BrowserWindowController toggleZoomMode:]):
(-[BrowserWindowController setScale:]):
(-[BrowserWindowController toggleShrinkToFit:]):
(-[BrowserWindowController dumpSourceToConsole:]):
(-[BrowserWindowController find:]):
(-[BrowserWindowController didChangeSettings]):
(-[BrowserWindowController currentURL]):
Get rid of the BrowserController protocol. It was a bad idea and confused
Interface Builder more than I thought possible.

  • MiniBrowser/mac/SettingsController.m:

(-[SettingsController _populateMenu]):
(-[SettingsController setDefaultURLToCurrentURL:]):
If we have a BrowserWindowController, grab its URL and set the relevant default.

  • MiniBrowser/mac/WK1BrowserWindowController.h:
  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController currentURL]):

  • MiniBrowser/mac/WK2BrowserWindowController.h:
  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController currentURL]):
Retrieve the current URL from the WKView/WebView.

12:30 PM Changeset in webkit [186603] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Increase MiniBrowser location bar maximum width
https://bugs.webkit.org/show_bug.cgi?id=146779

Reviewed by Simon Fraser.

  • MiniBrowser/mac/BrowserWindow.xib:

Have an enormous maximum width on the location bar, so that it doesn't
stop expanding with the window at 800px.

12:25 PM Changeset in webkit [186602] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Checkbox disappears when unchecking CSS background style
https://bugs.webkit.org/show_bug.cgi?id=146776

Reviewed by Timothy Hatcher.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers.update):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): Now uses _createCommentedCheckboxMarker.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createCommentedCheckboxMarker):
Scans the content of the given lineHandle for any commented text and adds an unselected checkbox to
the beginning of that lineHandle's line.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): Now adds commented checkbox markers.

12:16 PM Changeset in webkit [186601] by Nikita Vasilyev
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Align slider knobs in the color picker
https://bugs.webkit.org/show_bug.cgi?id=146778

Also:

  • Use half pixel borders on retina
  • Remove one pixel white outline to match native OS X color picker more closely

Reviewed by Timothy Hatcher.

  • UserInterface/Views/ColorPicker.css:

(.color-picker > .slider > img):

  • UserInterface/Views/Slider.css:

(.slider):
(@media (-webkit-min-device-pixel-ratio: 2)):

11:48 AM Changeset in webkit [186600] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Exposed AVVideoCaptureSource's bounds
https://bugs.webkit.org/show_bug.cgi?id=146760
<rdar://problem/21736772>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-09
Reviewed by Brent Fulgham.

  • platform/mediastream/mac/AVVideoCaptureSource.h:

(WebCore::AVVideoCaptureSource::width): Needed access to video width
(WebCore::AVVideoCaptureSource::height): Needed access to video height

11:40 AM Changeset in webkit [186599] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

[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.

11:38 AM Changeset in webkit [186598] by Chris Fleizach
  • 9 edits in trunk

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:
11:36 AM Changeset in webkit [186597] by achristensen@apple.com
  • 6 edits
    3 copies
    1 add in trunk

[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.
11:34 AM Changeset in webkit [186596] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Skip canvas/philip/tests/2d.text.draw.fontface.notinpage.html
https://bugs.webkit.org/show_bug.cgi?id=146795

  • platform/win/TestExpectations:
11:16 AM Changeset in webkit [186595] by Chris Fleizach
  • 2 edits in trunk/LayoutTests

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:
11:09 AM Changeset in webkit [186594] by Brent Fulgham
  • 4 edits in trunk/Source/WebCore

[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.

9:26 AM Changeset in webkit [186593] by mrajca@apple.com
  • 5 edits in trunk/Source/WebCore

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:
8:27 AM Changeset in webkit [186592] by Darin Adler
  • 3 edits in trunk/Source/WebCore

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.
7:41 AM Changeset in webkit [186591] by ddkilzer@apple.com
  • 12 edits
    1 copy in branches/safari-600.1.4.17-branch

Merged r184151, and a small part of r183813. rdar://problem/21716549

1:58 AM Changeset in webkit [186590] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

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.

1:03 AM Changeset in webkit [186589] by Matt Baker
  • 3 edits in trunk/Source/WebInspectorUI

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.

12:35 AM Changeset in webkit [186588] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

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.

12:31 AM Changeset in webkit [186587] by Chris Fleizach
  • 4 edits
    2 adds in trunk

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.
12:01 AM Changeset in webkit [186586] by mitz@apple.com
  • 5 edits in trunk/Source/WebKit2

[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.

Jul 8, 2015:

11:41 PM Changeset in webkit [186585] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

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.

11:04 PM Changeset in webkit [186584] by commit-queue@webkit.org
  • 6 edits in trunk

Fix grammar issue in TypeError attempting to change an unconfigurable property
https://bugs.webkit.org/show_bug.cgi?id=146774

Patch by Joseph Pecoraro <Joseph Pecoraro> 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:
11:01 PM Changeset in webkit [186583] by jinwoo7.song@samsung.com
  • 2 edits in trunk/Source/WebKit2

[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):

10:52 PM Changeset in webkit [186582] by dbates@webkit.org
  • 3 edits in trunk/LayoutTests

[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:
10:50 PM Changeset in webkit [186581] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[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:
10:47 PM Changeset in webkit [186580] by timothy@apple.com
  • 7 edits
    4 adds in trunk/Source/WebInspectorUI

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):

9:47 PM Changeset in webkit [186579] by beidson@apple.com
  • 4 edits
    1 add in trunk

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):

9:31 PM Changeset in webkit [186578] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit/win

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):

9:31 PM Changeset in webkit [186577] by Lucas Forschler
  • 5 edits
    2 copies in branches/safari-600.1.4.17-branch

Merged r186165. rdar://problem/21533207

9:20 PM Changeset in webkit [186576] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

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).

9:19 PM Changeset in webkit [186575] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-600.1.4.17-branch

Merged r185665. rdar://problem/21716515

9:10 PM Changeset in webkit [186574] by dbates@webkit.org
  • 5 edits in trunk/Source/WebCore

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):

8:55 PM Changeset in webkit [186573] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

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

8:51 PM Changeset in webkit [186572] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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

8:37 PM Changeset in webkit [186571] by Lucas Forschler
  • 6 edits
    2 copies in branches/safari-600.1.4.17-branch

Merged r185392. rdar://problem/21716560

8:33 PM Changeset in webkit [186570] by commit-queue@webkit.org
  • 4 edits in trunk

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):

8:28 PM Changeset in webkit [186569] by akling@apple.com
  • 6 edits in trunk

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:
8:01 PM Changeset in webkit [186568] by Lucas Forschler
  • 2 edits in branches/safari-600.1.4.17-branch/Tools

Merged r184975. rdar://problem/21716564

7:52 PM Changeset in webkit [186567] by Lucas Forschler
  • 2 edits in branches/safari-600.1.4.17-branch/Source/WebCore

Merged r184965. rdar://problem/21716564

7:31 PM Changeset in webkit [186566] by Gyuyoung Kim
  • 90 edits in trunk/Source

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):

7:27 PM Changeset in webkit [186565] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

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>

7:23 PM Changeset in webkit [186564] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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

6:22 PM Changeset in webkit [186563] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

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

6:17 PM Changeset in webkit [186562] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

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.
6:14 PM Changeset in webkit [186561] by timothy@apple.com
  • 3 edits in trunk/Source/WebInspectorUI

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):

6:03 PM Changeset in webkit [186560] by matthew_hanson@apple.com
  • 4 edits
    2 adds in branches/safari-600.1.4.17-branch

Merge r184653. rdar://problem/21716528

6:03 PM Changeset in webkit [186559] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.1.4.17-branch/Source/WebKit2

Merge r183861. rdar://problem/21716677

6:03 PM Changeset in webkit [186558] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.1.4.17-branch/Source/WebCore

Merge r183838. rdar://problem/21716569

6:03 PM Changeset in webkit [186557] by matthew_hanson@apple.com
  • 6 edits
    4 adds in branches/safari-600.1.4.17-branch

Merge r183436. rdar://problem/21716524

6:03 PM Changeset in webkit [186556] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.1.4.17-branch/Source/WebCore

Merge r183398. rdar://problem/21716555

6:03 PM Changeset in webkit [186555] by matthew_hanson@apple.com
  • 2 edits
    1 add in branches/safari-600.1.4.17-branch/Source/JavaScriptCore

Merge r183128. rdar://problem/21716620

6:03 PM Changeset in webkit [186554] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.1.4.17-branch/Source/WebCore

Merge r182918. rdar://problem/21716544

6:03 PM Changeset in webkit [186553] by matthew_hanson@apple.com
  • 7 edits
    1 move
    3 adds in branches/safari-600.1.4.17-branch

Merge r182829. rdar://problem/21716511

6:03 PM Changeset in webkit [186552] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.1.4.17-branch/Source/WebCore

Merge r180280. rdar://problem/21716555

6:03 PM Changeset in webkit [186551] by matthew_hanson@apple.com
  • 11 edits in branches/safari-600.1.4.17-branch

Merge r180020. rdar://problem/21716511

5:52 PM Changeset in webkit [186550] by benjamin@webkit.org
  • 5 edits
    6 adds in trunk

[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.
5:41 PM Changeset in webkit [186549] by dburkart@apple.com
  • 1 copy in tags/Safari-600.8.1

Tag for submission.

5:41 PM Changeset in webkit [186548] by dburkart@apple.com
  • 1 delete in tags/Safari-600.8.1

Removing erroneous tag so we can re-tag.

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

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:
5:19 PM Changeset in webkit [186546] by akling@apple.com
  • 3 edits in trunk/Source/WebKit2

[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):

5:17 PM Changeset in webkit [186545] by commit-queue@webkit.org
  • 6 edits in trunk/LayoutTests

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.
5:16 PM Changeset in webkit [186544] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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

5:11 PM Changeset in webkit [186543] by dino@apple.com
  • 4 edits in trunk/Source/WebCore

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.

5:04 PM Changeset in webkit [186542] by beidson@apple.com
  • 4 edits in trunk/LayoutTests

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:
4:56 PM Changeset in webkit [186541] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

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.
4:54 PM Changeset in webkit [186540] by timothy@apple.com
  • 4 edits in trunk/Source/WebInspectorUI

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.

4:50 PM Changeset in webkit [186539] by Lucas Forschler
  • 16 edits in branches/safari-600.1.4.17-branch

Merged r186232. rdar://problem/9091261

4:46 PM Changeset in webkit [186538] by mrajca@apple.com
  • 9 edits in trunk/Source

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:
4:46 PM Changeset in webkit [186537] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

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.

4:44 PM Changeset in webkit [186536] by Devin Rousso
  • 10 edits in trunk/Source/WebInspectorUI

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.

4:43 PM Changeset in webkit [186535] by mrajca@apple.com
  • 4 edits in trunk/Source/WebKit2

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:
4:40 PM Changeset in webkit [186534] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

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:]):

4:06 PM Changeset in webkit [186533] by Lucas Forschler
  • 8 edits in branches/safari-600.1.4.17-branch/Source/WebCore

Merge change for rdar://problem/21533232

2015-07-08 Zalan Bujtas <Alan Bujtas>

Do not crash when the descendant frame tree is destroyed during layout.
https://bugs.webkit.org/show_bug.cgi?id=144540
rdar://problem/20793184

Reviewed by Andreas Kling.

Widget::setFrameRect(), through WebHTMLView layout, could trigger a style recalc, which in turn
could initiate an onBeforeLoad callback.
If javascript happens to destroy the current iframe in the onBeforeLoad callback, we lose the descendant
render tree, including the child FrameView (the iframe element's view). However the RenderIFrame
object stays protected until after the layout is done. (see protectRenderWidgetUntilLayoutIsDone())

Climbing back on the callstack, we need to make sure that

  1. the root widget of the descendant render tree (FrameView) stays valid as long as it is needed.
  2. RenderFrameBase::layoutWithFlattening() can handle the case when the associated widget (child FrameView) is set to nullptr. (see RenderWidget::willBeDestroyed() -> setWidget(nullptr))

(and later, when layout is finished this (RenderIFrame) object gets destroyed too.)

Covered by fast/frames/flattening/crash-remove-iframe-during-object-beforeload.html.

  • page/FrameView.cpp: (WebCore::FrameView::setFrameRect): (WebCore::FrameView::updateEmbeddedObject): (WebCore::FrameView::updateWidgetPositions):
  • platform/ScrollView.cpp: (WebCore::ScrollView::setFrameRect):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::setFrameRect):
  • rendering/RenderFrameBase.cpp: (WebCore::RenderFrameBase::layoutWithFlattening): (WebCore::RenderFrameBase::childRenderView): (WebCore::RenderFrameBase::peformLayoutWithFlattening):
  • rendering/RenderFrameBase.h:
  • rendering/RenderWidget.cpp: (WebCore::RenderWidget::updateWidgetPosition):
  • rendering/RenderWidget.h:
4:03 PM Changeset in webkit [186532] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

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.

4:02 PM Changeset in webkit [186531] by aestes@apple.com
  • 6 edits in trunk/Source/WebKit2

[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.

3:53 PM Changeset in webkit [186530] by beidson@apple.com
  • 12 edits
    1 add in trunk/Source

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:
3:49 PM Changeset in webkit [186529] by dburkart@apple.com
  • 1 copy in tags/Safari-600.8.1

Tagging for submission.

2:38 PM Changeset in webkit [186528] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

Add new sources to StyleAllInOne.cpp
https://bugs.webkit.org/show_bug.cgi?id=146584

Patch by Csaba Osztrogonác <Csaba Osztrogonác> on 2015-07-08
Reviewed by Brent Fulgham.

  • WebCore.vcxproj/WebCore.vcxproj:
  • rendering/style/StyleAllInOne.cpp:
2:15 PM Changeset in webkit [186527] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

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:]):

2:11 PM Changeset in webkit [186526] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

Add new sources to DOMAllInOne.cpp
https://bugs.webkit.org/show_bug.cgi?id=146587

Patch by Csaba Osztrogonác <Csaba Osztrogonác> on 2015-07-08
Reviewed by Brent Fulgham.

  • WebCore.vcxproj/WebCore.vcxproj:
  • dom/DOMAllInOne.cpp:
1:49 PM Changeset in webkit [186525] by Brent Fulgham
  • 4 edits in trunk/Source/WebCore

Add new sources to AccessibilityAllInOne.cpp
https://bugs.webkit.org/show_bug.cgi?id=146582

Patch by Csaba Osztrogonác <Csaba Osztrogonác> on 2015-07-08
Reviewed by Brent Fulgham.

  • WebCore.vcxproj/WebCore.vcxproj:
  • accessibility/AccessibilityAllInOne.cpp:
1:40 PM Changeset in webkit [186524] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

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.

1:36 PM Changeset in webkit [186523] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

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.

1:20 PM Changeset in webkit [186522] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

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):

1:09 PM Changeset in webkit [186521] by dbates@webkit.org
  • 59 edits
    1 move
    60 adds
    1 delete in branches/safari-600.1.4.17-branch

Merge r186388. rdar://problem/21708243

2015-07-06 Daniel Bates <dabates@apple.com>

Isolated worlds should respect Content Security Policy; User Agent Shadow DOM
should be exempt from Content Security Policy
https://bugs.webkit.org/show_bug.cgi?id=144830
<rdar://problem/18860261>

Reviewed by Geoffrey Garen.

Source/WebCore:

Make scripts that run in an isolated world be subject to the Content Security Policy (CSP) of the page
and exempt features implemented using a user agent shadow DOM. As a side effect of this change,
Safari Content Extensions will respect the CSP policy of the page when loading subresources (e.g. an image).

Tests: http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-audio.html

http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-css-background.html
http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-css-cursor.html
http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-css-filter-on-image.html
http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-css-webkit-image-set.html
http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-embed-plugin.html
http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-external-script.html
http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-iframe.html
http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-image-after-redirect.html
http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-image.html
http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-inline-script.html
http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-inline-style.html
http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-inline-stylesheet.html
http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-object-plugin.html
http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-object.html
http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-svg-feimage-element.html
http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-svg-font.html
http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-svg-use-element.html
http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-track.html
http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-video.html
http/tests/security/contentSecurityPolicy/userAgentShadowDOM/block-loading-user-agent-image-from-non-user-agent-content.html
http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-allowed.html
http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked.html
http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked2.html
http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked3.html
http/tests/security/contentSecurityPolicy/userAgentShadowDOM/video-controls-allowed.html
http/tests/security/isolatedWorld/image-load-should-not-bypass-main-world-csp.html

  • Modules/websockets/WebSocket.cpp: (WebCore::WebSocket::connect): Pass shouldBypassMainWorldContentSecurityPolicy to ContentSecurityPolicy::allowConnectToSource().
  • css/CSSCanvasValue.h: (WebCore::CSSCanvasValue::loadSubimages): Modified to take argument ResourceLoaderOptions (unused).
  • css/CSSCrossfadeValue.cpp: (WebCore::CSSCrossfadeValue::fixedSize): Explicitly instantiate default ResourceLoaderOptions and pass pass it when requesting a cached image. Added FIXME comment to skip Content Security Policy check when the cross fade is applied to an element in a user agent shadow tree. (WebCore::CSSCrossfadeValue::loadSubimages): Take a ResourceLoaderOptions as an argument and passes it as appropriate. (WebCore::CSSCrossfadeValue::image): Explicitly instantiate default ResourceLoaderOptions and pass it when requesting a cached image. Added FIXME comment to skip Content Security Policy check when the cross fade is applied to an element in a user agent shadow tree.
  • css/CSSCrossfadeValue.h:
  • css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::cachedImage): Take a ResourceLoaderOptions as an argument and passes it as appropriate.
  • css/CSSCursorImageValue.h:
  • css/CSSFilterImageValue.cpp: (WebCore::CSSFilterImageValue::fixedSize): Explicitly instantiate default ResourceLoaderOptions and pass pass it when requesting a cached image. Added FIXME comment to skip Content Security Policy check when the cross fade is applied to an element in a user agent shadow tree. (WebCore::CSSFilterImageValue::loadSubimages): Take a ResourceLoaderOptions as an argument and passes it as appropriate. (WebCore::CSSFilterImageValue::loadSubimages): Explicitly instantiate default ResourceLoaderOptions and pass pass it when requesting a cached image. Added FIXME comment to skip Content Security Policy check when the cross fade is applied to an element in a user agent shadow tree. (WebCore::CSSFilterImageValue::image):
  • css/CSSFilterImageValue.h:
  • css/CSSFontFaceSrcValue.cpp: (WebCore::CSSFontFaceSrcValue::cachedFont): Take a boolean, isInitiatingElementInUserAgentShadowTree, so as to determine the appropriate CSP imposition. In particular, we skip the CSP check when the initiating element (e.g. SVG font-face element) is in a user agent shadow tree.
  • css/CSSFontFaceSrcValue.h:
  • css/CSSFontSelector.cpp: (WebCore::CSSFontSelector::addFontFaceRule): Take a boolean, isInitiatingElementInUserAgentShadowTree, and passes it as appropriate.
  • css/CSSFontSelector.h:
  • css/CSSGradientValue.h: (WebCore::CSSGradientValue::loadSubimages): Take a ResourceLoaderOptions as an argument and passes it as appropriate.
  • css/CSSImageGeneratorValue.cpp: (WebCore::CSSImageGeneratorValue::loadSubimages): Ditto. (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue): Ditto.
  • css/CSSImageGeneratorValue.h:
  • css/CSSImageSetValue.cpp: (WebCore::CSSImageSetValue::cachedImageSet): Deleted.
  • css/CSSImageSetValue.h:
  • css/CSSImageValue.cpp: (WebCore::CSSImageValue::cachedImage): Deleted.
  • css/CSSImageValue.h:
  • css/RuleSet.cpp: (WebCore::RuleSet::addChildRules): Take a boolean, isInitiatingElementInUserAgentShadowTree, and passes it as appropriate. (WebCore::RuleSet::addRulesFromSheet): Added FIXME comment to skip Content Security Policy check when when stylesheet is in a user agent shadow tree.
  • css/RuleSet.h:
  • css/StyleResolver.cpp: (WebCore::StyleResolver::StyleResolver): Determine whether the SVG font-face element is in a user agent shadow tree and pass the appropriate value when calling CSSFontSelector::addFontFaceRule(). Also, modernized code; used C++11 range -based for-loop instead of const_iterator idiom. (WebCore::StyleResolver::loadPendingSVGDocuments): Skip CSP check when requesting subresources as a byproduct of resolving style for an element in a user agent shadow tree. (WebCore::StyleResolver::loadPendingImage): Ditto. (WebCore::StyleResolver::loadPendingShapeImage): Ditto.
  • css/StyleRuleImport.cpp: (WebCore::StyleRuleImport::requestStyleSheet): Added FIXME comment to skip Content Security Policy check when when stylesheet is in a user agent shadow tree.
  • dom/Element.h:
  • dom/InlineStyleSheetOwner.cpp: (WebCore::InlineStyleSheetOwner::createSheet): Skip CSP check for an inline <style> that is in a user agent shadow tree.
  • dom/Node.cpp: (WebCore::Node::isInUserAgentShadowTree): Added.
  • dom/Node.h:
  • dom/ScriptElement.cpp: (WebCore::ScriptElement::requestScript): Skip CSP check for an external JavaScript script in a user agent shadow tree. (WebCore::ScriptElement::executeScript): Skip CSP check for an inline JavaScript script that is in a user agent shadow tree.
  • dom/StyledElement.cpp: (WebCore::StyledElement::styleAttributeChanged): Skip CSP check when modifying the inline style of an element in a user agent shadow tree.
  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::isSafeToLoadURL): Skip CSP check for a <audio>, <video> in a user agent shadow tree. (WebCore::HTMLMediaElement::outOfBandTrackSources): Ditto.
  • html/HTMLTrackElement.cpp: (WebCore::HTMLTrackElement::canLoadURL): Ditto.
  • html/track/LoadableTextTrack.cpp: (WebCore::LoadableTextTrack::loadTimerFired): Determine whether the <track> is in a user agent shadow tree and pass the appropriate value when calling TextTrackLoader::load().
  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::startLoadingMainResource): Do CSP check when loading a resource by default.
  • loader/ImageLoader.cpp: (WebCore::ImageLoader::updateFromElement): Skip CSP check for an image that is in a user agent shadow tree.
  • loader/MediaResourceLoader.cpp: (WebCore::MediaResourceLoader::start): Instantiate ResourceLoaderOptions passing placeholder value ContentSecurityPolicyImposition::DoPolicyCheck. This value does not affect the request because we do not check the Content Security Policy for raw resource requests.
  • loader/NetscapePlugInStreamLoader.cpp: (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader): Added FIXME comment to skip Content Security Policy check when when associated plugin element is in a user agent shadow tree.
  • loader/PolicyChecker.cpp: (WebCore::PolicyChecker::checkNavigationPolicy): Skip CSP check for a <iframe> in a user agent shadow tree.
  • loader/ResourceLoaderOptions.h: Defined enum class ContentSecurityPolicyImposition with explicit type uint8_t so as to provide a hint to the compiler (for better packing) when it computes the memory layout for struct that contains an instance of this class. (WebCore::ResourceLoaderOptions::ResourceLoaderOptions): Added argument contentSecurityPolicyImposition. (WebCore::ResourceLoaderOptions::contentSecurityPolicyImposition): Added. (WebCore::ResourceLoaderOptions::setContentSecurityPolicyImposition): Added.
  • loader/SubframeLoader.cpp: (WebCore::SubframeLoader::pluginIsLoadable): Skip CSP check for a plugin element that is in a user agent shadow tree. (WebCore::SubframeLoader::createJavaAppletWidget): Skip CSP check for an applet element that is in a user agent shadow tree.
  • loader/TextTrackLoader.cpp: (WebCore::TextTrackLoader::load): Take a boolean, isInitiatingElementInUserAgentShadowTree, and sets the appropriate Content Security Policy imposition for the text track request.
  • loader/TextTrackLoader.h:
  • loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): Skip CSP check for a user-specified stylesheet. (WebCore::CachedResourceLoader::canRequest): Only check the CSP of the page if specified in the resource loader options for the request. (WebCore::CachedResourceLoader::defaultCachedResourceOptions): Add ContentSecurityPolicyImposition::DoPolicyCheck to the default resource loader options so that do check the CSP policy of the page before performing a resource request by default.
  • loader/cache/CachedSVGDocumentReference.cpp: (WebCore::CachedSVGDocumentReference::load): Take a ResourceLoaderOptions as an argument and passes it as appropriate.
  • loader/cache/CachedSVGDocumentReference.h:
  • loader/icon/IconLoader.cpp: (WebCore::IconLoader::startLoading): Instantiate ResourceLoaderOptions passing placeholder value ContentSecurityPolicyImposition::DoPolicyCheck. This value does not affect the request because we do not check the Content Security Policy for raw resource requests.
  • page/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowJavaScriptURLs): Take an argument called overrideContentSecurityPolicy (defaults to false). When overrideContentSecurityPolicy := true, this function unconditionally returns true. (WebCore::ContentSecurityPolicy::allowInlineEventHandlers): Ditto. (WebCore::ContentSecurityPolicy::allowInlineScript): Ditto. (WebCore::ContentSecurityPolicy::allowInlineStyle): Ditto. (WebCore::ContentSecurityPolicy::allowEval): Ditto. (WebCore::ContentSecurityPolicy::allowPluginType): Ditto. (WebCore::ContentSecurityPolicy::allowScriptFromSource): Ditto. (WebCore::ContentSecurityPolicy::allowObjectFromSource): Ditto. (WebCore::ContentSecurityPolicy::allowChildFrameFromSource): Ditto. (WebCore::ContentSecurityPolicy::allowImageFromSource): Ditto. (WebCore::ContentSecurityPolicy::allowStyleFromSource): Ditto. (WebCore::ContentSecurityPolicy::allowFontFromSource): Ditto. (WebCore::ContentSecurityPolicy::allowMediaFromSource): Ditto. (WebCore::ContentSecurityPolicy::allowConnectToSource): Ditto. (WebCore::ContentSecurityPolicy::allowFormAction): Ditto. (WebCore::ContentSecurityPolicy::allowBaseURI): Ditto.
  • page/ContentSecurityPolicy.h:
  • page/DOMSecurityPolicy.cpp:
  • page/EventSource.cpp: (WebCore::EventSource::create): Pass shouldBypassMainWorldContentSecurityPolicy to ContentSecurityPolicy::allowConnectToSource().
  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm: (WebCore::WebCoreAVFResourceLoader::startLoading): Instantiate ResourceLoaderOptions passing placeholder value ContentSecurityPolicyImposition::DoPolicyCheck. This value does not affect the request because we do not check the Content Security Policy for raw resource requests.
  • svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::requestImageResource): Skip CSP check for a SVG FEImage element in a user agent shadow tree.
  • svg/SVGFontFaceUriElement.cpp: (WebCore::SVGFontFaceUriElement::loadFont): Skip CSP check for a SVG font-face-uri element in a user agent shadow tree.
  • svg/SVGUseElement.cpp: (WebCore::SVGUseElement::updateExternalDocument): Skip CSP check for a SVG use element in a user agent shadow tree.
  • testing/Internals.cpp: (WebCore::Internals::ensureUserAgentShadowRoot): Added.
  • testing/Internals.h:
  • testing/Internals.idl: Added declaration for ensureUserAgentShadowRoot().
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::open): Pass shouldBypassMainWorldContentSecurityPolicy to ContentSecurityPolicy::allowConnectToSource().

LayoutTests:

Add tests to ensure that we exempt nodes in a user agent shadow tree from the Content Security Policy (CSP) of the page.

Updated test LayoutTests/http/tests/security/isolatedWorld/bypass-main-world-csp.html to ensure that
we do not bypass the CSP of the page for a script that executes in an isolated world and renamed the
file image-load-should-not-bypass-main-world-csp.html.

  • http/tests/security/contentSecurityPolicy/resources/alert-pass-and-notify-done.js: Added.
  • http/tests/security/contentSecurityPolicy/resources/wait-until-done.js: Added. (alertAndDone):
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-audio-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-audio.html: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-css-background-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-css-background.html: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-css-cursor-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-css-cursor.html: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-css-filter-on-image-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-css-filter-on-image.html: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-css-webkit-image-set-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-css-webkit-image-set.html: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-embed-plugin-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-embed-plugin.html: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-external-script-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-external-script.html: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-iframe-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-iframe.html: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-image-after-redirect-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-image-after-redirect.html: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-image-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-image.html: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-inline-script-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-inline-script.html: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-inline-style-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-inline-style.html: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-inline-stylesheet-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-inline-stylesheet.html: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-object-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-object-plugin-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-object-plugin.html: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-object.html: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-svg-feimage-element-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-svg-feimage-element.html: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-svg-font-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-svg-font.html: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-svg-use-element-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-svg-use-element.html: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-track-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-track.html: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-video-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-video.html: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/block-loading-user-agent-image-from-non-user-agent-content-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/block-loading-user-agent-image-from-non-user-agent-content.html: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-allowed-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-allowed.html: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked.html: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked2-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked2.html: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked3-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked3.html: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/resources/ABCFont.svg: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/resources/allow-inline-script.js: Added. (window.onload): (testPassed):
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/resources/floodGreenFilter.svg: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/video-controls-allowed-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/video-controls-allowed.html: Added.
  • http/tests/security/isolatedWorld/image-load-should-not-bypass-main-world-csp-expected.txt: Renamed from LayoutTests/http/tests/security/isolatedWorld/bypass-main-world-csp-expected.txt.
  • http/tests/security/isolatedWorld/image-load-should-not-bypass-main-world-csp.html: Renamed from LayoutTests/http/tests/security/isolatedWorld/bypass-main-world-csp.html.
12:27 PM Changeset in webkit [186520] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

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.

11:54 AM Changeset in webkit [186519] by eric.carlson@apple.com
  • 5 edits in trunk/Source/WebCore

[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.

11:52 AM Changeset in webkit [186518] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

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.

11:36 AM Changeset in webkit [186517] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

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.

11:34 AM Changeset in webkit [186516] by Chris Dumez
  • 6 edits
    4 adds in branches/safari-600.1.4.17-branch

Merge r185435. rdar://problem/21708253

10:58 AM Changeset in webkit [186515] by Beth Dakin
  • 6 edits in trunk/Source/WebKit2

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:]):

10:48 AM Changeset in webkit [186514] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

<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.

10:31 AM Changeset in webkit [186513] by clopez@igalia.com
  • 4 edits in trunk/LayoutTests

[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.
10:24 AM Changeset in webkit [186512] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

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.

10:18 AM Changeset in webkit [186511] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit2

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.

10:02 AM Changeset in webkit [186510] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit2

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.

9:48 AM Changeset in webkit [186509] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

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]):

9:41 AM Changeset in webkit [186508] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.1.4.17-branch/Source/WebCore

Merge r186389. rdar://problem/21708243

9:41 AM Changeset in webkit [186507] by matthew_hanson@apple.com
  • 2 edits
    1 copy in branches/safari-600.1.4.17-branch/Source/WebCore

Merge r186384. rdar://problem/21708281

9:41 AM Changeset in webkit [186506] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.1.4.17-branch/Source/WebCore

Merge r186380. rdar://problem/21708281

9:41 AM Changeset in webkit [186505] by matthew_hanson@apple.com
  • 4 edits
    6 adds in branches/safari-600.1.4.17-branch

Merge r185848. rdar://problem/21708274

9:41 AM Changeset in webkit [186504] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.1.4.17-branch

Merge r185838. rdar://problem/21708257

9:41 AM Changeset in webkit [186503] by matthew_hanson@apple.com
  • 5 edits
    2 adds in branches/safari-600.1.4.17-branch

Merge r184885. rdar://problem/21708260

9:41 AM Changeset in webkit [186502] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.1.4.17-branch

Merge r184577. rdar://problem/21708263

8:55 AM Changeset in webkit [186501] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

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
7:00 AM Changeset in webkit [186500] by clopez@igalia.com
  • 3 edits
    3 deletes in trunk/Tools

[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.

6:43 AM Changeset in webkit [186499] by clopez@igalia.com
  • 8 edits
    2 adds
    1 delete in trunk/LayoutTests

[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.
5:19 AM WebKitGTK/2.8.x edited by Carlos Garcia Campos
(diff)
5:07 AM Changeset in webkit [186498] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.8.4

WebKitGTK+ 2.8.4

5:06 AM Changeset in webkit [186497] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.8

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

.:

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

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.8.4.
3:34 AM Changeset in webkit [186496] by calvaris@igalia.com
  • 6 edits in trunk/Source/WebCore

[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.

3:28 AM Changeset in webkit [186495] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[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):

3:25 AM WebKitGTK/Gardening/Calendar edited by clopez@igalia.com
(diff)
2:11 AM Changeset in webkit [186494] by Carlos Garcia Campos
  • 3 edits
    3 adds in releases/WebKitGTK/webkit-2.8

Merge r186486 - 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.
1:42 AM Changeset in webkit [186493] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.8

Merge r186461 - REGRESSION(r183706): HTMLImageElement sometimes fails to register as document named item.
<https://webkit.org/b/146679>
<rdar://problem/21613839>

Reviewed by Antti Koivisto.

Source/WebCore:

After r183706, Element::hasName() no longer returns outdated information when called
inside a parseAttribute() override. HTMLImageElement was relying on this to check
if it *used* to have a name attribute before the currently parsing one was set.

Since parseAttribute() only shows subclasses the new attribute value, I'm adding a
flag to HTMLImageElement that remembers whether we had a name attribute or not.

Test: fast/dom/HTMLImageElement/remove-img-with-name-from-document-crash.html

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::parseAttribute):

  • html/HTMLImageElement.h:

LayoutTests:

Add a test that would assert when removing a named HTMLImageElement from the DOM
after having failed to register it as a document named item.

  • fast/dom/HTMLImageElement/remove-img-with-name-from-document-crash-expected.txt: Added.
  • fast/dom/HTMLImageElement/remove-img-with-name-from-document-crash.html: Added.
Note: See TracTimeline for information about the timeline view.