Timeline



Jun 2, 2015:

11:58 PM Changeset in webkit [185148] by Gyuyoung Kim
  • 2 edits in trunk/Source/WebCore

[EFL][GTK] Fix build error since r185137
https://bugs.webkit.org/show_bug.cgi?id=145596

Unreviewed, fix build break on EFL and GTK port.

  • dom/Text.cpp:

(WebCore::Text::formatForDebugger): Use strncpy() instead of strlcpy().

11:44 PM Changeset in webkit [185147] by svillar@igalia.com
  • 37 edits in trunk

[CSS Grid Layout] Switch from parenthesis to brackets for grid line names
https://bugs.webkit.org/show_bug.cgi?id=144996

Reviewed by Darin Adler.

Source/WebCore:

Grid line names are now enclosed by brackets instead of parentheses
as mentioned in the latest version of the spec. Appartently the CSS
code is now more readable and avoids issues with tools like SASS.

  • css/CSSGrammar.y.in:
  • css/CSSGridLineNamesValue.cpp:

(WebCore::CSSGridLineNamesValue::customCSSText):

LayoutTests:

Replaced parentheses by brackets when specifying grid line names.

  • fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
  • fast/css-grid-layout/grid-columns-rows-get-set-multiple-expected.txt:
  • fast/css-grid-layout/grid-container-change-named-grid-lines-recompute-child.html:
  • fast/css-grid-layout/grid-element-repeat-get-set-expected.txt:
  • fast/css-grid-layout/grid-element-repeat-get-set.html:
  • fast/css-grid-layout/grid-item-auto-placement-automatic-span.html:
  • fast/css-grid-layout/grid-item-bad-resolution-double-span.html:
  • fast/css-grid-layout/grid-item-column-row-get-set.html:
  • fast/css-grid-layout/grid-item-named-grid-area-resolution.html:
  • fast/css-grid-layout/grid-item-named-grid-line-resolution.html:
  • fast/css-grid-layout/grid-item-negative-position-resolution.html:
  • fast/css-grid-layout/grid-item-position-changed-dynamic.html:
  • fast/css-grid-layout/grid-shorthand-get-set-expected.txt:
  • fast/css-grid-layout/grid-shorthand-get-set.html:
  • fast/css-grid-layout/grid-template-shorthand-get-set-expected.txt:
  • fast/css-grid-layout/grid-template-shorthand-get-set.html:
  • fast/css-grid-layout/named-grid-line-get-set-expected.txt:
  • fast/css-grid-layout/named-grid-line-get-set.html:
  • fast/css-grid-layout/named-grid-lines-computed-style-implicit-tracks-expected.txt:
  • fast/css-grid-layout/named-grid-lines-computed-style-implicit-tracks.html:
  • fast/css-grid-layout/named-grid-lines-with-named-grid-areas-dynamic-get-set.html:
  • fast/css-grid-layout/named-grid-lines-with-named-grid-areas-get-set.html:
  • fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution.html:
  • fast/css-grid-layout/non-grid-columns-rows-get-set-expected.txt:
  • fast/css-grid-layout/non-grid-columns-rows-get-set-multiple-expected.txt:
  • fast/css-grid-layout/non-grid-element-repeat-get-set-expected.txt:
  • fast/css-grid-layout/non-grid-element-repeat-get-set.html:
  • fast/css-grid-layout/non-named-grid-line-get-set-expected.txt:
  • fast/css-grid-layout/non-named-grid-line-get-set.html:
  • fast/css-grid-layout/resources/grid-columns-rows-get-set-multiple.js:

(testInherit):
(testInitial):

  • fast/css-grid-layout/resources/grid-columns-rows-get-set.js:

(testInherit):
(testInitial):

  • fast/css-grid-layout/resources/non-grid-columns-rows-get-set-multiple.js:

(testInherit):
(testInitial):

  • fast/css-grid-layout/resources/non-grid-columns-rows-get-set.js:

(testInherit):
(testInitial):

11:24 PM Changeset in webkit [185146] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build fix

  • platform/spi/mac/AVFoundationSPI.h:
11:21 PM Changeset in webkit [185145] by commit-queue@webkit.org
  • 9 edits
    2 deletes in trunk

Unreviewed, rolling out r185128 and r185132.
https://bugs.webkit.org/show_bug.cgi?id=145597

The new test hits a bad assertion (Requested by ap on
#webkit).

Reverted changesets:

"Crash in GraphicsContext3D::getInternalFramebufferSize"
https://bugs.webkit.org/show_bug.cgi?id=145479
http://trac.webkit.org/changeset/185128

"Skip webgl/useWhilePending.html on WebKit 1."
http://trac.webkit.org/changeset/185132

11:19 PM Changeset in webkit [185144] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.34

New tag.

11:18 PM Changeset in webkit [185143] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

10:57 PM Changeset in webkit [185142] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Remove uses of delete in Sidebar related code
https://bugs.webkit.org/show_bug.cgi?id=145592

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-06-02
Reviewed by Timothy Hatcher.

  • UserInterface/Views/CSSStyleDetailsSidebarPanel.js:

(WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh):
Clear value instead of deleting.

  • UserInterface/Views/SearchSidebarPanel.js:

(WebInspector.SearchSidebarPanel.prototype.performSearch):
Just clear the search identifier. Also assert it (a required string) is always non-falsey.

  • UserInterface/Views/Sidebar.js:

(WebInspector.Sidebar.prototype.resizerDragEnded): Deleted.
This entire callback is unnecessary because whenever we start
a drag we save the value.

10:46 PM Changeset in webkit [185141] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebInspectorUI

Web Inspector: Sidebar and sometimes ContentView scroll position is lost when switching between tabs
https://bugs.webkit.org/show_bug.cgi?id=145591

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-06-02
Reviewed by Timothy Hatcher.

  • UserInterface/Views/Sidebar.js:

(WebInspector.Sidebar.prototype.removeSidebarPanel):
When removing a sidebar panel, ensure we call hidden if it was the visible panel.

  • UserInterface/Views/SidebarPanel.js:

(WebInspector.SidebarPanel):
(WebInspector.SidebarPanel.prototype.shown):
(WebInspector.SidebarPanel.prototype.hidden):
Save and restore content element scroll position when sidebar panels are shown / hidden.

  • UserInterface/Views/CSSStyleDetailsSidebarPanel.js:

(WebInspector.CSSStyleDetailsSidebarPanel.prototype.visibilityDidChange):

  • UserInterface/Views/ComputedStyleDetailsPanel.js:

(WebInspector.ComputedStyleDetailsPanel.prototype.shown):

  • UserInterface/Views/DetailsSidebarPanel.js:

(WebInspector.DetailsSidebarPanel.prototype.shown):

  • UserInterface/Views/LayerTreeDetailsSidebarPanel.js:

(WebInspector.LayerTreeDetailsSidebarPanel.prototype.shown):
(WebInspector.LayerTreeDetailsSidebarPanel.prototype.hidden):
Cleanup. Since sidebar panels are using ES6 classes, have super class calls use super!

8:39 PM Changeset in webkit [185140] by ryuan.choi@navercorp.com
  • 8 edits in trunk/Source/WebCore

[CoordinatedGraphics] Refactor TiledBackingStoreClient
https://bugs.webkit.org/show_bug.cgi?id=145577

Reviewed by Gyuyoung Kim.

This patch removes and simplifies unnecessary virtual methods of TiledBackingStoreClient.

No new tests, no behavior changes.

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

(WebCore::CoordinatedGraphicsLayer::didUpdateTileBuffers): Renamed from tiledBackingStorePaintEnd.
(WebCore::CoordinatedGraphicsLayer::tiledBackingStorePaintBegin): Deleted.
(WebCore::CoordinatedGraphicsLayer::tiledBackingStorePaintEnd): Deleted.
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreBackgroundColor):
Deleted because tiledBackingStoreBackgroundColor() is not used anywhere.

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

(WebCore::CoordinatedTile::updateBackBuffer):
Simplified not to call unnecessary methods. In addition, used modern for loop.
(WebCore::CoordinatedTile::swapBackBufferToFront): Deleted.

  • platform/graphics/texmap/coordinated/CoordinatedTile.h:
  • platform/graphics/texmap/coordinated/Tile.h:
  • platform/graphics/texmap/coordinated/TiledBackingStore.cpp:

(WebCore::TiledBackingStore::updateTileBuffers):

  • platform/graphics/texmap/coordinated/TiledBackingStoreClient.h:
7:46 PM Changeset in webkit [185139] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Use non-monospace font for the frame selector
https://bugs.webkit.org/show_bug.cgi?id=145586

Reviewed by Timothy Hatcher.

  • UserInterface/Views/HierarchicalPathComponent.css:

(.hierarchical-path-component):

7:33 PM Changeset in webkit [185138] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

[EFL] Implement load_started callback in EwkPageClient.
https://bugs.webkit.org/show_bug.cgi?id=145545

Patch by Hyungwook Lee <hyungwook.lee@navercorp.com> on 2015-06-02
Reviewed by Gyuyoung Kim.

We need to provide load_started callback to web extension module.

  • UIProcess/API/efl/tests/extensions/extension_sample.cpp:
  • WebProcess/InjectedBundle/API/efl/ewk_page.cpp:

(EwkPage::EwkPage):
(EwkPage::remove):
(EwkPage::didStartProvisionalLoadForFrame):
(EwkPage::didFinishDocumentLoadForFrame):

  • WebProcess/InjectedBundle/API/efl/ewk_page.h:
  • WebProcess/InjectedBundle/API/efl/ewk_page_private.h:
6:29 PM Changeset in webkit [185137] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

AX: debugging attributes for text markers
https://bugs.webkit.org/show_bug.cgi?id=145283

Patch by Doug Russell <d_russell@apple.com> on 2015-06-02
Reviewed by Chris Fleizach.

AXTextMarkerDebugDescription: returns the result of
VisiblePosition::formatForDebugger() for the visible position that a text marker
represents.
AXTextMarkerNodeDebugDescription: calls Node::showNode() and
Node::showNodePathForThis() for the visible position that a text marker
represents.
AXTextMarkerNodeTreeDebugDescription: calls Node::showTreeForThis() for the
visible position that a text marker represents.
AXTextMarkerRangeDebugDescription: returns the result of
formatForDebugger(VisiblePositionRange) for the visible position range that a text
marker range represents.

This is debug only tooling. Tests would be flakey and not very helpful.

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper debugDescriptionForTextMarker:]):
(-[WebAccessibilityObjectWrapper debugDescriptionForTextMarkerRange:]):
(-[WebAccessibilityObjectWrapper showNodeForTextMarker:]):
(-[WebAccessibilityObjectWrapper showNodeTreeForTextMarker:]):
(formatForDebugger):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

  • dom/Text.cpp:

(WebCore::Text::formatForDebugger):

5:45 PM Changeset in webkit [185136] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

MediaSessions should keep track of their current state.
https://bugs.webkit.org/show_bug.cgi?id=145575

Patch by Matt Rajca <mrajca@apple.com> on 2015-06-02
Reviewed by Alex Christensen.

  • Modules/mediasession/MediaSession.h: Per the Media Session spec, the state can be 'Idle', 'Active', or 'Interrupted'. Sessions are created in an 'Idle' state.
4:58 PM Changeset in webkit [185135] by Nikita Vasilyev
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Dashboard arrow icon on the right is overlapped by a long function/file name
https://bugs.webkit.org/show_bug.cgi?id=145540

Also, increase clickable area of the arrow icon.

Reviewed by Timothy Hatcher.

  • UserInterface/Views/DashboardContainerView.css:

(.dashboard-container .advance-arrow):
(.dashboard-container .advance-arrow.advance-forward):
(.dashboard-container .advance-arrow.advance-backward):

  • UserInterface/Views/DebuggerDashboardView.css:

(.dashboard.debugger > .location):
(.toolbar .dashboard.debugger):
Increase padding on the right so the content of the dashboard would be never be overlayed by the arrow.

4:56 PM Changeset in webkit [185134] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Shift + Cmd + Left/Right shouldn't switch tabs while editing text
https://bugs.webkit.org/show_bug.cgi?id=145562

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-06-02
Reviewed by Timothy Hatcher.

  • UserInterface/Views/TabBrowser.js:

(WebInspector.TabBrowser):
Only these keyboard shortcuts should check if we are in an editable field.
Remove the implicit prevent default so they can fall back to system behavior
if necessary.

(WebInspector.TabBrowser.prototype._showNextTabCheckingForEditableField):
(WebInspector.TabBrowser.prototype._showPreviousTabCheckingForEditableField):
Bail if we are in an editable field. Otherwise perform the action and prevent default.

4:51 PM Changeset in webkit [185133] by jonlee@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix when building with internal SDKs
https://bugs.webkit.org/show_bug.cgi?id=145576
rdar://problem/21089476

Reviewed by Alexey Proskuryakov.

  • platform/spi/mac/AVFoundationSPI.h: Include the right header.
4:45 PM Changeset in webkit [185132] by dino@apple.com
  • 2 edits in trunk/LayoutTests

Skip webgl/useWhilePending.html on WebKit 1.

  • platform/mac-wk1/TestExpectations:
4:33 PM Changeset in webkit [185131] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Gardening: fix broken CLoop build.

Not reviewed.

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeExitSiteData):

3:23 PM Changeset in webkit [185130] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

No need to guard the sizes attribute against PICTURE_SIZES in preload scanner.
https://bugs.webkit.org/show_bug.cgi?id=145573
<rdar://problem/21210038>

Reviewed by Myles Maxfield.

The PICTURE_SIZES feature flag doesn't need to be used to
guard preloading of the sizes attribute.

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes): Deleted.
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute): Deleted.

3:14 PM Changeset in webkit [185129] by andersca@apple.com
  • 4 edits in trunk/Source/WebCore

Use UUIDs for WebSQL database filenames instead of a sequential number
https://bugs.webkit.org/show_bug.cgi?id=145571

Reviewed by Dan Bernstein.

This is a first step towards getting rid of the iOS specific code path where we truncate
database files instead of deleting them (in order to avoid file corruption).

  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::generateDatabaseFileName):
(WebCore::DatabaseTracker::fullPathForDatabaseNoLock):

  • platform/sql/SQLiteFileSystem.cpp:

(WebCore::SQLiteFileSystem::getFileNameForNewDatabase): Deleted.

  • platform/sql/SQLiteFileSystem.h:
3:11 PM Changeset in webkit [185128] by dino@apple.com
  • 8 edits
    2 adds in trunk

Crash in GraphicsContext3D::getInternalFramebufferSize
https://bugs.webkit.org/show_bug.cgi?id=145479
<rdar://problem/16461048>

Reviewed by Eric Carlson.

Source/WebCore:

If we are in an unitialized or lost state, don't try to access the context.

In order to test this, I added an Internal setting that always
forces WebGL into a pending state.

Test: fast/canvas/webgl/useWhilePending.html

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::create): Check internal settings for
a forced pending state.
(WebCore::WebGLRenderingContextBase::drawingBufferWidth): Guard against a pending state.
(WebCore::WebGLRenderingContextBase::drawingBufferHeight): Ditto.

  • page/Settings.cpp: New Internal setting for forcing a pending policy.

(WebCore::Settings::Settings):
(WebCore::Settings::setForcePendingWebGLPolicy):

  • page/Settings.h:

(WebCore::Settings::isForcePendingWebGLPolicy):

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setForcePendingWebGLPolicy):

  • testing/InternalSettings.h:
  • testing/InternalSettings.idl:

LayoutTests:

Attemps to use a WebGL context while it is in the pending state.

  • fast/canvas/webgl/useWhilePending-expected.txt: Added.
  • fast/canvas/webgl/useWhilePending.html: Added.
3:02 PM Changeset in webkit [185127] by barraclough@apple.com
  • 4 edits in trunk/Source/WebKit2

PDFs always think they're visible on iOS.
https://bugs.webkit.org/show_bug.cgi?id=145493
<rdar://problem/19668879>

Reviewed by Andreas Kling & Sam Weinig.

The problem here is that WKContentView is currently responsible for notifying the WebPageProxy
that the visibility may have changed, but when a PDF isn't showing the WKContentView isn't in
the view hierarchy and doesn't receive the didMoveToWindow notifications – and the WKPDFView
(which is in the view hierarchy) does not listen for these events.

Visibility of the page should really just track the visibility of the WKWebView (and when
actually assessing the visibility it largely does - the page client checks the web view's
visibility, bar a FIXME, and the foreground/background check, which needs to change).
So notifications should really just come from the WKWebView.

The WKWebView already listens for the didMoveToWindow notification, it just was only updating
the IsInWindow flag. Instead just update all flags, and the call to viewStateDidChange from
WKContentView can just be removed.

There is one problem with this in that it would reverse the order of the calls to
viewStateDidChange & _updateForScreen:, which would mean the the view would become visible before
updating the screen pixel density. To fix this, moving the call to _updateForScreen:
to willMoveToWindow:, to ensure it occurs before the page becomes visible.

This will also change behavior on Mac for WKWebView clients, in coalescing all view state changes
within the didMoveToWindow call. This is the direction we intended to go in anyway (the plan is
to remove the mayHaveChanged argument from viewStateDidChange - we're currently adding unnecessary
IPC traffic).

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView didMoveToWindow]):

  • should update all view state flags.
  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView didMoveToWindow]):

  • added to match WKWebView.mm, for WebKitTestRunner.
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView willMoveToWindow:]):

  • should _updateForScreen:

(-[WKContentView didMoveToWindow]): Deleted.

  • functionality moved to -[WKWebView didMoveToWindow], -[WKContentView didMoveToWindow].
2:54 PM Changeset in webkit [185126] by commit-queue@webkit.org
  • 4 edits
    3 adds in trunk/Source/WebCore

Added a stub implementation of MediaSession, part of the Media Session spec.
https://bugs.webkit.org/show_bug.cgi?id=145530

Patch by Matt Rajca <mrajca@apple.com> on 2015-06-02
Reviewed by Eric Carlson.

  • CMakeLists.txt: Added new MediaSession sources.
  • DerivedSources.make:
  • Modules/mediasession/MediaSession.cpp: Added stub implementation.

(WebCore::MediaSession::MediaSession): Per the Media Session spec, a Media Remote Controls object should only be

set for 'content' sessions; it is null otherwise.

(WebCore::MediaSession::~MediaSession):
(WebCore::MediaSession::controls):
(WebCore::MediaSession::releaseSession):

  • Modules/mediasession/MediaSession.h: Added basic translation of IDL file.
  • Modules/mediasession/MediaSession.idl: Added from the Media Session spec.
  • WebCore.xcodeproj/project.pbxproj: Added new MediaSession sources.
2:37 PM Changeset in webkit [185125] by Said Abou-Hallawa
  • 1 edit
    1 add in trunk/LayoutTests

Fix Windows layout test failure following <http://trac.webkit.org/changeset/185095>
(https://bugs.webkit.org/show_bug.cgi?id=145537)

Unreviewed.

  • platform/win/fast/text/crash-complex-text-surrogate-expected.txt: Added.
2:35 PM Changeset in webkit [185124] by Alan Bujtas
  • 7 edits
    4 adds in trunk

Backdrop filter is pulling in content from behind the window.
https://bugs.webkit.org/show_bug.cgi?id=145561
rdar://problem/20909309

Reviewed by Simon Fraser.

This patch ensures that the backdrop filter layer is positioned and sized properly.

The backdrop filter layer should take its size and position from its renderer and not
directly from the composited layer.
In certain cases the composited layer's size is expanded to cover items like box shadow or an absolute positioned descendant.
In such cases, we ended up applying the backdrop filter to those areas as well.

Source/WebCore:

Tests: css3/filters/backdrop/backdrop-filter-does-not-size-properly-absolute.html

css3/filters/backdrop/backdrop-filter-does-not-size-properly-border-and-padding.html

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::setBackdropFiltersRect):
(WebCore::GraphicsLayer::backdropFiltersRect):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::setBackdropFiltersRect):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateBackdropFilters):
(WebCore::GraphicsLayerCA::updateBackdropFiltersRect):
(WebCore::GraphicsLayerCA::updateContentsRects):
(WebCore::GraphicsLayerCA::updateGeometry): Deleted.

  • platform/graphics/ca/GraphicsLayerCA.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateBackdropFiltersGeometry):
(WebCore::RenderLayerBacking::updateGeometry):

  • rendering/RenderLayerBacking.h:

LayoutTests:

  • css3/filters/backdrop/backdrop-filter-does-not-size-properly-absolute-expected.txt: Added.
  • css3/filters/backdrop/backdrop-filter-does-not-size-properly-absolute.html: Added.
  • css3/filters/backdrop/backdrop-filter-does-not-size-properly-border-and-padding-expected.txt: Added.
  • css3/filters/backdrop/backdrop-filter-does-not-size-properly-border-and-padding.html: Added.
2:30 PM Changeset in webkit [185123] by Chris Dumez
  • 9 edits in trunk/Source/WebKit2

[iOS][WK2] Always mark layers as volatile for background pages
https://bugs.webkit.org/show_bug.cgi?id=145547
<rdar://problem/20663184>

Reviewed by Simon Fraser.

We previously marked layers as volatile when the WebProcess was about
to be suspended. Most of the time the WebProcess gets suspended when a
page goes into the background. However, it is not always true (see
radar), in which case the layers won't be marked as volatile and use
memory even though they are not visible.

We now mark layers as volatile as soon as the page goes into the
background, instead of relying on the WebProcess suspension mechanism
to do so.

A new ApplicationDidEnterBackground IPC message from the UIProcess to
the WebProcess is added (in addition to the pre-existing
ApplicationWillEnterForeground one). When the WebProcess receives this
message, it will freeze the layer tree state and mark the layers as
volatile (with a timer to keep retrying if needed), similarly to what
is already done in WebProcess::actualPrepareToSuspend().
When the ApplicationWillEnterForeground is received, we unfreeze the
layer tree state. The layers' volatile state will be automatically
updated when they are displayed (see setBufferVolatility() call in
RemoteLayerBackingStore::display()).

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

(-[WKContentView _applicationDidEnterBackground:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::applicationDidEnterBackground):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::setLayerTreeStateIsFrozen):
(WebKit::WebPage::markLayersVolatileImmediatelyIfPossible):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::volatilityTimerFired):
(WebKit::WebPage::applicationDidEnterBackground):
(WebKit::WebPage::applicationWillEnterForeground):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::markAllLayersVolatileIfPossible):
(WebKit::WebProcess::setAllLayerTreeStatesFrozen):

2:24 PM Changeset in webkit [185122] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

JavaScriptCore: JSExport protocol with an NSInteger property converts negative values to 18446744073709552000
https://bugs.webkit.org/show_bug.cgi?id=145563

Patch by Keith Miller <keith_miller@apple.com> on 2015-06-02
Reviewed by Darin Adler.

The Objective-C bindings were improperly converting negative
long long/NSIntegers to 18446744073709552000 because they
were converted to unsigned numbers.

  • API/ObjcRuntimeExtras.h:

(parseObjCType):

  • API/tests/testapi.mm:

(testObjectiveCAPIMain):
(checkNegativeNSIntegers):
(testObjectiveCAPI):

2:14 PM Changeset in webkit [185121] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: ⌘F no longer brings up the find-in-page bar after typing in the quick console
https://bugs.webkit.org/show_bug.cgi?id=145546

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-06-02
Reviewed by Timothy Hatcher.

Scope ContentBrowser keyboard events within the ContentBrowser instead
of global, where they might conflict between ContentBrowsers. The scoped
shortcuts now no longer need to be enabled/disabled.

  • UserInterface/Views/ContentBrowser.js:

(WebInspector.ContentBrowser):
Scope the keyboard shortcuts.

(WebInspector.ContentBrowser.prototype.shown):
(WebInspector.ContentBrowser.prototype.hidden):
No longer need to control enabling / disabling these non-global shortcuts.

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

[Mac] occasional crash in Document::playbackTargetAvailabilityDidChange
https://bugs.webkit.org/show_bug.cgi?id=145559

Reviewed by Darin Adler.

No new tests, covered by existing tests.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::registerWithDocument): Pass document to m_mediaSession->registerWithDocument.
(WebCore::HTMLMediaElement::unregisterWithDocument): Pass document to m_mediaSession->unRegisterWithDocument.
(WebCore::HTMLMediaElement::documentWillSuspendForPageCache): Ditto.
(WebCore::HTMLMediaElement::documentDidResumeFromPageCache): Ditto.

  • html/MediaElementSession.cpp:

(WebCore::MediaElementSession::registerWithDocument): Take a document.
(WebCore::MediaElementSession::unregisterWithDocument): Ditto.

  • html/MediaElementSession.h:
1:22 PM Changeset in webkit [185119] by Said Abou-Hallawa
  • 5 edits
    1 add
    1 delete in trunk/LayoutTests

Fix Mac Mavericks layout test failure following <http://trac.webkit.org/changeset/185096>
(https://bugs.webkit.org/show_bug.cgi?id=145478)

Move fast/text/font-weights-zh.html out of the platform directory. The
webkit test runner is not smart enough to ignore the expected results
in the mac directory and get it from the Mavericks directory, if it exists,
when running on Mavericks.

Reviewed by Alexey Proskuryakov.

  • fast/text/font-weights-zh.html: Added.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/fast/text/font-weights-zh.html: Removed.
  • platform/win/TestExpectations:
  • platform/win-xp/TestExpectations:
  • platform/wincairo/TestExpectations:
1:20 PM Changeset in webkit [185118] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

Calling FrameView::viewportContentsChanged() after style recalcs is too expensive
https://bugs.webkit.org/show_bug.cgi?id=145554
<rdar://problem/21189478>

Reviewed by Darin Adler and Simon Fraser.

Only call FrameView::viewportContentsChanged() after a style recalc if
composited layers have been updated (and there is no pending layout).

We already viewportContentsChanged() after layout so we only need to
call viewportContentsChanged() after a style recalc if it did not cause
a layout but may have caused an element to become visible. In
particular, this can happen in the case of composited animations (e.g.
using -webkit-transform to move an element inside the viewport).
Therefore, we now only call viewportContentsChanged() after a style
recalc if it caused composited layers to be updated. This avoids a lot
of unnecessary calls to viewportContentsChanged(), which is expensive.

No new tests, already covered by:
fast/images/animated-gif-webkit-transform.html

  • dom/Document.cpp:

(WebCore::Document::recalcStyle):

  • page/FrameView.cpp:

(WebCore::FrameView::updateCompositingLayersAfterStyleChange):

  • page/FrameView.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::didRecalcStyleWithNoPendingLayout):
(WebCore::RenderLayerCompositor::updateCompositingLayers):

  • rendering/RenderLayerCompositor.h:
1:19 PM Changeset in webkit [185117] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Remove use of CTFontSetRenderingParameters()
https://bugs.webkit.org/show_bug.cgi?id=145560

Reviewed by Simon Fraser.

Instead, always use CTFontSetRenderingStyle().

No new tests because there is no behavior change.

  • platform/graphics/cocoa/FontCascadeCocoa.mm:

(WebCore::RenderingStyleSaver::RenderingStyleSaver): Deleted.
(WebCore::RenderingStyleSaver::~RenderingStyleSaver): Deleted.

1:00 PM Changeset in webkit [185116] by andersca@apple.com
  • 6 edits
    1 copy in trunk/Source/WebCore

Move WKFontAntialiasingStateSaver to its own file
https://bugs.webkit.org/show_bug.cgi?id=145557
rdar://problem/21134776

Reviewed by Dan Bernstein.

Also rename it to FontAntialiasingStateSaver. Also, change it to use the CoreGraphicsSPI.h header for its
CGFontAntialiasingStyle definition instead of using an explicit typedef.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayer::drawLayerContents):

  • platform/graphics/ios/FontAntialiasingStateSaver.h: Copied from Source/WebCore/platform/ios/wak/WKGraphics.h.

(WebCore::FontAntialiasingStateSaver::FontAntialiasingStateSaver):
(WebCore::FontAntialiasingStateSaver::setup):
(WebCore::FontAntialiasingStateSaver::restore):

  • platform/ios/LegacyTileCache.mm:

(WebCore::LegacyTileCache::drawWindowContent):

  • platform/ios/wak/WKGraphics.h:

(WKFontAntialiasingStateSaver::WKFontAntialiasingStateSaver): Deleted.

  • platform/ios/wak/WKGraphics.mm:

(WKFontAntialiasingStateSaver::setup): Deleted.
(WKFontAntialiasingStateSaver::restore): Deleted.

12:40 PM Changeset in webkit [185115] by beidson@apple.com
  • 1 edit
    7 adds in trunk/LayoutTests

Add more tests for "should open external urls" flag.
https://bugs.webkit.org/show_bug.cgi?id=145558

Rubberstamped by Geoff Garen.

  • loader/navigation-policy/should-open-external-urls/api-false-followed-by-api-true-expected.txt: Added.
  • loader/navigation-policy/should-open-external-urls/api-false-followed-by-api-true.html: Added.
  • loader/navigation-policy/should-open-external-urls/api-true-followed-by-api-false-expected.txt: Added.
  • loader/navigation-policy/should-open-external-urls/api-true-followed-by-api-false.html: Added.
  • loader/navigation-policy/should-open-external-urls/dispatch-event-click-is-not-user-gesture-expected.txt: Added.
  • loader/navigation-policy/should-open-external-urls/dispatch-event-click-is-not-user-gesture.html: Added.
  • loader/navigation-policy/should-open-external-urls/resources/do-nothing.html: Added.
12:28 PM Changeset in webkit [185114] by youenn.fablet@crf.canon.fr
  • 22 edits
    3 adds in trunk

Source/WebCore:
[Streams API] Implement ReadableStreamReader read method in closed and errored state
https://bugs.webkit.org/show_bug.cgi?id=144790

Reviewed by Darin Adler.

Reader delegates read() promise handling to its stream except if reader is no longer locking the stream and stream is readable.
Storing of reader read() promise callbacks as a Vector in ReadableStream.
Added resolution/rejection of read() promises in case of errored/closed streams.

Test: streams/readable-stream-reader-read.html

  • ForwardingHeaders/runtime/IteratorOperations.h: Added.
  • Modules/streams/ReadableStream.cpp:

(WebCore::ReadableStream::cleanCallbacks): Clean the read requests.
(WebCore::ReadableStream::changeStateToClosed): Run success callbacks with undefined for read requests.
(WebCore::ReadableStream::changeStateToErrored): Run failure callbacks with the errors for read requests.
(WebCore::ReadableStream::closed): Parameter name changed.
(WebCore::ReadableStream::read): Added. Succeeds with empty when closed, fails with error when errored, reads a
value if there is one and pushes the callbacks to the queue otherwise.

  • Modules/streams/ReadableStream.h:

(WebCore::ReadableStream::ReadCallbacks::ReadCallbacks): Struct containing success and failure callbacks.

  • Modules/streams/ReadableStreamReader.cpp:

(WebCore::ReadableStreamReader::closed): Parameter name changed.
(WebCore::ReadableStreamReader::read): Invoke success with empty if we streams if we don't have the right reader
and call the stream otherwise to read.

  • Modules/streams/ReadableStreamReader.h:
  • bindings/js/JSReadableStreamReaderCustom.cpp:

(WebCore::JSReadableStreamReader::read): Create the callback lambdas and invoke read. Failure rejects the
promise and success creates the result from the read value.

  • bindings/js/ReadableJSStream.cpp:

(WebCore::ReadableJSStream::hasValue):
(WebCore::ReadableJSStream::read): Not implemented yet.

  • bindings/js/ReadableJSStream.h:

Source/WTF:
[Streams API] Delegate ReadableStreamReader reference counting to ReadableStream
https://bugs.webkit.org/show_bug.cgi?id=144907

Reviewed by Darin Adler.

  • wtf/Vector.h:

(WTF::Vector::append): Adding not templated append method, forwarding to ValueType templated append method.

LayoutTests:
[Streams API] Implement ReadableStreamReader read method in closed and errored state
https://bugs.webkit.org/show_bug.cgi?id=144790

Reviewed by Darin Adler.

Added new test. Rebased reference tests (expectations and timeouting/untimeouting tests).
Removed temporarily some tests in streams/reference-implementation/readable-stream-templated.html.
These tests try to check handling promise returned in start method which is not yet supported.
If we did not comment these tests, they would be flaky.

  • streams/readable-stream-reader-read-expected.txt: Added.
  • streams/readable-stream-reader-read.html: Added.
  • streams/reference-implementation/bad-underlying-sources-expected.txt:
  • streams/reference-implementation/bad-underlying-sources.html:
  • streams/reference-implementation/count-queuing-strategy-expected.txt:
  • streams/reference-implementation/count-queuing-strategy.html:
  • streams/reference-implementation/readable-stream-cancel-expected.txt:
  • streams/reference-implementation/readable-stream-expected.txt:
  • streams/reference-implementation/readable-stream-reader-expected.txt:
  • streams/reference-implementation/readable-stream-reader.html:
  • streams/reference-implementation/readable-stream-templated-expected.txt:
  • streams/reference-implementation/readable-stream-templated.html:
  • streams/reference-implementation/readable-stream.html:
12:21 PM Changeset in webkit [185113] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[Cocoa] FontPlatformData's equality check should always use reference URLs
https://bugs.webkit.org/show_bug.cgi?id=144168

Reviewed by Tim Horton.

<rdar://problem/18985642> is not fixed, so we need to continue using the older
objectForEqualityCheck().

No new tests because there is no behavior change.

  • platform/graphics/cocoa/FontPlatformDataCocoa.mm:

(WebCore::FontPlatformData::objectForEqualityCheck):

12:13 PM Changeset in webkit [185112] by aestes@apple.com
  • 2 edits
    5 adds in trunk/Source/WebCore

[Mac] REGRESSION (r175941): Max.app crashes when adding a sound file to a patch due to removing cursor resources from WebCore.framework
https://bugs.webkit.org/show_bug.cgi?id=145555

Reviewed by Darin Adler.

Re-added the cursor resources used by Max.app and ran sort-Xcode-project-file.

  • Resources/copyCursor.png: Added.
  • Resources/moveCursor.png: Added.
  • Resources/northEastSouthWestResizeCursor.png: Added.
  • Resources/northSouthResizeCursor.png: Added.
  • Resources/northWestSouthEastResizeCursor.png: Added.
  • WebCore.xcodeproj/project.pbxproj:
11:43 AM Changeset in webkit [185111] by beidson@apple.com
  • 45 edits
    49 adds in trunk

WebKit policy delegate should suggest if a navigation should be allowed to open URLs externally.
rdar://problem/21025301 and https://bugs.webkit.org/show_bug.cgi?id=145280
Source/WebCore:

Reviewed by Alex Christensen.

Tests: loader/navigation-policy/should-open-external-urls/main-frame-click.html

loader/navigation-policy/should-open-external-urls/main-frame-navigated-programatically-by-subframe.html
loader/navigation-policy/should-open-external-urls/main-frame-with-flag-progamatic.html
loader/navigation-policy/should-open-external-urls/main-frame-without-flag-programatic.html
loader/navigation-policy/should-open-external-urls/subframe-click-target-self.html
loader/navigation-policy/should-open-external-urls/subframe-click-target-top.html
loader/navigation-policy/should-open-external-urls/user-gesture-target-blank-with-flag-from-subframe.html
loader/navigation-policy/should-open-external-urls/user-gesture-target-blank-with-flag.html
loader/navigation-policy/should-open-external-urls/user-gesture-target-blank-without-flag-from-subframe.html
loader/navigation-policy/should-open-external-urls/user-gesture-target-blank-without-flag.html
loader/navigation-policy/should-open-external-urls/user-gesture-window-open-with-flag-from-subframe.html
loader/navigation-policy/should-open-external-urls/user-gesture-window-open-with-flag.html
loader/navigation-policy/should-open-external-urls/user-gesture-window-open-without-flag-from-subframe.html
loader/navigation-policy/should-open-external-urls/user-gesture-window-open-without-flag.html
loader/navigation-policy/should-open-external-urls/window-open-with-flag-from-subframe.html
loader/navigation-policy/should-open-external-urls/window-open-with-flag.html
loader/navigation-policy/should-open-external-urls/window-open-without-flag-from-subframe.html
loader/navigation-policy/should-open-external-urls/window-open-without-flag.html

The "should open external URLs" flag is only for main frames.
It doesn't enforce any sort of policy internal to WebKit, but rather is for notifications to the policy delegate.

It is set from one of two places:
1 - A main frame is navigated by any frame as the result of a user gesture.
2 - WebKit2 API explicitly states the flag is true.

The flag value propagates when:
1 - When a main frame document is navigated to a new main frame document.
2 - When a new window is opened from a page whose main frame had the flag set.
3 - When a new window is opened as the result of a user gesture.

The flag resets to false when:
1 - A subframe navigates a main frame without a user gesture.

This patch is large, but does little more than the following:
1 - Adds a ShouldOpenExternalURLs flag to both FrameLoadRequest and NavigationAction.
2 - Makes sure anybody who creates either of those objects sets a sensible for that flag.
3 - When FrameLoader creates a new DocumentLoader, it sets its flag based on whether or not the load is in a main frame,

whether or not the load is from a user gesture, and based on the initiator's value of the flag.

  • dom/Document.cpp:

(WebCore::Document::processHttpEquiv):
(WebCore::Document::shouldOpenExternalURLsPolicyToPropagate):

  • dom/Document.h:
  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::handleClick):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::handleClick):

  • html/parser/XSSAuditorDelegate.cpp:

(WebCore::XSSAuditorDelegate::didBlockScript):

  • inspector/InspectorFrontendClientLocal.cpp:

(WebCore::InspectorFrontendClientLocal::openInNewTab):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::navigate):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::setTriggeringAction):
(WebCore::DocumentLoader::shouldOpenExternalURLsPolicyToPropagate):

  • loader/DocumentLoader.h:

(WebCore::DocumentLoader::shouldOpenExternalURLsPolicy): Deleted.

  • loader/FrameLoadRequest.cpp:

(WebCore::FrameLoadRequest::FrameLoadRequest):

  • loader/FrameLoadRequest.h:

(WebCore::FrameLoadRequest::FrameLoadRequest):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::urlSelected):
(WebCore::FrameLoader::receivedFirstData):
(WebCore::FrameLoader::loadURLIntoChildFrame):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::loadWithNavigationAction):
(WebCore::FrameLoader::reloadWithOverrideEncoding):
(WebCore::FrameLoader::reload):
(WebCore::FrameLoader::loadPostRequest):
(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
(WebCore::FrameLoader::applyShouldOpenExternalURLsPolicyToNewDocumentLoader):

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

(WebCore::NavigationAction::NavigationAction):
(WebCore::NavigationAction::copyWithShouldOpenExternalURLsPolicy):

  • loader/NavigationAction.h:

(WebCore::NavigationAction::setShouldOpenExternalURLsPolicy): Deleted.

  • loader/NavigationScheduler.cpp:

(WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
(WebCore::ScheduledRedirect::ScheduledRedirect):
(WebCore::ScheduledLocationChange::ScheduledLocationChange):
(WebCore::ScheduledRefresh::ScheduledRefresh):
(WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
(WebCore::NavigationScheduler::scheduleRedirect):
(WebCore::NavigationScheduler::scheduleLocationChange):
(WebCore::NavigationScheduler::scheduleRefresh):

  • loader/NavigationScheduler.h:
  • loader/PolicyChecker.cpp:

(WebCore::PolicyChecker::checkNavigationPolicy):

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::loadOrRedirectSubframe):

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::selectCache):

  • page/ContextMenuController.cpp:

(WebCore::openNewWindow):
(WebCore::ContextMenuController::contextMenuItemSelected):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::setLocation):
(WebCore::DOMWindow::createWindow):
(WebCore::DOMWindow::open):

  • page/DragController.cpp:

(WebCore::DragController::performDragOperation):

  • page/Location.cpp:

(WebCore::Location::reload):

  • replay/ReplayInputDispatchMethods.cpp:

(WebCore::InitialNavigation::dispatch):

  • svg/SVGAElement.cpp:

(WebCore::SVGAElement::defaultEventHandler):

Source/WebKit/ios:

Reviewed by Alex Christensen.

  • WebView/WebPDFViewPlaceholder.mm:

(-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]):

Source/WebKit/mac:

Reviewed by Alex Christensen.

  • Plugins/WebPluginController.mm:

(-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):

  • WebView/WebFrame.mm:

(-[WebFrame loadRequest:]):
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):

  • WebView/WebPDFView.mm:

(-[WebPDFView PDFViewWillClickOnLink:withURL:]):

Source/WebKit/win:

Reviewed by Alex Christensen.

  • Plugins/PluginView.cpp:

(WebCore::PluginView::start):
(WebCore::PluginView::performRequest):
(WebCore::PluginView::getURLNotify):
(WebCore::PluginView::getURL):
(WebCore::PluginView::handlePost):

  • WebCoreSupport/WebContextMenuClient.cpp:

(WebContextMenuClient::searchWithGoogle):

  • WebFrame.cpp:

(WebFrame::loadRequest):
(WebFrame::loadData):

Source/WebKit2:

Reviewed by Alex Christensen.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::clickedLink):

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::performFrameLoadURLRequest):
(WebKit::PluginView::loadURL):

  • WebProcess/WebCoreSupport/WebContextMenuClient.cpp:

(WebKit::WebContextMenuClient::searchWithGoogle):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchCreatePage):

  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::openInNewTab):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadURLInFrame):
(WebKit::WebPage::loadRequest):
(WebKit::WebPage::loadDataImpl):
(WebKit::WebPage::navigateToPDFLinkWithSimulatedClick):

LayoutTests:

Reviewed by Alex Christensen.

  • loader/navigation-policy/should-open-external-urls/main-frame-click-expected.txt: Added.
  • loader/navigation-policy/should-open-external-urls/main-frame-click.html: Added.
  • loader/navigation-policy/should-open-external-urls/main-frame-navigated-programatically-by-subframe-expected.txt: Added.
  • loader/navigation-policy/should-open-external-urls/main-frame-navigated-programatically-by-subframe.html: Added.
  • loader/navigation-policy/should-open-external-urls/main-frame-with-flag-progamatic-expected.txt: Added.
  • loader/navigation-policy/should-open-external-urls/main-frame-with-flag-progamatic.html: Added.
  • loader/navigation-policy/should-open-external-urls/main-frame-without-flag-programatic-expected.txt: Added.
  • loader/navigation-policy/should-open-external-urls/main-frame-without-flag-programatic.html: Added.
  • loader/navigation-policy/should-open-external-urls/resources/click-notify-done-in-main.html: Added.
  • loader/navigation-policy/should-open-external-urls/resources/iframe-click-notify-done-target-self.html: Added.
  • loader/navigation-policy/should-open-external-urls/resources/iframe-click-notify-done-target-top.html: Added.
  • loader/navigation-policy/should-open-external-urls/resources/main-frame-with-subframe-click-targets-subframe.html: Added.
  • loader/navigation-policy/should-open-external-urls/resources/main-frame-with-subframe-programatically-navigates-main.html: Added.
  • loader/navigation-policy/should-open-external-urls/resources/programatically-navigate-to-notify-done-target-top.html: Added.
  • loader/navigation-policy/should-open-external-urls/resources/programatically-navigate-to-notify-done.html: Added.
  • loader/navigation-policy/should-open-external-urls/resources/user-gesture-target-blank-to-notify-done-from-subframe.html: Added.
  • loader/navigation-policy/should-open-external-urls/resources/user-gesture-target-blank-to-notify-done.html: Added.
  • loader/navigation-policy/should-open-external-urls/resources/user-gesture-window-open-to-notify-done-from-subframe.html: Added.
  • loader/navigation-policy/should-open-external-urls/resources/user-gesture-window-open-to-notify-done.html: Added.
  • loader/navigation-policy/should-open-external-urls/resources/window-open-to-notify-done-from-subframe.html: Added.
  • loader/navigation-policy/should-open-external-urls/resources/window-open-to-notify-done.html: Added.
  • loader/navigation-policy/should-open-external-urls/subframe-click-target-self-expected.txt: Added.
  • loader/navigation-policy/should-open-external-urls/subframe-click-target-self.html: Added.
  • loader/navigation-policy/should-open-external-urls/subframe-click-target-top-expected.txt: Added.
  • loader/navigation-policy/should-open-external-urls/subframe-click-target-top.html: Added.
  • loader/navigation-policy/should-open-external-urls/user-gesture-target-blank-with-flag-expected.txt: Added.
  • loader/navigation-policy/should-open-external-urls/user-gesture-target-blank-with-flag-from-subframe-expected.txt: Added.
  • loader/navigation-policy/should-open-external-urls/user-gesture-target-blank-with-flag-from-subframe.html: Added.
  • loader/navigation-policy/should-open-external-urls/user-gesture-target-blank-with-flag.html: Added.
  • loader/navigation-policy/should-open-external-urls/user-gesture-target-blank-without-flag-expected.txt: Added.
  • loader/navigation-policy/should-open-external-urls/user-gesture-target-blank-without-flag-from-subframe-expected.txt: Added.
  • loader/navigation-policy/should-open-external-urls/user-gesture-target-blank-without-flag-from-subframe.html: Added.
  • loader/navigation-policy/should-open-external-urls/user-gesture-target-blank-without-flag.html: Added.
  • loader/navigation-policy/should-open-external-urls/user-gesture-window-open-with-flag-expected.txt: Added.
  • loader/navigation-policy/should-open-external-urls/user-gesture-window-open-with-flag-from-subframe-expected.txt: Added.
  • loader/navigation-policy/should-open-external-urls/user-gesture-window-open-with-flag-from-subframe.html: Added.
  • loader/navigation-policy/should-open-external-urls/user-gesture-window-open-with-flag.html: Added.
  • loader/navigation-policy/should-open-external-urls/user-gesture-window-open-without-flag-expected.txt: Added.
  • loader/navigation-policy/should-open-external-urls/user-gesture-window-open-without-flag-from-subframe-expected.txt: Added.
  • loader/navigation-policy/should-open-external-urls/user-gesture-window-open-without-flag-from-subframe.html: Added.
  • loader/navigation-policy/should-open-external-urls/user-gesture-window-open-without-flag.html: Added.
  • loader/navigation-policy/should-open-external-urls/window-open-with-flag-expected.txt: Added.
  • loader/navigation-policy/should-open-external-urls/window-open-with-flag-from-subframe-expected.txt: Added.
  • loader/navigation-policy/should-open-external-urls/window-open-with-flag-from-subframe.html: Added.
  • loader/navigation-policy/should-open-external-urls/window-open-with-flag.html: Added.
  • loader/navigation-policy/should-open-external-urls/window-open-without-flag-expected.txt: Added.
  • loader/navigation-policy/should-open-external-urls/window-open-without-flag-from-subframe-expected.txt: Added.
  • loader/navigation-policy/should-open-external-urls/window-open-without-flag-from-subframe.html: Added.
  • loader/navigation-policy/should-open-external-urls/window-open-without-flag.html: Added.
10:48 AM Changeset in webkit [185110] by mark.lam@apple.com
  • 2 edits in trunk/Tools

build-jsc's --cloop option is broken.
https://bugs.webkit.org/show_bug.cgi?id=145516

Reviewed by Darin Adler.

  • Scripts/build-jsc:
  • Make sure to disable the JIT when --cloop is specified. Did analogous fix for --ftljit.
10:36 AM Changeset in webkit [185109] by Yusuke Suzuki
  • 12 edits in trunk/Source

Heap-use-after-free read of size 4 in JavaScriptCore: WTF::StringImpl::isSymbol() (StringImpl.h:496)
https://bugs.webkit.org/show_bug.cgi?id=145532

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

AtomicStringImpl::lookUp returns AtomicStringImpl*,
it doesn't give any ownership to the caller.
Originally, this is ok because the ownership is taken
by AtomicStringImpl's table (& the register side).

But if we would like to use this returned AtomicStringImpl*,
we should take its ownership immediately.
Because if the register side releases its ownership (ref count),
it will be destroyed.

In JSString::toExistingAtomicString, it returns AtomicStringImpl*.
But it's not appropriate.
If the owner of AtomicStringImpl* is always JSString*, it is ok.
But it looks up the table-registered AtomicStringImpl* from
the AtomicStringImpl table. So JSString* may not have the ownership
of the returned AtomicStringImpl*.

The failure situation is the following.

  1. A creates AtomicStringImpl. A has its ownership. And A registers it to AtomicStringImpl table.
  2. JSString looks up the AtomicStringImpl from the table. It gets AtomicStringImpl*. And JSString doesn't have its ownership. It returns the raw pointer immediately to the users
  3. A is released. There's no owner for AtomicStringImpl*. So it's also destroyed.
  4. Use looked up AtomicStringImpl in (2). It becomes use-after-free.

This patch fixes it by the following changes.

  1. Change the signature of AtomicStringImpl* AtomicStringImpl::lookUp(...) to RefPtr<AtomicStringImpl> AtomicStringImpl::lookUp(..). Use RefPtr because it may return nullptr.
  2. Change the signature of AtomicStringImpl* JSString::toExistingAtomicString(...) to RefPtr<AtomicStringImpl> JSString::toExistingAtomicString(...). Using RefPtr is the same reason.
  3. Receive the result with RefPtr<AtomicStringImpl> in the caller side.
  • dfg/DFGOperations.cpp:
  • jit/JITOperations.cpp:

(JSC::getByVal):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::getByVal):

  • runtime/JSString.cpp:

(JSC::JSRopeString::resolveRopeToExistingAtomicString):

  • runtime/JSString.h:

(JSC::JSString::toExistingAtomicString):

Source/WebCore:

Hold the ownership of AtomicStringImpl*.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateParametersCheck):

  • dom/TreeScope.cpp:

(WebCore::TreeScope::getElementById):

Source/WTF:

Return RefPtr<AtomicStringImpl> instead of AtomicStringImpl*.

  • wtf/text/AtomicStringImpl.cpp:

(WTF::AtomicStringImpl::lookUpSlowCase):
(WTF::AtomicStringImpl::lookUpInternal):

  • wtf/text/AtomicStringImpl.h:

(WTF::AtomicStringImpl::lookUp):

10:26 AM Changeset in webkit [185108] by dbates@webkit.org
  • 3 edits in trunk/Tools

Update ATS keys used in MiniBrowser and WebKitTestRunnerApp

Rubber-stamped by Alexey Proskuryakov.

  • MiniBrowser/mac/Info.plist:
  • WebKitTestRunner/WebKitTestRunnerApp/WebKitTestRunnerApp-Info.plist:
2:12 AM Changeset in webkit [185107] by Gyuyoung Kim
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r185091): Crash happens on indexdb tests
https://bugs.webkit.org/show_bug.cgi?id=145549

Reviewed by Csaba Osztrogonác.

r185091 caused crash on some indexeddb tests. The crash happens because IDBDatabaseError::create() doesn't
dereference count by using ptr(). It makes a crash when dereferencing on ~Ref() destructor. To fix this issue,
this patch uses leakRef() instead of ptr().

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::didCreateObjectStore):
(WebKit::WebIDBServerConnection::didCreateIndex):
(WebKit::WebIDBServerConnection::didDeleteIndex):
(WebKit::WebIDBServerConnection::didPutRecord):
(WebKit::WebIDBServerConnection::didGetRecord):
(WebKit::WebIDBServerConnection::didOpenCursor):
(WebKit::WebIDBServerConnection::didAdvanceCursor):
(WebKit::WebIDBServerConnection::didIterateCursor):
(WebKit::WebIDBServerConnection::didCount):
(WebKit::WebIDBServerConnection::didDeleteRange):
(WebKit::WebIDBServerConnection::didClearObjectStore):
(WebKit::WebIDBServerConnection::didDeleteObjectStore):
(WebKit::WebIDBServerConnection::didChangeDatabaseVersion):

2:08 AM Changeset in webkit [185106] by youenn.fablet@crf.canon.fr
  • 5 edits in trunk/Source/WebCore

SharedBuffer::copy should return a Ref<SharedBuffer>
https://bugs.webkit.org/show_bug.cgi?id=145499

Reviewed by Andreas Kling.

Changing SharedBuffer::copy to return a Ref<> and adapting some code accordingly.

Covered by existing tests.

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveResponse):

  • loader/appcache/ApplicationCacheResource.cpp:

(WebCore::ApplicationCacheResource::deliver):

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::copy):

  • platform/SharedBuffer.h:

Jun 1, 2015:

10:48 PM Changeset in webkit [185105] by jonowells@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Type token text descenders touch bottom of container
https://bugs.webkit.org/show_bug.cgi?id=145544

Reviewed by Timothy Hatcher.

Move 1px padding from top to bottom of token.

  • UserInterface/Views/TypeTokenView.css:

(.type-token):

10:46 PM Changeset in webkit [185104] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Better handle keyboard events in the quick console prompt
https://bugs.webkit.org/show_bug.cgi?id=145548

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-06-01
Reviewed by Timothy Hatcher.

  • UserInterface/Base/Main.js:

(WebInspector.saveDataToFile):
Move generic InspectorFrontendHost code here.

  • UserInterface/Views/ContentBrowser.js:

(WebInspector.ContentBrowser.prototype._save):
(WebInspector.ContentBrowser.prototype._saveAs):
(WebInspector.ContentBrowser.prototype._saveDataToFile): Deleted.
Use the generic save code.

  • UserInterface/Controllers/JavaScriptLogViewController.js:

(WebInspector.JavaScriptLogViewController):
(WebInspector.JavaScriptLogViewController.prototype._save):
(WebInspector.JavaScriptLogViewController.prototype._saveAs):
Handle save keyboard shortcuts while the prompt is focused.

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype.focusSearchBar):
(WebInspector.LogContentView.prototype.save):
(WebInspector.LogContentView.prototype.saveAs):
Better handle keyboard shortcut cases in the console prompt for cases
like a collapsed or split console view.

10:39 PM Changeset in webkit [185103] by fpizlo@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

Any exit from any JIT due to profiling for an inline cache should force all future compilations to be wary
https://bugs.webkit.org/show_bug.cgi?id=145496

Reviewed by Geoffrey Garen.

This pessimizes compilation a bit, but it reduces the likelihood of exiting from FTL. I
couldn't find any convincing reason not to do this, and we know from Speedometer that this
change is necessary for weirder code.

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFor):
(JSC::CallLinkStatus::computeExitSiteData):
(JSC::CallLinkStatus::computeDFGStatuses):

  • bytecode/CallLinkStatus.h:
  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::appendVariant):
(JSC::GetByIdStatus::hasExitSite):
(JSC::GetByIdStatus::computeFor):

  • bytecode/GetByIdStatus.h:
  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::appendVariant):
(JSC::PutByIdStatus::hasExitSite):
(JSC::PutByIdStatus::computeFor):

  • bytecode/PutByIdStatus.h:
8:29 PM Changeset in webkit [185102] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Unreviewed, rolling out r185066.
https://bugs.webkit.org/show_bug.cgi?id=145543

it breaks the FTL JIT builds with a local checkout of llvm
(Requested by pizlo on #webkit).

Reverted changeset:

"build-jsc's --cloop option is broken."
https://bugs.webkit.org/show_bug.cgi?id=145516
http://trac.webkit.org/changeset/185066

8:13 PM Changeset in webkit [185101] by commit-queue@webkit.org
  • 23 edits in trunk/Source/WebCore

Use modern for-loops in WebCore/Modules - 1
https://bugs.webkit.org/show_bug.cgi?id=145507

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-06-01
Reviewed by Darin Adler.

No new tests, no behavior changes.

  • Modules/battery/BatteryController.cpp:

(WebCore::BatteryController::~BatteryController):
(WebCore::BatteryController::updateBatteryStatus):
(WebCore::BatteryController::didChangeBatteryStatus):

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::CDMFactoryForKeySystem):

  • Modules/encryptedmedia/MediaKeys.cpp:

(WebCore::MediaKeys::~MediaKeys):

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::resumeTimerFired):
(WebCore::Geolocation::resetAllGeolocationPermission):
(WebCore::Geolocation::makeCachedPositionCallbacks):
(WebCore::Geolocation::sendError):
(WebCore::Geolocation::sendPosition):
(WebCore::Geolocation::stopTimer):
(WebCore::Geolocation::cancelRequests):
(WebCore::Geolocation::extractNotifiersWithCachedPosition):
(WebCore::Geolocation::copyToSet):
(WebCore::Geolocation::handlePendingPermissionNotifiers):

  • Modules/geolocation/GeolocationController.cpp:

(WebCore::GeolocationController::positionChanged):
(WebCore::GeolocationController::errorOccurred):

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::objectStoreNames):
(WebCore::IDBDatabase::transaction):
(WebCore::IDBDatabase::forceClose):
(WebCore::IDBDatabase::closeConnection):
(WebCore::IDBDatabase::findObjectStoreId):

  • Modules/indexeddb/IDBDatabaseBackend.cpp:

(WebCore::IDBDatabaseBackend::runIntVersionChangeTransaction):
(WebCore::IDBDatabaseBackend::deleteDatabase):
(WebCore::IDBDatabaseBackend::close):

  • Modules/indexeddb/IDBDatabaseMetadata.cpp:

(WebCore::IDBDatabaseMetadata::isolatedCopy):
(WebCore::IDBObjectStoreMetadata::isolatedCopy):

  • Modules/indexeddb/IDBKey.cpp:

(WebCore::IDBKey::isValid):

  • Modules/indexeddb/IDBKey.h:

(WebCore::IDBKey::createMultiEntryArray):
(WebCore::IDBKey::createArray):

  • Modules/indexeddb/IDBKeyPath.cpp:

(WebCore::IDBKeyPath::IDBKeyPath):
(WebCore::IDBKeyPath::isValid):
(WebCore::IDBKeyPath::isolatedCopy):

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::indexNames):
(WebCore::IDBObjectStore::put):
Rename the two 'i's to 'keyData' and 'indexKeyData'.
(WebCore::IDBObjectStore::index):
(WebCore::IDBObjectStore::findIndexId):

  • Modules/indexeddb/IDBPendingTransactionMonitor.cpp:

(WebCore::IDBPendingTransactionMonitor::deactivateNewTransactions):

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::abort):

  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::closeOpenCursors):
(WebCore::IDBTransaction::onAbort):
(WebCore::IDBTransaction::dispatchEvent):

  • Modules/indexeddb/IDBTransactionBackend.cpp:

(WebCore::IDBTransactionBackend::create):
(WebCore::IDBTransactionBackend::closeOpenCursors):

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::onReadyStateChange):

  • Modules/mediastream/MediaConstraintsImpl.cpp:

(WebCore::MediaConstraintsImpl::initialize):
(WebCore::MediaConstraintsImpl::getMandatoryConstraints):
(WebCore::MediaConstraintsImpl::getOptionalConstraintValue):

  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::create):
(WebCore::MediaStream::cloneMediaStreamTrackVector):
(WebCore::MediaStream::addTrack):
(WebCore::MediaStream::removeTrack):
(WebCore::MediaStream::haveTrackWithSource):
(WebCore::MediaStream::getTrackById):
(WebCore::MediaStream::getTracks):
(WebCore::MediaStream::trackDidEnd):
(WebCore::MediaStream::scheduledEventTimerFired):

  • Modules/mediastream/MediaStreamCapabilities.cpp:

(WebCore::MediaStreamCapabilities::sourceType):
(WebCore::MediaStreamCapabilities::sourceId):
(WebCore::MediaStreamCapabilities::facingMode):

  • Modules/mediastream/MediaStreamTrack.cpp:

(WebCore::MediaStreamTrack::trackDidEnd):

  • Modules/mediastream/MediaStreamTrackSourcesRequest.cpp:

(WebCore::MediaStreamTrackSourcesRequest::didCompleteRequest):

8:11 PM Changeset in webkit [185100] by mmaxfield@apple.com
  • 3 edits
    4 adds in trunk

[SVG -> OTF Converter] Remove unnecessary hacks
https://bugs.webkit.org/show_bug.cgi?id=145088

Reviewed by Simon Fraser.

Source/WebCore:

Not needed anymore.

Test: svg/text/offset-square-svg-font.html

  • svg/SVGToOTFFontConversion.cpp:

(WebCore::SVGToOTFFontConverter::appendKERNTable):
(WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter):

LayoutTests:

Test that the hacks are unnecessary.

  • svg/text/offset-square-svg-font-expected.html: Added.
  • svg/text/offset-square-svg-font.html: Added.
  • svg/text/resources/offset-square-svg-font.svg: Added.
  • svg/text/resources/offset-square-svg-font2.svg: Added.
7:59 PM Changeset in webkit [185099] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

If a call has ever taken the virtual slow path, make sure that the DFG knows this
https://bugs.webkit.org/show_bug.cgi?id=145501

Reviewed by Geoffrey Garen.

Now now return higher fidelity information in the case of no polymorphic call stub. If the
virtual slow path was ever taken, we note this, and we note either zero or one call variant
based on the IC's last callee.

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFromCallLinkInfo):
(JSC::CallLinkStatus::computeFor):

7:55 PM Changeset in webkit [185098] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

[Mac] Unreviewed gardening.

Calling setAcceleratedCompositingForFixedPositionEnabled(true) is too late in doTest().

  • compositing/layer-creation/zoomed-clip-intersection.html:
7:29 PM Changeset in webkit [185097] by akling@apple.com
  • 6 edits
    7 deletes in trunk

CSS animations in filling-forwards state shouldn't force compositing.
<https://webkit.org/b/145389>
<rdar://problem/17923642>

Reviewed by Simon Fraser.

Source/WebCore:

Stop checking if a CSS animation is filling forwards when computing
compositing requirements.

This prevents finished animations from pinning elements in composited
state, and frees up a bunch of IOSurface memory on some content.

  • page/animation/AnimationBase.h:

(WebCore::AnimationBase::isAnimatingProperty): Deleted.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGeometry):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForAnimation):

LayoutTests:

Remove tests that were only here to check that animations in fill-forwards
state would participate in overlap testing.

  • compositing/animation/layer-for-filling-animation-expected.txt: Update expected result

here to reflect that we no longer expect filling-forwards animations to get composited.

  • compositing/animation/filling-animation-overlap-at-end-expected.txt: Removed.
  • compositing/animation/filling-animation-overlap-at-end.html: Removed.
  • compositing/animation/filling-animation-overlap-expected.txt: Removed.
  • compositing/animation/filling-animation-overlap.html: Removed.
  • platform/ios-sim-deprecated/compositing/animation/filling-animation-overlap-at-end-expected.txt: Removed.
  • platform/ios-sim-deprecated/compositing/animation/filling-animation-overlap-expected.txt: Removed.
  • platform/ios-sim-deprecated/compositing/animation/layer-for-filling-animation-expected.txt: Removed.
7:15 PM Changeset in webkit [185096] by mmaxfield@apple.com
  • 2 edits
    1 copy in trunk/LayoutTests

Test gardening after r185087.
https://bugs.webkit.org/show_bug.cgi?id=145478

Unreviewed.

  • platform/mac-mavericks/fast/text/font-weights-zh-expected.txt: Copied from LayoutTests/platform/mac/fast/text/font-weights-zh-expected.txt.
  • platform/mac/fast/text/font-weights-zh-expected.txt:
7:10 PM Changeset in webkit [185095] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

Out of bounds read in WebCore::ComplexTextController::adjustGlyphsAndAdvances
https://bugs.webkit.org/show_bug.cgi?id=145537
<rdar://problem/20959267>

Reviewed by Darin Adler.

Source/WebCore:

U16_IS_SURROGATE_LEAD(ch) assumes U16_IS_SURROGATE(ch). In this case, that isn't true.

Test: fast/text/crash-complex-text-surrogate.html

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::ComplexTextController::adjustGlyphsAndAdvances):

LayoutTests:

  • fast/text/crash-complex-text-surrogate.html: Added.
  • platform/mac/fast/text/crash-complex-text-surrogate-expected.txt: Added.
6:53 PM Changeset in webkit [185094] by Nikita Vasilyev
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Pause/resume button in the debugger dashboard is vertically misaligned
https://bugs.webkit.org/show_bug.cgi?id=145534

Reviewed by Timothy Hatcher.

  • UserInterface/Views/ButtonNavigationItem.css:

(.navigation-bar .item.button.suppress-emboss):
Never show borders for the pause/resume button.

  • UserInterface/Views/DebuggerDashboardView.css:

(.dashboard.debugger .navigation-bar .item.button):

6:29 PM Changeset in webkit [185093] by Alan Bujtas
  • 4 edits
    2 adds in trunk

REGRESSION (179771): zooming on facebook images covers image
https://bugs.webkit.org/show_bug.cgi?id=145485

Reviewed by Simon Fraser.

Scaling an infinite rect should always produce an infinite rect.
(Based on Simon Fraser's patch)

Source/WebCore:

Test: compositing/layer-creation/zoomed-clip-intersection.html

  • platform/graphics/LayoutRect.cpp:

(WebCore::LayoutRect::scale):

LayoutTests:

  • compositing/layer-creation/zoomed-clip-intersection-expected.txt: Added.
  • compositing/layer-creation/zoomed-clip-intersection.html: Added.
6:27 PM Changeset in webkit [185092] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] Hardware Keyboard: All combinations for arrow keys with Shift do not extend the selection.
https://bugs.webkit.org/show_bug.cgi?id=145538
rdar://problem/18504199

Reviewed by Darin Adler.

The extend parameter was ignored in all the functions below.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _moveUp:withHistory:]):
(-[WKContentView _moveDown:withHistory:]):
(-[WKContentView _moveLeft:withHistory:]):
(-[WKContentView _moveRight:withHistory:]):
(-[WKContentView _moveToStartOfWord:withHistory:]):
(-[WKContentView _moveToStartOfParagraph:withHistory:]):
(-[WKContentView _moveToStartOfLine:withHistory:]):
(-[WKContentView _moveToStartOfDocument:withHistory:]):
(-[WKContentView _moveToEndOfWord:withHistory:]):
(-[WKContentView _moveToEndOfParagraph:withHistory:]):
(-[WKContentView _moveToEndOfLine:withHistory:]):
(-[WKContentView _moveToEndOfDocument:withHistory:]):

6:04 PM Changeset in webkit [185091] by Gyuyoung Kim
  • 49 edits in trunk/Source

Purge PassRefPtr in WebCore/Modules - 3
https://bugs.webkit.org/show_bug.cgi?id=145508

Reviewed by Darin Adler.

As a step to purge PassRefPtr, this patch removes PassRefPtr, then use Ref or RefPtr.

  • Modules/indexeddb/IDBCursor.cpp:

(WebCore::IDBCursor::create):

  • Modules/indexeddb/IDBCursor.h:
  • Modules/indexeddb/IDBCursorBackend.h:

(WebCore::IDBCursorBackend::create):

  • Modules/indexeddb/IDBCursorBackendOperations.h:

(WebCore::CursorIterationOperation::create):
(WebCore::CursorAdvanceOperation::create):

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::create):

  • Modules/indexeddb/IDBDatabase.h:
  • Modules/indexeddb/IDBDatabaseBackend.cpp:

(WebCore::IDBDatabaseBackend::create):

  • Modules/indexeddb/IDBDatabaseBackend.h:
  • Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp:

(WebCore::IDBDatabaseCallbacksImpl::create):

  • Modules/indexeddb/IDBDatabaseCallbacksImpl.h:
  • Modules/indexeddb/IDBDatabaseError.h:

(WebCore::IDBDatabaseError::create):

  • Modules/indexeddb/IDBIndex.h:

(WebCore::IDBIndex::create):

  • Modules/indexeddb/IDBKey.h:

(WebCore::IDBKey::createInvalid):
(WebCore::IDBKey::createNumber):
(WebCore::IDBKey::createString):
(WebCore::IDBKey::createDate):
(WebCore::IDBKey::createArray):

  • Modules/indexeddb/IDBKeyRange.cpp:

(WebCore::IDBKeyRange::create):

  • Modules/indexeddb/IDBKeyRange.h:

(WebCore::IDBKeyRange::create):

  • Modules/indexeddb/IDBObjectStore.cpp:
  • Modules/indexeddb/IDBObjectStore.h:

(WebCore::IDBObjectStore::create):

  • Modules/indexeddb/IDBOpenDBRequest.cpp:

(WebCore::IDBOpenDBRequest::create):

  • Modules/indexeddb/IDBOpenDBRequest.h:
  • Modules/indexeddb/IDBRecordIdentifier.h:

(WebCore::IDBRecordIdentifier::create):

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::create):
(WebCore::IDBRequest::getResultCursor):

  • Modules/indexeddb/IDBRequest.h:
  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::create):

  • Modules/indexeddb/IDBTransaction.h:
  • Modules/indexeddb/IDBTransactionBackend.cpp:

(WebCore::IDBTransactionBackend::create):

  • Modules/indexeddb/IDBTransactionBackend.h:
  • Modules/indexeddb/IDBTransactionBackendOperations.h:

(WebCore::CreateObjectStoreOperation::create):
(WebCore::DeleteObjectStoreOperation::create):
(WebCore::IDBDatabaseBackend::VersionChangeOperation::create):
(WebCore::CreateObjectStoreAbortOperation::create):
(WebCore::DeleteObjectStoreAbortOperation::create):
(WebCore::IDBDatabaseBackend::VersionChangeAbortOperation::create):
(WebCore::CreateIndexOperation::create):
(WebCore::CreateIndexAbortOperation::create):
(WebCore::DeleteIndexOperation::create):
(WebCore::DeleteIndexAbortOperation::create):
(WebCore::GetOperation::create):
(WebCore::PutOperation::create):
(WebCore::SetIndexesReadyOperation::create):
(WebCore::OpenCursorOperation::create):
(WebCore::CountOperation::create):
(WebCore::DeleteRangeOperation::create):
(WebCore::ClearObjectStoreOperation::create):

  • Modules/mediasource/VideoPlaybackQuality.cpp:

(WebCore::VideoPlaybackQuality::create):

  • Modules/mediasource/VideoPlaybackQuality.h:
  • Modules/mediastream/MediaConstraintsImpl.cpp:

(WebCore::MediaConstraintsImpl::create):

  • Modules/mediastream/MediaConstraintsImpl.h:
  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::create):

  • Modules/mediastream/MediaStream.h:
  • Modules/mediastream/RTCDTMFSender.cpp:

(WebCore::RTCDTMFSender::create):

  • Modules/mediastream/RTCDTMFSender.h:
  • Modules/mediastream/RTCOfferAnswerOptions.cpp:

(WebCore::RTCOfferAnswerOptions::create):
(WebCore::RTCOfferOptions::create):

  • Modules/mediastream/RTCOfferAnswerOptions.h:
  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::parseConfiguration):
(WebCore::RTCPeerConnection::create):

  • Modules/mediastream/RTCPeerConnection.h:
  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::create):

  • Modules/webdatabase/AbstractDatabaseServer.h:
  • Modules/webdatabase/DOMWindowWebDatabase.cpp:

(WebCore::DOMWindowWebDatabase::openDatabase):

  • Modules/webdatabase/DOMWindowWebDatabase.h:
  • Modules/webdatabase/DatabaseManager.cpp:

(WebCore::DatabaseManager::existingDatabaseContextFor):
(WebCore::DatabaseManager::databaseContextFor):
(WebCore::DatabaseManager::openDatabase):

  • Modules/webdatabase/DatabaseManager.h:
  • Modules/webdatabase/DatabaseServer.cpp:

(WebCore::DatabaseServer::openDatabase):
(WebCore::DatabaseServer::createDatabase):

  • Modules/webdatabase/DatabaseServer.h:
5:26 PM Changeset in webkit [185090] by andersca@apple.com
  • 4 edits in trunk/Source

Use xpc_connection_set_oneshot_instance where possible
https://bugs.webkit.org/show_bug.cgi?id=145535
rdar://problem/21109994

Reviewed by Sam Weinig.

Source/WebKit2:

Use xpc_connection_set_oneshot_instance where possible; this will make sure that the
web process instances go away when the web process exits.

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::connectToService):
(WebKit::connectToReExecService):

Source/WTF:

Add SPI declaration.

  • wtf/spi/darwin/XPCSPI.h:
5:01 PM Changeset in webkit [185089] by dbates@webkit.org
  • 10 edits
    3 adds in trunk

Notify client that we began editing when text field is focused
https://bugs.webkit.org/show_bug.cgi?id=145439
<rdar://problem/21142108>

Reviewed by Anders Carlsson.

Source/WebCore:

Inform the editor client that we began editing when a text field is focused either
by being explicitly focused (programmatically or by user interaction) or implicitly
focused when the window became active.

Currently we only notify the editor client that we began editing a text field when
when a person actually changes the value of the field. And we always notify the
client that we ended editing when a text field is defocused regardless of whether
we executed a began editing callback. Moreover we notify a client that we
ended editing when the field is defocused (either explicitly or implicitly when the
window becomes inactive). Instead we should always notify the client that we began
editing when the field is focused so that this callback is symmetric with the end
editing callback.

  • html/SearchInputType.cpp:

(WebCore::SearchInputType::didSetValueByUserEdit): Remove parameter for ValueChangeState,
which was used to determine whether we should notify the client that we began editing, because
we we will notify the client that editing began when the text field is focused as opposed to
when the value of text field first changes.

  • html/SearchInputType.h: Ditto.
  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::forwardEvent): Notify the client that we began editing when
the text field is focused.
(WebCore::TextFieldInputType::subtreeHasChanged): Update call site of didSetValueByUserEdit()
following the removal of its parameter.
(WebCore::TextFieldInputType::didSetValueByUserEdit): Ditto.

  • html/TextFieldInputType.h:

Tools:

Add API test to ensure that we dispatch textFieldDid{Begin, End}Editing callbacks when
a text field is focused and defocused.

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/PlatformEfl.cmake:
  • TestWebKitAPI/PlatformGTK.cmake:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/TextFieldDidBeginAndEndEditing.cpp: Added.

(TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::didReceiveMessageFromInjectedBundle):
(TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::didFinishLoadForFrame):
(TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::setInjectedBundleClient):
(TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::setPageLoaderClient):
(TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::nullJavaScriptCallback):
(TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::executeJavaScriptAndCheckDidReceiveMessage):
(TestWebKitAPI::TEST_F):

  • TestWebKitAPI/Tests/WebKit2/TextFieldDidBeginAndEndEditing_Bundle.cpp: Added.

(TestWebKitAPI::textFieldDidBeginEditing):
(TestWebKitAPI::textFieldDidEndEditing):
(TestWebKitAPI::TextFieldDidBeginAndEndEditingEventsTest::TextFieldDidBeginAndEndEditingEventsTest):
(TestWebKitAPI::TextFieldDidBeginAndEndEditingEventsTest::didCreatePage):

  • TestWebKitAPI/Tests/WebKit2/input-focus-blur.html: Added.
4:57 PM Changeset in webkit [185088] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] Hardware Keyboard: Command + left arrow does not work.
https://bugs.webkit.org/show_bug.cgi?id=145531
rdar://problem/18576402

Reviewed by Anders Carlsson.

We were calling a non existent command (moveToStartOfLine) instead of
moveToBeginningOfLine.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _moveToStartOfLine:withHistory:]):

4:57 PM Changeset in webkit [185087] by mmaxfield@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Test font selection for zh fonts
https://bugs.webkit.org/show_bug.cgi?id=145478

Rubber-stamped by Zalan Bujtas.

  • platform/mac/fast/text/font-weights-zh-expected.txt: Added.
  • platform/mac/fast/text/font-weights-zh.html: Added.
4:45 PM Changeset in webkit [185086] by commit-queue@webkit.org
  • 3 edits
    1 delete in trunk/LayoutTests

Unreviewed, rolling out r185074 and r185085.
https://bugs.webkit.org/show_bug.cgi?id=145533

Moving to a separate test (Requested by litherum on #webkit).

Reverted changesets:

"Test font selection for zh fonts"
https://bugs.webkit.org/show_bug.cgi?id=145478
http://trac.webkit.org/changeset/185074

"Test gardening after r185074"
https://bugs.webkit.org/show_bug.cgi?id=145478
http://trac.webkit.org/changeset/185085

4:35 PM Changeset in webkit [185085] by mmaxfield@apple.com
  • 2 edits
    1 copy in trunk/LayoutTests

Test gardening after r185074
https://bugs.webkit.org/show_bug.cgi?id=145478

Unreviewed.

  • platform/mac-mavericks/fast/text/font-weights-expected.txt: Copied from LayoutTests/platform/mac/fast/text/font-weights-expected.txt.
  • platform/mac/fast/text/font-weights-expected.txt: Yosemite-specific test results.
4:35 PM Changeset in webkit [185084] by msaboff@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Crash in com.apple.WebKit.WebContent at com.apple.JavaScriptCore: JSC::revertCall + 24
https://bugs.webkit.org/show_bug.cgi?id=145527

Reviewed by Filip Pizlo.

If a CallLinkInfo is GC'ed, we need to notify any PolymorphicCallNode's that reference it.
Added plumbling to clear the m_callLinkInfo of a PolymorphicCallNode when that CallLinkInfo
is going away.

  • bytecode/CallLinkInfo.h:

(JSC::CallLinkInfo::~CallLinkInfo):

  • jit/PolymorphicCallStubRoutine.cpp:

(JSC::PolymorphicCallNode::unlink):
(JSC::PolymorphicCallNode::clearCallLinkInfo):
(JSC::PolymorphicCallCase::dump):
(JSC::PolymorphicCallStubRoutine::edges):
(JSC::PolymorphicCallStubRoutine::clearCallNodesFor):
(JSC::PolymorphicCallStubRoutine::visitWeak):

  • jit/PolymorphicCallStubRoutine.h:

(JSC::PolymorphicCallNode::hasCallLinkInfo):

4:22 PM Changeset in webkit [185083] by mark.lam@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Add the ability to tell between Catch and Finally blocks.
https://bugs.webkit.org/show_bug.cgi?id=145524

Reviewed by Michael Saboff.

... and also SynthesizedFinally blocks too. A SynthesizedFinally block
is a finally block that is synthesized by the bytecode generator but
does not actually correspond to any exception handling construct at the
JS source code level. An example of this is the "for ... of" statement
where it needs to do some "final" clean up before passing on the
exception.

Manually tested by inspecting the bytecode dump of functions with
try-catch-finally blocks as well as for of statements which have
synthesized finally blocks. The bytecode dumps contains the exception
handlers table which has these blocks labelled with their newly added
types. No automatic test because this type info is not visible to JS
code.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • bytecode/HandlerInfo.h:

(JSC::HandlerInfoBase::type):
(JSC::HandlerInfoBase::setType):
(JSC::HandlerInfoBase::typeName):
(JSC::HandlerInfoBase::isCatchHandler):
(JSC::UnlinkedHandlerInfo::UnlinkedHandlerInfo):
(JSC::HandlerInfo::initialize):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::pushTry):
(JSC::BytecodeGenerator::popTryAndEmitCatch):
(JSC::BytecodeGenerator::emitEnumeration):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::emitThrow):

  • bytecompiler/NodesCodegen.cpp:

(JSC::TryNode::emitBytecode):

3:46 PM Changeset in webkit [185082] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.16.5

New tag.

3:46 PM Changeset in webkit [185081] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.16-branch/Source

Versioning.

3:43 PM Changeset in webkit [185080] by andersca@apple.com
  • 5 edits in trunk/Source

WAKScrollView.h cannot be imported standalone
https://bugs.webkit.org/show_bug.cgi?id=145529

Reviewed by Dan Bernstein.

Source/WebCore:

  • page/mac/WebCoreFrameView.h:

Remove the cplusplus #ifdefs since WebCoreFrameView.h is only used by Objective-C++ code.
(The different non-C++ method declarations were wrong anyway!)

  • platform/ScrollTypes.h:

Remove the #ifdef cplusplus surrounding the code, add header includes to make the file self-contained,
and reformat the enum definitions.

Source/WebKit/mac:

Don't migrate WAKScrollView.h, it's not used outside of WebKit.

  • MigrateHeaders.make:
3:40 PM Changeset in webkit [185079] by achristensen@apple.com
  • 5 edits in trunk

[Content Extensions] resource-type and load-type should be independent.
https://bugs.webkit.org/show_bug.cgi?id=145528
rdar://problem/21190765

Reviewed by Benjamin Poulain.

Source/WebCore:

Covered by existing tests and a new API test.

Right now we use the same uint16_t to store all the load-type and resource-type flags,
then we just do a bitwise and to check both at the same time. This results in a trigger
with load-type and resource-type firing if either condition is met, not both conditions.
A trigger with both resource-type and load-type conditions should only fire if both conditions are met.

  • contentextensions/DFABytecodeInterpreter.cpp:

(WebCore::ContentExtensions::DFABytecodeInterpreter::interpretTestFlagsAndAppendAction):
Check and correctly handle rules with both resource-type and load-type flags.

  • loader/ResourceLoadInfo.h:

Add masks to separate flags from resource-type and load-type.

Tools:

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(TestWebKitAPI::TEST_F):

3:29 PM Changeset in webkit [185078] by achristensen@apple.com
  • 5 edits in trunk/Source/WebCore

[Content Extensions] Reduce DFA memory usage.
https://bugs.webkit.org/show_bug.cgi?id=145526

Reviewed by Benjamin Poulain.

  • contentextensions/DFA.cpp:

(WebCore::ContentExtensions::DFA::memoryUsed):
(WebCore::ContentExtensions::DFANode::transitions):
(WebCore::ContentExtensions::DFANode::fallbackTransitionDestination):
(WebCore::ContentExtensions::DFANode::changeFallbackTransition):
(WebCore::ContentExtensions::DFANode::addFallbackTransition):
(WebCore::ContentExtensions::DFANode::containsTransition):
(WebCore::ContentExtensions::DFANode::kill):

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

(WebCore::ContentExtensions::DFAMinimizer::minimize):

  • contentextensions/NFAToDFA.cpp:

(WebCore::ContentExtensions::NFAToDFA::convert):
Use separate Vectors for the transition characters and destinations to avoid wasting memory to padding a std::pair.

3:26 PM Changeset in webkit [185077] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

Implemented the eventTargetInterface and scriptExecutionContext methods required by EventTarget, as well as
some required infrastructure.
https://bugs.webkit.org/show_bug.cgi?id=145523

Patch by Matt Rajca <mrajca@apple.com> on 2015-06-01
Reviewed by Eric Carlson.

  • Modules/mediasession/MediaRemoteControls.cpp:

(WebCore::MediaRemoteControls::MediaRemoteControls): Initialize all instance variables.

  • Modules/mediasession/MediaRemoteControls.h: MediaRemoteControl's constructor now takes a script execution context, which we provide to EventTarget. The required eventTargetInterface method has also been implemented.

(WebCore::MediaRemoteControls::create):

  • Modules/mediasession/MediaRemoteControls.idl: Indicate MediaRemoteControls now takes a constructor that is passed in a script execution context. To prevent build errors, event handlers have been removed until they are implemented.
  • WebCore.xcodeproj/project.pbxproj: We should be building the derived JSMediaRemoteControls class with WebCore.
  • dom/EventTargetFactory.in: Ensure a MediaRemoteControlsEventTargetInterfaceType is generated.
3:00 PM Changeset in webkit [185076] by bshafiei@apple.com
  • 5 edits in branches/safari-600.7-branch/Source

Versioning.

2:21 PM Changeset in webkit [185075] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.7.10

New tag.

2:09 PM Changeset in webkit [185074] by mmaxfield@apple.com
  • 3 edits in trunk/LayoutTests

Test font selection for zh fonts
https://bugs.webkit.org/show_bug.cgi?id=145478

Reviewed by Zalan Bujtas.

We want to make sure that font selection works correctly for more than just Helvetica and Avenir.

  • platform/mac/fast/text/font-weights-expected.txt:
  • platform/mac/fast/text/font-weights.html:
1:53 PM Changeset in webkit [185073] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Add ATS keys to WebKitTestRunnerApp
https://bugs.webkit.org/show_bug.cgi?id=145519

Patch by Daniel Bates <dabates@apple.com> on 2015-06-01
Reviewed by Alexey Proskuryakov.

Add ATS keys for WebKitTestRunnerApp as we did for MiniBrowser in bug #145141.

  • WebKitTestRunner/WebKitTestRunnerApp/WebKitTestRunnerApp-Info.plist:
12:57 PM Changeset in webkit [185072] by beidson@apple.com
  • 21 edits
    1 copy
    8 adds in trunk

Add WKTR support for "should open external URLs".
https://bugs.webkit.org/show_bug.cgi?id=145505

Reviewed by Darin Adler.

Source/WebKit2:

Expose C-spi to allow WKTR to set this bit on new loads:

  • UIProcess/API/C/WKPage.cpp:

(WKPageLoadURLWithShouldOpenExternalURLsPolicy):

  • UIProcess/API/C/WKPagePrivate.h:

Expose the bit on NavigationAction for the policy delegate:

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

(WKBundleNavigationActionGetShouldOpenExternalURLs):

  • WebProcess/InjectedBundle/API/c/WKBundleNavigationActionPrivate.h: Copied from Tools/WebKitTestRunner/WorkQueueManager.h.
  • WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:

(WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):

  • WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:

(WebKit::InjectedBundleNavigationAction::shouldOpenExternalURLs):

  • WebKit2.xcodeproj/project.pbxproj:

Tools:

  • Add a new option to "queueLoad" to allow javascript to queue a load that has the "should open external URLs" bit set.
  • Add a new "dumpPolicyDelegateCallbacks" call to dump the NavigationAction in the policy delegate, including whether or not the bit was set.
  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::queueLoad):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:

(WTR::TestRunner::dumpPolicyDelegateCallbacks):
(WTR::TestRunner::shouldDumpPolicyCallbacks):

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::queueLoad):

  • WebKitTestRunner/InjectedBundle/InjectedBundle.h:
  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::decidePolicyForNavigationAction):

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):

  • WebKitTestRunner/WorkQueueManager.cpp:

(WTR::WorkQueueManager::queueLoad):

  • WebKitTestRunner/WorkQueueManager.h:

LayoutTests:

  • loader/navigation-policy/resources/notify-done.html: Added.
  • loader/navigation-policy/should-load-external-urls-set-by-api-basic-expected.txt: Added.
  • loader/navigation-policy/should-load-external-urls-set-by-api-basic.html: Added.
  • loader/navigation-policy/should-not-load-external-urls-set-by-api-basic-expected.txt: Added.
  • loader/navigation-policy/should-not-load-external-urls-set-by-api-basic.html: Added.
  • platform/ios-simulator-wk1/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/win/TestExpectations:
12:42 PM Changeset in webkit [185071] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

[CSS JIT] Fail to compile when we are out of executable memory
https://bugs.webkit.org/show_bug.cgi?id=145483
rdar://problem/21166612

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

We should use a soft failure when the Linker fails to allocate
executable memory for the CSS JIT. We will just fallback to slow
code when that happen, better slow CSS than crashing.

Credit to Chris for finding this problem.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::compile):

12:31 PM Changeset in webkit [185070] by Chris Dumez
  • 3 edits
    2 adds in trunk

ASSERT(revalidatingResource.inCache()) in MemoryCache when reloading tumblr.com
https://bugs.webkit.org/show_bug.cgi?id=145518
<rdar://problem/21168573>

Reviewed by Darin Adler.

Source/WebCore:

There was an assertion in MemoryCache::revalidationSucceeded() making
sure that the resource that was revalidated is still in the memory
cache. However, nothing prevents this resource from being pruned while
it is being revalidated. We do make sure that the resource in question
cannot be destroyed though (see CachedResource::canDelete()).

This patch gets rid of this assertion as it is incorrect. Also, the
fact that the resource is no longer in the memory cache is not an
issue. We are merely going to call MemoryCache::remove() to remove
it from the memory cache before re-adding it and updating its
HTTP response. The call to MemoryCache::remove() will simply be a
no-op in this case and we will not have any problem adding the
resource back to the memory cache because the resource is kept alive.

Test: http/tests/cache/memory-cache-pruning-during-revalidation.html

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::revalidationSucceeded): Deleted.

LayoutTests:

Add layout test to make sure we no longer crash if the memory cache is
pruned while a resource is being revalidated.

  • http/tests/cache/memory-cache-pruning-during-revalidation-expected.txt: Added.
  • http/tests/cache/memory-cache-pruning-during-revalidation.html: Added.
12:05 PM Changeset in webkit [185069] by commit-queue@webkit.org
  • 4 edits
    3 adds in trunk/Source/WebCore

Add stub implementation of MediaRemoteControls, part of the Media Session spec.
https://bugs.webkit.org/show_bug.cgi?id=145462

Patch by Matt Rajca <mrajca@apple.com> on 2015-06-01
Reviewed by Eric Carlson.

  • CMakeLists.txt: Added IDL file as well as the corresponding implementation file.
  • DerivedSources.make: Included the new IDL file.
  • Modules/mediasession/MediaRemoteControls.cpp: Added an empty implementation file.

(MediaRemoteControls::~MediaRemoteControls):

  • Modules/mediasession/MediaRemoteControls.h: Added a stubbed header file with accessors for the four attributes declared in the IDL file.

(WebCore::MediaRemoteControls::previousTrackEnabled):
(WebCore::MediaRemoteControls::setPreviousTrackEnabled):
(WebCore::MediaRemoteControls::nextTrackEnabled):
(WebCore::MediaRemoteControls::setNextTrackEnabled):
(WebCore::MediaRemoteControls::seekForwardEnabled):
(WebCore::MediaRemoteControls::setSeekForwardEnabled):
(WebCore::MediaRemoteControls::seekBackwardEnabled):
(WebCore::MediaRemoteControls::setSeekBackwardEnabled):

  • Modules/mediasession/MediaRemoteControls.idl: Added from the Media Session spec.
  • WebCore.xcodeproj/project.pbxproj: Included the new IDL file and MediaRemoteControls.cpp/.h sources.
11:40 AM Changeset in webkit [185068] by barraclough@apple.com
  • 3 edits in trunk/Source/WebKit2

PDFs always think they're visible on iOS.
https://bugs.webkit.org/show_bug.cgi?id=145493
<rdar://problem/19668879>

Unreviewed roll-out.

Temporarily reverting this change – will need a workaround for test harness craziness.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView didMoveToWindow]):
(-[WKWebView setOpaque:]):

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView willMoveToWindow:]):
(-[WKContentView didMoveToWindow]):
(-[WKContentView browsingContextController]):

11:40 AM Changeset in webkit [185067] by ggaren@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION: These sorting idioms used by Peacekeeper and Browsermark are ~20X slower
https://bugs.webkit.org/show_bug.cgi?id=145412

Reviewed by Darin Adler.

Moar speedup.

Added a bucket sort for string sorting.

  • builtins/Array.prototype.js:

(sort.compactSparse):
(sort.compactSlow):
(sort.compact): Split out a compaction fast path for dense arrays. Without
it, compaction can increase sort time by 2X for simple sorts.

(sort.bucketSort):
(sort.stringSort): Use a bucket sorting algorithm if we know we're sorting
strings. This makes average case string sorting O(N) with O(N) additional
memory use.

The worst case bucket sort can require O(M * N) additional
space. We avoid this by falling back to merge sort when things are
simple or overly duplicative. These are the two cases that accumulate
excessive -- and potentially pathological -- bucketing overhead.

11:17 AM Changeset in webkit [185066] by mark.lam@apple.com
  • 2 edits in trunk/Tools

build-jsc's --cloop option is broken.
https://bugs.webkit.org/show_bug.cgi?id=145516

Reviewed by Darin Adler.

  • Scripts/build-jsc:
  • Make sure to disable the JIT when --cloop is specified. Did analogous fix for --ftljit.
11:05 AM Changeset in webkit [185065] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

[CMake] check-webkit-style provides bogus explanation for alphabetical sorting error
https://bugs.webkit.org/show_bug.cgi?id=144959

Reviewed by Darin Adler.

  • Scripts/webkitpy/style/checkers/cmake.py:

(CMakeChecker.check): Use enumerate instead of xrange.
(CMakeChecker._check_list_order): Use enumerate instead of incrementing line_number manually.

  • Scripts/webkitpy/style/checkers/cmake_unittest.py:

(CMakeCheckerTest.test_check): Update the expected results.

11:00 AM Changeset in webkit [185064] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

Fix the webkitpy scm unittests after r174051
https://bugs.webkit.org/show_bug.cgi?id=145511

Reviewed by Darin Adler.

  • Scripts/webkitpy/common/checkout/scm/scm_unittest.py:

(GitTestWithMock.make_scm):

10:57 AM Changeset in webkit [185063] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

HandlerInfo::initialize() should not assume that CodeLocationLabel is available.
https://bugs.webkit.org/show_bug.cgi?id=145515

Reviewed by Csaba Osztrogonác.

CodeLocationLabel is only defined for ENABLE(ASSEMBLER) builds. r185022's
attempt at simplifying code to increase readability failed to take this into
account. This patch fixes it.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecode/HandlerInfo.h:

(JSC::HandlerInfo::initialize):

10:13 AM Changeset in webkit [185062] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

EWS provides misleading information for not applyable patches
https://bugs.webkit.org/show_bug.cgi?id=145307

Reviewed by Alexey Proskuryakov.

  • Scripts/svn-apply: Die if there is no applyable diff in the patch.
10:01 AM Changeset in webkit [185061] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

[EFL] Remove unused const variable from EwkView.cpp
https://bugs.webkit.org/show_bug.cgi?id=145512

Reviewed by Gyuyoung Kim.

  • UIProcess/API/efl/EwkView.cpp:
9:57 AM Changeset in webkit [185060] by ap@apple.com
  • 2 edits in trunk/Tools

Further tweak results of WebKit1.StringTruncator after r184965.

  • TestWebKitAPI/Tests/mac/StringTruncator.mm:
8:40 AM Changeset in webkit [185059] by svillar@igalia.com
  • 5 edits in trunk/Source/WebCore

[CSS Grid Layout] Simplify the interface of GridResolvedPosition
https://bugs.webkit.org/show_bug.cgi?id=139077

Reviewed by Darin Adler.

The interface of GridResolvedPosition is full of static methods
that are used only internally, we should not expose them.

Apart from that resolveGridPositionsFromStyle() do always return
a valid GridSpan from now on meaning that the caller has to ensure
that the resolution does not require running the auto-placement
algorithm. A new class called GridUnresolvedSpan was added for
that purpose.

No new tests as this is a refactoring.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::placeItemsOnGrid):
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator):
(WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
(WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):

  • rendering/style/GridPosition.h:
  • rendering/style/GridResolvedPosition.cpp:

(WebCore::gridLinesForSide):
(WebCore::implicitNamedGridLineForSide):
(WebCore::isNonExistentNamedLineOrArea):
(WebCore::GridUnresolvedSpan::requiresAutoPlacement):
(WebCore::GridUnresolvedSpan::adjustGridPositionsFromStyle):
(WebCore::adjustGridPositionForRowEndColumnEndSide):
(WebCore::adjustGridPositionForSide):
(WebCore::resolveNamedGridLinePositionFromStyle):
(WebCore::firstNamedGridLineBeforePosition):
(WebCore::resolveRowStartColumnStartNamedGridLinePositionAgainstOppositePosition):
(WebCore::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
(WebCore::resolveNamedGridLinePositionAgainstOppositePosition):
(WebCore::resolveGridPositionAgainstOppositePosition):
(WebCore::GridResolvedPosition::resolveGridPositionsFromAutoPlacementPosition):
(WebCore::resolveGridPositionFromStyle):
(WebCore::GridResolvedPosition::GridResolvedPosition):
(WebCore::GridResolvedPosition::unresolvedSpanFromStyle):
(WebCore::GridResolvedPosition::resolveGridPositionsFromStyle):
(WebCore::GridResolvedPosition::adjustGridPositionsFromStyle): Deleted.
(WebCore::GridResolvedPosition::resolveNamedGridLinePositionFromStyle): Deleted.
(WebCore::GridResolvedPosition::resolveGridPositionFromStyle): Deleted.
(WebCore::GridResolvedPosition::resolveGridPositionAgainstOppositePosition): Deleted.
(WebCore::GridResolvedPosition::resolveNamedGridLinePositionAgainstOppositePosition): Deleted.
(WebCore::GridResolvedPosition::resolveRowStartColumnStartNamedGridLinePositionAgainstOppositePosition): Deleted.
(WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition): Deleted.

  • rendering/style/GridResolvedPosition.h:

(WebCore::GridUnresolvedSpan::GridUnresolvedSpan): New class.
(WebCore::GridUnresolvedSpan::initialPosition):
(WebCore::GridUnresolvedSpan::finalPosition):
(WebCore::GridUnresolvedSpan::initialPositionSide):
(WebCore::GridUnresolvedSpan::finalPositionSide):
(WebCore::GridResolvedPosition::adjustGridPositionForRowEndColumnEndSide): Deleted.
(WebCore::GridResolvedPosition::adjustGridPositionForSide): Deleted.
(WebCore::GridResolvedPosition::GridResolvedPosition): Deleted.

8:28 AM Changeset in webkit [185058] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix the !ENABLE(VIDEO_TRACK) build after r184799
https://bugs.webkit.org/show_bug.cgi?id=145510

Reviewed by Eric Carlson.

  • testing/Internals.cpp:

(WebCore::Internals::userPreferredAudioCharacteristics):
(WebCore::Internals::setUserPreferredAudioCharacteristic):

4:36 AM Changeset in webkit [185057] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix logical-not-parentheses warning in CachedScript.cpp
https://bugs.webkit.org/show_bug.cgi?id=145254

Reviewed by Sam Weinig.

  • loader/cache/CachedScript.cpp:

(WebCore::CachedScript::mimeTypeAllowedByNosniff): "!X==Y" should be "X!=Y" here.

3:57 AM Changeset in webkit [185056] by Csaba Osztrogonác
  • 4 edits in trunk

[cmake] Suppress unused parameter warnings in WebKit2 and TestNetscapePlugIn
https://bugs.webkit.org/show_bug.cgi?id=145264

Reviewed by Carlos Garcia Campos.

Source/WebKit2:

  • CMakeLists.txt: Use COMPILE_FLAGS instead of CMAKE_<C|CXX>_FLAGS to put -Wno-unused-parameter after -Wextra.

Tools:

  • DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt: Set extra compiler flags and suppress only unused parameter warnings.
2:11 AM Changeset in webkit [185055] by Csaba Osztrogonác
  • 2 edits in trunk

[cmake] Suppress parentheses-equality warnings
https://bugs.webkit.org/show_bug.cgi?id=145126

Reviewed by Darin Adler.

  • Source/cmake/WebKitHelpers.cmake:

May 31, 2015:

8:27 PM Changeset in webkit [185054] by Yusuke Suzuki
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Drop forEach from WeakMap / WeakSet native member function maps
https://bugs.webkit.org/show_bug.cgi?id=145497

Reviewed by Sam Weinig.

WeakMap / WeakSet don't have forEach method.
This patch drops it from the native prototype function parameters map.

  • UserInterface/Models/NativeFunctionParameters.js:
7:12 PM Changeset in webkit [185053] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.16-branch/Source/WebCore

Merged r185018. rdar://problem/21048994

7:11 PM Changeset in webkit [185052] by bshafiei@apple.com
  • 3 edits in branches/safari-600.1.4.16-branch/Source/WebCore

Merged r185003. rdar://problem/21048994

7:08 PM Changeset in webkit [185051] by bshafiei@apple.com
  • 2 edits in branches/safari-600.7-branch/Source/WebCore

Merged r185018. rdar://problem/21049556

7:06 PM Changeset in webkit [185050] by bshafiei@apple.com
  • 3 edits in branches/safari-600.7-branch/Source/WebCore

Merged r185003. rdar://problem/21049556

6:27 PM Changeset in webkit [185049] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Remove Panther support
https://bugs.webkit.org/show_bug.cgi?id=145506

Reviewed by Sam Weinig.

  • platform/ios/wak/WAKAppKitStubs.h: Don't check for pre-Tiger SDKs.
6:24 PM Changeset in webkit [185048] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.32-branch/Source

Versioning.

4:38 PM Changeset in webkit [185047] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.32.10

New tag.

4:16 PM Changeset in webkit [185046] by barraclough@apple.com
  • 3 edits in trunk/Source/WebKit2

PDFs always think they're visible on iOS.
https://bugs.webkit.org/show_bug.cgi?id=145493
<rdar://problem/19668879>

Reviewed by Andreas Kling.

The problem here is that WKContentView is currently responsible for notifying the WebPageProxy
that the visibility may have changed, but when a PDF isn't showing the WKContentView isn't in
the view hierarchy and doesn't receive the didMoveToWindow notifications – and the WKPDFView
(which is in the view hierarchy) does not listen for these events.

Visibility of the page should really just track the visibility of the WKWebView (and when
actually assessing the visibility it largely does - the page client checks the web view's
visibility, bar a FIXME, and the foreground/background check, which needs to change).
So notifications should really just come from the WKWebView.

The WKWebView already listens for the didMoveToWindow notification, it just was only updating
the IsInWindow flag. Instead just update all flags, and the call to viewStateDidChange from
WKContentView can just be removed.

There is one problem with this in that it would reverse the order of the calls to
viewStateDidChange & _updateForScreen:, which would mean the the view would become visible before
updating the screen pixel density. To fix this, move the call to _updateForScreen: to
willMoveToWindow:, to ensure it occurs before the page becomes visible.

This will also change behavior on Mac for WKWebView clients, in coalescing all view state changes
within the didMoveToWindow call. This is the direction we intended to go in anyway (the plan is
to remove the mayHaveChanged argument from viewStateDidChange - we're currently adding unnecessary
IPC traffic).

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView didMoveToWindow]):

  • should update all view state flags.
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView willMoveToWindow:]):

  • should _updateForScreen:

(-[WKContentView didMoveToWindow]): Deleted.

  • functionality moved to -[WKWebView didMoveToWindow], -[WKContentView didMoveToWindow].
1:10 PM Changeset in webkit [185045] by clopez@igalia.com
  • 2 edits in trunk/Source/WebCore

Remove unused variable kZoomTicks.
https://bugs.webkit.org/show_bug.cgi?id=145504

Reviewed by Sam Weinig.

No new tests, no behavior changes.

  • platform/ScrollAnimatorNone.cpp:
12:50 PM Changeset in webkit [185044] by timothy@apple.com
  • 10 edits
    1 copy
    1 add in trunk/Source/WebInspectorUI

Web Inspector: Resources tab navigation sidebar should have a type filter header
https://bugs.webkit.org/show_bug.cgi?id=145474

Reviewed by Joseph Pecoraro.

  • Localizations/en.lproj/localizedStrings.js: Updated.
  • UserInterface/Images/UpDownArrows.svg: Make styleable.
  • UserInterface/Main.html: Added new files.
  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView): Drive-by fix. Mark All as exclusive.

  • UserInterface/Views/MultipleScopeBarItem.js: Added.

(WebInspector.MultipleScopeBarItem):
(WebInspector.MultipleScopeBarItem.prototype.get element):
(WebInspector.MultipleScopeBarItem.prototype.get exclusive):
(WebInspector.MultipleScopeBarItem.prototype.get scopeBarItems):
(WebInspector.MultipleScopeBarItem.set scopeBarItems.createOption):
(WebInspector.MultipleScopeBarItem.prototype.set scopeBarItems):
(WebInspector.MultipleScopeBarItem.prototype.get selected):
(WebInspector.MultipleScopeBarItem.prototype.set selected):
(WebInspector.MultipleScopeBarItem.prototype.get selectedScopeBarItem):
(WebInspector.MultipleScopeBarItem.prototype.set selectedScopeBarItem):
(WebInspector.MultipleScopeBarItem.prototype._clicked):
(WebInspector.MultipleScopeBarItem.prototype._selectElementSelectionChanged):
(WebInspector.MultipleScopeBarItem.prototype._itemSelectionDidChange):

  • UserInterface/Views/NavigationSidebarPanel.js:

(WebInspector.NavigationSidebarPanel.prototype.matchTreeElementAgainstFilterFunctions):
(WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.matchTextFilter):
(WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.makeVisible):
(WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement):
(WebInspector.NavigationSidebarPanel.prototype._updateFilter):
(WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
Improve filtering so non-text filters can choose to auto-expand the tree.

  • UserInterface/Views/ResourceSidebarPanel.css: Added.

(.sidebar > .panel.navigation.resource > :matches(.content, .empty-content-placeholder)):
(.sidebar > .panel.navigation.resource > .navigation-bar):

  • UserInterface/Views/ResourceSidebarPanel.js:

(WebInspector.ResourceSidebarPanel):
(WebInspector.ResourceSidebarPanel.prototype.hasCustomFilters):
(WebInspector.ResourceSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
(WebInspector.ResourceSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
(WebInspector.ResourceSidebarPanel.prototype._scopeBarSelectionDidChange):
Make a ScopeBar and make it filter the TreeOutline when needed.

  • UserInterface/Views/ScopeBar.css:

(.scope-bar > li.multiple):
(.scope-bar > li.multiple > select):
(.scope-bar > li.multiple.selected > select):
(.scope-bar > li.multiple > .arrows):
(.scope-bar > li.multiple:matches(.selected, :hover, :active) > .arrows svg .filled):
(.scope-bar > li.multiple:matches(.selected, :hover, :active) > .arrows svg .stroked):

  • UserInterface/Views/ScopeBar.js:

(WebInspector.ScopeBar): Support shouldGroupNonExclusiveItems which will use MultipleScopeBarItem.
(WebInspector.ScopeBar.prototype._populate):
(WebInspector.ScopeBar.prototype._itemSelectionDidChange):
(WebInspector.ScopeBar.prototype.updateLayout): Deleted. Not needed for our current styles.

  • UserInterface/Views/ScopeBarItem.js:

(WebInspector.ScopeBarItem):
(WebInspector.ScopeBarItem.prototype.get id):
(WebInspector.ScopeBarItem.prototype.get label):
(WebInspector.ScopeBarItem.prototype.get exclusive):
(WebInspector.ScopeBarItem.prototype.setSelected):
(WebInspector.ScopeBarItem.prototype._clicked):
(WebInspector.ScopeBarItem.prototype.get element): Deleted.
(WebInspector.ScopeBarItem.prototype._markElementSelected): Deleted.
Cleaned up and modernized a bit.

12:21 PM Changeset in webkit [185043] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1.32-branch/Source/WebKit2

Merged r184059.

11:03 AM Changeset in webkit [185042] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, add a FIXME referencing https://bugs.webkit.org/show_bug.cgi?id=145503.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::inliningCost):

8:10 AM Changeset in webkit [185041] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

[ES6] Drop WeakMap#clear
https://bugs.webkit.org/show_bug.cgi?id=145489

Reviewed by Mark Lam.

ES6 spec intentionally drops the WeakMap#clear
to allow engine to implement WeakMap as a per-object table.

This patch drops WeakMap.prototype.clear.

  • runtime/WeakMapPrototype.cpp:

(JSC::WeakMapPrototype::finishCreation): Deleted.
(JSC::protoFuncWeakMapClear): Deleted.

4:38 AM Changeset in webkit [185040] by youenn.fablet@crf.canon.fr
  • 10 edits
    3 adds in trunk

Async XMLHttpRequest should get access to AppCache resources stored as flat files
https://bugs.webkit.org/show_bug.cgi?id=138506

Reviewed by Darin Adler.

Source/WebCore:

This patch reads flat file data when DocumentLoader substituteResource delivery timer is fired.
Refactoring to remove ApplicationCacheHost/DocumentLoader friend link.
Added ResourceLoader::deliverResponseAndData helper function, taking a SharedBuffer as input to remove an unneeded copy for flat files (no change for other files).

Test: http/tests/appcache/simple-video-async.html

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
(WebCore::DocumentLoader::scheduleArchiveLoad):
(WebCore::DocumentLoader::scheduleSubstituteResourceLoad): Helper function to remove ApplicationCacheHost friend link.

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

(WebCore::ResourceLoader::deliverResponseAndData): Helper function, code mostly moved from DocumentLoader::substituteResourceDeliveryTimerFired.

  • loader/ResourceLoader.h:
  • loader/SubstituteResource.h:

(WebCore::SubstituteResource::deliver): Introduced to be overriden by ApplicationCacheResource to take care of flat file case.

  • loader/appcache/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::maybeLoadResource):
(WebCore::ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache):

  • loader/appcache/ApplicationCacheResource.cpp:

(WebCore::ApplicationCacheResource::deliver): Use SharedBuffer::createWithContentsOfFile to load data stored in flat file.

  • loader/appcache/ApplicationCacheResource.h:

LayoutTests:

  • http/tests/appcache/resources/simple-video-async.manifest: Added.
  • http/tests/appcache/simple-video-async-expected.txt: Added.
  • http/tests/appcache/simple-video-async.html: Added.
4:29 AM Changeset in webkit [185039] by youenn.fablet@crf.canon.fr
  • 6 edits in trunk

[Streams API] Implement ReadableStreamController constructor
https://bugs.webkit.org/show_bug.cgi?id=143752

Reviewed by Darin Adler.

Source/WebCore:

Covered by rebased test and expectation.

  • Modules/streams/ReadableStreamController.idl: Adding CustomConstructor.
  • bindings/js/JSReadableStreamControllerCustom.cpp:

(WebCore::constructJSReadableStreamController): Throws an exception whenever called.

LayoutTests:

  • streams/readable-stream.html: checking controller constructor.
  • streams/reference-implementation/brand-checks-expected.txt:
2:28 AM Changeset in webkit [185038] by commit-queue@webkit.org
  • 10 edits
    6 adds in trunk

Array#reduce and reduceRight don't follow ToLength
https://bugs.webkit.org/show_bug.cgi?id=145364
Source/JavaScriptCore:

Per https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength

Patch by Jordan Harband <ljharb@gmail.com> on 2015-05-31
Reviewed by Yusuke Suzuki.

  • builtins/Array.prototype.js:

(reduce):
(reduceRight):

  • runtime/ArrayPrototype.cpp:

(JSC::ArrayPrototype::finishCreation):
(JSC::arrayProtoFuncReduce): Deleted.
(JSC::arrayProtoFuncReduceRight): Deleted.

LayoutTests:

Patch by Jordan Harband <ljharb@gmail.com> on 2015-05-31
Reviewed by Yusuke Suzuki.

  • js/array-reduce-expected.txt:
  • js/array-reduceRight-expected.txt:
  • js/dom/array-prototype-properties-expected.txt:
  • js/dom/script-tests/array-prototype-properties.js:
  • js/script-tests/array-reduce.js:
  • js/script-tests/array-reduceRight.js:

May 30, 2015:

10:53 PM Changeset in webkit [185037] by beidson@apple.com
  • 6 edits in trunk/Source

Make FrameLoader methods that take PassRefPtr<Event> take raw pointers instead.
https://bugs.webkit.org/show_bug.cgi?id=145495

Reviewed by Alexey Proskuryakov.

Source/WebCore:

No new tests (No change in behavior).

In most cases ownership of the Event is not actually being transferred, and these functions are all rarely called anyways.

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::handleClick):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::urlSelected):
(WebCore::FrameLoader::loadFrameRequest):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::loadPostRequest):

  • loader/FrameLoader.h:

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::navigateToPDFLinkWithSimulatedClick):

7:25 PM Changeset in webkit [185036] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

[iOS] Tiling coverage sometimes inflated by outdated scale factor.
<https://webkit.org/b/145494>
<rdar://problem/20989389>

Reviewed by Benjamin Poulain.

Have GraphicsLayerCA plumb the current contents scale through to TileController::adjustCoverageRect()
instead of TileController getting it from TileGrid.

This avoids a situation where adjustCoverageRect() could cause temporarily oversized tiling coverage
if called while TileGrid's content scale is outdated, and we're neither zooming or pinching, following
a pinch zoom that increased the scale factor.

Specifically, if all the velocity data is zero, we pad the coverage rect by a horizontal and vertical
margin computed like so:

margin = defaultTileSize / tileGrid.scale

If the actual scale is 5, but the TileGrid's outdated scale is e.g 0.8, you'll get a much larger
margin than you really wanted. Then the whole thing gets scaled up by 5x later on, and we explode
in a fiery feast of IOSurface allocations.

  • platform/graphics/TiledBacking.h:
  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::adjustCoverageRect):

  • platform/graphics/ca/TileController.cpp:

(WebCore::TileController::computeTileCoverageRect):

  • platform/graphics/ca/TileController.h:
6:08 PM Changeset in webkit [185035] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.32-branch/Source

Versioning.

6:02 PM Changeset in webkit [185034] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.32.9

New tag.

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

Fix Windows tests broken by r185007.
https://bugs.webkit.org/show_bug.cgi?id=145472

Unreviewed. Discussed with Alexey Proskuryakov.

No new tests (Fixing the four broken ones should suffice).

The bug was that evaluating arguments in a method/constructor call has no guaranteed sequencing.

Clang seems to always do LTR, allowing the PassRefPtr to be evaluated as a bool in the call to
navigationType() before it is "consumed" by the PassRefPtr argument.

In Visual Studio the PassRefPtr consumption happened before the bool evaluation, meaning false
was always passed in to navigationType(), breaking the four tests.

The fix? Using PassRefPtr here was silly in the first place.
No ownership is being transferred.
Raw pointers it is.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::loadPostRequest):

  • loader/NavigationAction.cpp:

(WebCore::NavigationAction::NavigationAction):

  • loader/NavigationAction.h: Nobody is actually transferring ownership of these Events. Raw pointers will work just fine, thanks.
2:48 PM Changeset in webkit [185032] by fpizlo@apple.com
  • 3 edits
    3 adds in trunk

FTL codegen for MultiGetByOffset and MultiPutByOffset where the structure set is already proved should have an unreachable default case instead of an exit
https://bugs.webkit.org/show_bug.cgi?id=145469

Reviewed by Geoffrey Garen.
Source/JavaScriptCore:


Omitting the speculation on the fail path when the speculation is guaranteed not to be
taken hints to LLVM that the default case is impossible. This enables some useful
optimizations.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileMultiGetByOffset):
(JSC::FTL::LowerDFGToLLVM::compileMultiPutByOffset):

LayoutTests:

  • js/regress/repeat-multi-get-by-offset-expected.txt: Added.
  • js/regress/repeat-multi-get-by-offset.html: Added.
  • js/regress/script-tests/repeat-multi-get-by-offset.js: Added.

(foo):

1:52 AM Changeset in webkit [185031] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Unreviewed build fix after r185014. Some tests only have subtests and not metrics.

  • Scripts/webkitpy/benchmark_runner/benchmark_results.py:

(BenchmarkResults._lint_subtest_results):

  • Scripts/webkitpy/benchmark_runner/benchmark_results_unittest.py:

(test_aggregate_nested_results):
(test_lint_results):

  • WinLauncher/WinLauncher.vcxproj/WinLauncherResource.h:

May 29, 2015:

8:55 PM Changeset in webkit [185030] by Joseph Pecoraro
  • 3 edits in trunk/Source/WebKit2

Web Inspector: Crash closing a related tab with Web Inspector open while page is refreshing
https://bugs.webkit.org/show_bug.cgi?id=145488

Reviewed by Alexey Proskuryakov.

  • WebProcess/WebPage/WebInspector.h:
  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::~WebInspector):
Ensure, no matter how we close, that we have invalidated the
frontend connection of which we are the client.

(WebKit::WebInspector::createInspectorPage):
This member variable will never be null.

8:51 PM Changeset in webkit [185029] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebCore

Unreviewed bindings test rebaseline after r185023.

  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:

(WebCore::isObservable): Deleted.
(WebCore::JSTestGenerateIsReachableOwner::isReachableFromOpaqueRoots): Deleted.

7:49 PM Changeset in webkit [185028] by akling@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] When bouncing back from max pinch zoom scale, scaleChangeRate should be 0.
<https://webkit.org/b/145487>
<rdar://problem/20989389>

Reviewed by Benjamin Poulain.

Make sure we don't send WebCore some velocity data with non-zero scaleChangeRate
when we bounce back from being pinch-zoomed past the maximum scale.

This fixes an issue where the bounce-back animation would cause a burst of
unnecessary tile generation.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::adjustVelocityDataForBoundedScale):
(WebKit::WebPage::updateVisibleContentRects):

7:48 PM Changeset in webkit [185027] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Reduce tiling coverage when doing a pure pinch zoom with no panning.
<https://webkit.org/b/145481>
<rdar://problem/20989389>

Reviewed by Benjamin Poulain.

When we're zooming in with a pinch gesture but not panning the page
at the same time, make the coverage rect be the visible rect.

This reduces memory pressure during zooming, especially on slower
devices that struggle to keep up with the current viewport.

  • platform/graphics/ca/TileController.cpp:

(WebCore::TileController::computeTileCoverageRect):

7:07 PM Changeset in webkit [185026] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.32-branch/Source

Versioning.

6:49 PM Changeset in webkit [185025] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.32.8

New tag.

6:19 PM Changeset in webkit [185024] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Make the header replace rule more restrictive and get rid of a special case
https://bugs.webkit.org/show_bug.cgi?id=145486

Reviewed by Ryosuke Niwa.

We used to not run the header migration script on WAKScrollView.h since we had a rule that would transform
"<WebCore" to "<WebKitLegacy" to convert header #imports. However, WAKScrollView.h contains "WAKView <WebCoreFrameScrollView>"
which would get transformed to "WAKView <WebKitLegacyFrameScrollView>".

Instead, check for the trailing slash as well and stop special-casing WAKScrollView.h.

  • MigrateHeaders.make:
5:26 PM Changeset in webkit [185023] by commit-queue@webkit.org
  • 4 edits
    3 adds in trunk

WeakMap reference w/ DOM element as key does not survive long enough.
https://bugs.webkit.org/show_bug.cgi?id=137651

Patch by Keith Miller <keith_miller@apple.com> on 2015-05-29
Reviewed by Geoffrey Garen.

Source/WebCore:

Remove isObservable functions as an "unobservable wrappers"
optimization is invalid with WeakMaps. Performance testing
will be done after the code is commited. If major
performance issues occur the patch will be rolled out.

Test: js/dom/weakmap-gc-unobservable-dom-nodes.html

  • bindings/js/JSNodeCustom.cpp:

(WebCore::isReachableFromDOM):
(WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
(WebCore::JSNode::insertBefore):
(WebCore::isObservable): Deleted.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

LayoutTests:

  • js/dom/script-tests/weakmap-gc-unobservable-dom-nodes.js: Added.

(.set gc):

  • js/dom/weakmap-gc-unobservable-dom-nodes.html: Added.
5:19 PM Changeset in webkit [185022] by mark.lam@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Refactoring HandlerInfo and UnlinkedHandlerInfo.
https://bugs.webkit.org/show_bug.cgi?id=145480

Reviewed by Benjamin Poulain.

HandlerInfo and UnlinkedHandlerInfo have common parts, but are not currently
expressed as 2 unrelated structs that happen to have near identical fields.
We can refactor them to better express their relationship. We can also add
some convenience functions to make the code that uses them a little more
readable.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::handlerForBytecodeOffset):

  • bytecode/HandlerInfo.h:

(JSC::UnlinkedHandlerInfo::UnlinkedHandlerInfo):
(JSC::HandlerInfo::initialize):

  • I chose to include CodeLocationLabel arg even though it is unused by by non-JIT builds. This makes the call site cleaner to read.
  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedSimpleJumpTable::add):
(JSC::UnlinkedInstruction::UnlinkedInstruction):
(JSC::UnlinkedCodeBlock::numberOfExceptionHandlers):
(JSC::UnlinkedCodeBlock::addExceptionHandler):
(JSC::UnlinkedCodeBlock::exceptionHandler):
(JSC::UnlinkedCodeBlock::symbolTable):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::generate):

5:11 PM Changeset in webkit [185021] by andersca@apple.com
  • 19 edits
    1 delete in trunk/Source

Get rid of WAKViewPrivate.h
https://bugs.webkit.org/show_bug.cgi?id=145482
rdar://problem/21162149

Reviewed by Dan Bernstein.

Source/WebCore:

Merge WAKViewPrivate.h into WAKViewInternal.h and move the NSView sizing enum
to WAKView.h since that was the only thing WebKit used (indirectly) from WAKViewPrivate.h.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/WAKViewInternal.h:

(WAKViewForWKViewRef):

  • platform/ios/ScrollViewIOS.mm:
  • platform/ios/wak/WAKResponder.m:
  • platform/ios/wak/WAKView.h:
  • platform/ios/wak/WAKView.mm:
  • platform/ios/wak/WAKViewPrivate.h: Removed.

(WAKViewForWKViewRef): Deleted.

  • platform/ios/wak/WAKWindow.mm:
  • platform/ios/wak/WKView.h:
  • platform/ios/wak/WKView.mm:

Source/WebKit/mac:

Remove WAKViewPrivate.h imports.

  • DefaultDelegates/WebDefaultUIDelegate.m:
  • MigrateHeaders.make:
  • Misc/WebKitNSStringExtras.mm:
  • Misc/WebNSViewExtras.m:
  • WebCoreSupport/WebFrameLoaderClient.mm:
  • WebView/WebFrame.mm:
  • WebView/WebFrameView.mm:
  • WebView/WebHTMLView.mm:
4:59 PM Changeset in webkit [185020] by dbates@webkit.org
  • 5 edits in trunk/Source/WebCore

Clean up logic for updating caps lock indicator state
https://bugs.webkit.org/show_bug.cgi?id=145329

Reviewed by Sam Weinig.

Remove logic to explicitly update the state of the caps lock indicator, which was used
when the caps logic indicator was implemented as part of RenderTextControl. Currently,
the caps logic indicator is implemented as part of a shadow DOM and we have existing
logic to forward DOM focus and blur events to it so that it may update its state.

No change in behavior.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::focusedOrActiveStateChanged): Deleted.

  • editing/FrameSelection.h:
  • page/EventHandler.cpp:

(WebCore::EventHandler::keyEvent): Inline the code from EventHandler::capsLockStateMayHaveChanged()
into this function because it is the only caller of EventHandler::capsLockStateMayHaveChanged() after
we removed the call site in FrameSelection::focusedOrActiveStateChanged().
(WebCore::EventHandler::capsLockStateMayHaveChanged): Deleted.

  • page/EventHandler.h:
4:53 PM Changeset in webkit [185019] by Alan Bujtas
  • 3 edits
    4 adds in trunk

Text disappears shortly after page load on Nexus 7 site.
https://bugs.webkit.org/show_bug.cgi?id=145467
rdar://problem/18327239

Reviewed by Simon Fraser.

This patch ensures that overlap testing for composited layers works properly when the sibling
layer gets composited through its child.

When a layer gets composited through its child content, the recursive overlap testing should build up the
overlapmap stack so that sibling content is intersected both against the child and its parent bounds.

Source/WebCore:

Tests: compositing/sibling-layer-does-not-get-composited-overflow-hidden-case.html

compositing/sibling-layer-does-not-get-composited-transform-case.html

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
(WebCore::RenderLayerCompositor::OverlapMap::contains): Deleted.

LayoutTests:

  • compositing/sibling-layer-does-not-get-composited-overflow-hidden-case-expected.html: Added.
  • compositing/sibling-layer-does-not-get-composited-overflow-hidden-case.html: Added.
  • compositing/sibling-layer-does-not-get-composited-transform-case-expected.html: Added.
  • compositing/sibling-layer-does-not-get-composited-transform-case.html: Added.
4:51 PM Changeset in webkit [185018] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

Review feedback followup for r185003.
https://bugs.webkit.org/show_bug.cgi?id=145463

Reviewed by Darin Adler.

  • platform/sql/SQLiteDatabase.cpp:

(WebCore::SQLiteDatabase::overrideUnauthorizedFunctions): static const one thing, c++-style cast another.

4:42 PM Changeset in webkit [185017] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

WebContent crash in WebCore::Page::sessionID() const + 0 (Page.cpp:1660)
https://bugs.webkit.org/show_bug.cgi?id=145422
<rdar://problem/20613631>

Reviewed by Brady Eidson.

We sometimes crash when destroying a PageCache CachedFrame because its
DocumentLoader is still loading. This should never happen as we are not
supposed to let pages are still have pending loads into the PageCache.

However, we were using DocumentLoader::isLoadingInAPISense() as check
in PageCache::canCachePageContainingThisFrame() which is not exactly
what we want. isLoadingInAPISense() no longer considers subresource
loads once the frame as loaded. This means if the JS triggers a new
load in a subframe after it has been loaded, then isLoadingInAPISense()
will return false, despite the pending load.

This patch replaces the isLoadingInAPISense() check with isLoading()
as this will consider all pending loads, even after the frame is
loaded.

In most cases, using isLoadingInAPISense() was not an issue because
we call DocumentLoader::stopLoading() in all subframes before starting
a provisional load. However, nothing seems to prevent JS from
triggering a new load after that and before the new load gets committed
(which is when we save the page into PageCache).

No new test as we don't have a reliable reproduction case and the
issue is timing related.

  • history/PageCache.cpp:

(WebCore::logCanCacheFrameDecision):
(WebCore::PageCache::canCachePageContainingThisFrame):

  • page/DiagnosticLoggingKeys.cpp:

(WebCore::DiagnosticLoggingKeys::isLoading):
(WebCore::DiagnosticLoggingKeys::loadingAPISenseKey): Deleted.

  • page/DiagnosticLoggingKeys.h:
4:20 PM Changeset in webkit [185016] by jonlee@apple.com
  • 3 edits in trunk/Source/WebKit2

Fix preferences for wireless playback
https://bugs.webkit.org/show_bug.cgi?id=145477
rdar://problem/21166767

Reviewed by Anders Carlsson.

  • UIProcess/API/C/WKPreferences.cpp: Add missing preference calls in C API.
  • UIProcess/API/C/WKPreferencesRef.h:
4:07 PM Changeset in webkit [185015] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Activity Viewer does not update on "clear all console messages"
https://bugs.webkit.org/show_bug.cgi?id=144681

Patch by Tobias Reiss <tobi+webkit@basecode.de> on 2015-05-29
Reviewed by Joseph Pecoraro.

Do not apply "ignoreDidClearMessages" hack on "Clear log" Button and Context menu.

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype._sessionStarted):
(WebInspector.LogContentView.prototype._clearLogIgnoringClearMessages):
(WebInspector.LogContentView.prototype._clearLog): Deleted.

4:03 PM Changeset in webkit [185014] by rniwa@webkit.org
  • 2 edits
    2 adds in trunk/Tools

run-benchmark should print out the results
https://bugs.webkit.org/show_bug.cgi?id=145398

Reviewed by Antti Koivisto.

Added BenchmarkResults to compute and format the aggregated values. It also does the syntax/semantic check
of the output to catch early errors.

  • Scripts/webkitpy/benchmark_runner/benchmark_results.py: Added.

(BenchmarkResults): Added.
(BenchmarkResults.init): Added.
(BenchmarkResults.format): Added.
(BenchmarkResults._format_tests): Added. Used by BenchmarkResults.format.
(BenchmarkResults._format_values): Formats a list of values measured for a given metric on a given test.
Uses the sample standard deviation to compute the significant figures for the value.
(BenchmarkResults._unit_from_metric): Added.
(BenchmarkResults._aggregate_results): Added.
(BenchmarkResults._aggregate_results_for_test): Added.
(BenchmarkResults._flatten_list): Added.
(BenchmarkResults._subtest_values_by_config_iteration): Added. Organizes values measured for subtests
by the iteration number so that i-th array contains values for all subtests at i-th iteration.
(BenchmarkResults._aggregate_values): Added.
(BenchmarkResults._lint_results): Added.
(BenchmarkResults._lint_subtest_results): Added.
(BenchmarkResults._lint_aggregator_list): Added.
(BenchmarkResults._lint_configuration): Added.
(BenchmarkResults._lint_values): Added.
(BenchmarkResults._is_numeric): Added.

  • Scripts/webkitpy/benchmark_runner/benchmark_results_unittest.py: Added.

(BenchmarkResultsTest):
(BenchmarkResultsTest.test_init):
(BenchmarkResultsTest.test_format):
(test_format_values_with_large_error):
(test_format_values_with_small_error):
(test_format_values_with_time):
(test_format_values_with_no_error):
(test_format_values_with_small_difference):
(test_aggregate_results):
(test_aggregate_results_with_gropus):
(test_aggregate_nested_results):
(test_lint_results):

  • Scripts/webkitpy/benchmark_runner/benchmark_runner.py:

(BenchmarkRunner.execute): Added a call to show_results
(BenchmarkRunner.wrap): Only dump the merged JSON when debugging.
(BenchmarkRunner.show_results): Added.

4:02 PM Changeset in webkit [185013] by enrica@apple.com
  • 5 edits in trunk/Source/WebKit2

[iOS] Cursor hidden in text area once it scrolls.
https://bugs.webkit.org/show_bug.cgi?id=145451
rdar://problem/20356413

Reviewed by Simon Fraser.

This patch fixes both the touch scrolling inside the
overflow area as well as the programmatic scroll that
occurs when inserting a new line. The first issue is fixed by
implementing the chrome client methods didLayout,
didStartOverflowScroll and didEndOverflowScroll. The second
required changing the implementation of notifyRevealedSelectionByScrollingFrame.
We not only need to notify the client to redraw the selection,
but we also need to recompute the editorState, because scrolling
might have occurred.
I've removed the NotifyRevealedSelection message that was not needed
any longer, since EditorStateChanged will do exactly what we want.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::editorStateChanged):
(WebKit::WebPageProxy::notifyRevealedSelection): Deleted.

  • WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:

(WebKit::WebChromeClient::notifyRevealedSelectionByScrollingFrame):
(WebKit::WebChromeClient::didLayout):
(WebKit::WebChromeClient::didStartOverflowScroll):
(WebKit::WebChromeClient::didEndOverflowScroll):

4:02 PM Changeset in webkit [185012] by Chris Dumez
  • 10 edits
    4 adds in trunk

Consider throttling DOM timers in iframes outside the viewport
https://bugs.webkit.org/show_bug.cgi?id=145465
<rdar://problem/20768957>

Reviewed by Darin Adler.

Source/WebCore:

Throttle DOM timers in iframes that are outside the viewport to decrease
CPU usage, improve performance and reduce power use.

The approach is similar to what we already did for requestAnimationFrame
in r183998.

We already has support for throttling DOM timers at:

  • Page level: for backgound pages
  • DOM timer level: for timers changing the style of an element outside the viewport or drawing on a canvas outside the viewport.

This patch adds support for throttling DOM timers at Document level so
we can throttle all timers inside a specific iframe / Document. It relies
on the same timerAlignmentInterval that is used for throttling at Page
level with tweaks so that different Documents inside the same Page can
have a different timerAlignmentInterval.

Test: fast/dom/timer-throttling-subframe.html

  • dom/Document.cpp:

(WebCore::Document::setTimerThrottlingEnabled):
(WebCore::Document::timerAlignmentInterval):

  • dom/Document.h:

(WebCore::Document::isTimerThrottlingEnabled):

  • page/DOMTimer.cpp:

(WebCore::DOMTimer::alignedFireTime):
The previous code was not throttling the timer if its fireTime was in
the past. This was causing some aggressive timers on mashable.com to
not be throttled so I got rid of this behavior. I don't see any reason
why we would not throttle a timer simply because it is supposed to have
fired already.

  • page/FrameView.cpp:

(WebCore::FrameView::viewportContentsChanged):
(WebCore::FrameView::updateScriptedAnimationsAndTimersThrottlingState):

  • page/FrameView.h:
  • testing/Internals.cpp:

(WebCore::Internals::areTimersThrottled):

  • testing/Internals.h:
  • testing/Internals.idl:

Add API to facilitate layout testing of this functionality.

LayoutTests:

Add a layout test to check that DOM timers in iframes outside the
viewport get throttled.

  • fast/dom/resources/timer-frame-2.html: Added.
  • fast/dom/resources/timer-frame.html: Added.
  • fast/dom/timer-throttling-subframe-expected.txt: Added.
  • fast/dom/timer-throttling-subframe.html: Added.
4:01 PM Changeset in webkit [185011] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Remove unused expandTreeElementsWhenArrowing property from TreeOutline
https://bugs.webkit.org/show_bug.cgi?id=145470

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/TreeOutline.js:

(WebInspector.TreeOutline.prototype._treeKeyDown):
Replaced uses of removed property with boolean literal.

3:33 PM Changeset in webkit [185010] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

WebResourceLoadDelegatePrivate.h cannot be imported standalone (missing WebNSInteger type)
https://bugs.webkit.org/show_bug.cgi?id=145476
rdar://problem/21162400

Reviewed by Dan Bernstein.

Change WebNSInteger to NSInteger.

  • WebView/WebResourceLoadDelegatePrivate.h:
3:15 PM Changeset in webkit [185009] by andersca@apple.com
  • 3 edits in trunk/Source/WTF

Missing #import of Platform.h in several WTF headers
https://bugs.webkit.org/show_bug.cgi?id=145475
rdar://problem/21161818

Reviewed by Darin Adler.

Add Platform.h #includes.

  • wtf/Assertions.h:
  • wtf/RetainPtr.h:
3:14 PM Changeset in webkit [185008] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

[iOS] Update WebContent process sandbox profile for AWD logging
https://bugs.webkit.org/show_bug.cgi?id=145473
<rdar://problem/20543269>

Reviewed by Darin Adler.

Update WebContent process sandbox profile for AWD logging.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
3:01 PM Changeset in webkit [185007] by beidson@apple.com
  • 3 edits in trunk/Source/WebCore

NavigationAction constructor cleanup.
https://bugs.webkit.org/show_bug.cgi?id=145472

Reviewed by Alex Christensen.

No new tests (Refactor, no change in behavior).

  • loader/NavigationAction.cpp:

(WebCore::NavigationAction::NavigationAction): Delegate many of the various constructors

to a single full-featured constructor.

  • loader/NavigationAction.h:
2:53 PM Changeset in webkit [185006] by commit-queue@webkit.org
  • 24 edits
    2 moves in trunk/Source/WebCore

Rename MediaSession and MediaSessionClient to PlatformMediaSession and PlatformMediaSessionClient so we can use MediaSession for the formal implementation of the Media Session spec.
https://bugs.webkit.org/show_bug.cgi?id=145447

Patch by Matt Rajca <mrajca@apple.com> on 2015-05-29
Reviewed by Eric Carlson.

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::suspendPlayback):

  • Modules/webaudio/AudioContext.h:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • html/HTMLAudioElement.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::pausedForUserInteraction):
(WebCore::HTMLMediaElement::mediaType):
(WebCore::HTMLMediaElement::presentationType):
(WebCore::HTMLMediaElement::displayType):
(WebCore::HTMLMediaElement::didReceiveRemoteControlCommand):

  • html/HTMLMediaElement.h:
  • html/HTMLMediaSession.cpp:

(WebCore::HTMLMediaSession::HTMLMediaSession):
(WebCore::HTMLMediaSession::requiresFullscreenForVideoPlayback):

  • html/HTMLMediaSession.h:
  • html/HTMLVideoElement.h:
  • platform/RemoteCommandListener.h:
  • platform/audio/MediaSessionManager.cpp:

(WebCore::MediaSessionManager::resetRestrictions):
(WebCore::MediaSessionManager::has):
(WebCore::MediaSessionManager::activeAudioSessionRequired):
(WebCore::MediaSessionManager::count):
(WebCore::MediaSessionManager::beginInterruption):
(WebCore::MediaSessionManager::endInterruption):
(WebCore::MediaSessionManager::addSession):
(WebCore::MediaSessionManager::removeSession):
(WebCore::MediaSessionManager::addRestriction):
(WebCore::MediaSessionManager::removeRestriction):
(WebCore::MediaSessionManager::restrictions):
(WebCore::MediaSessionManager::sessionWillBeginPlayback):
(WebCore::MediaSessionManager::sessionWillEndPlayback):
(WebCore::MediaSessionManager::setCurrentSession):
(WebCore::MediaSessionManager::currentSession):
(WebCore::MediaSessionManager::sessionRestrictsInlineVideoPlayback):
(WebCore::MediaSessionManager::sessionCanLoadMedia):
(WebCore::MediaSessionManager::applicationWillEnterBackground):
(WebCore::MediaSessionManager::applicationWillEnterForeground):
(WebCore::MediaSessionManager::didReceiveRemoteControlCommand):
(WebCore::MediaSessionManager::systemWillSleep):
(WebCore::MediaSessionManager::systemDidWake):

  • platform/audio/MediaSessionManager.h:

(WebCore::MediaSessionManager::sessions):

  • platform/audio/PlatformMediaSession.cpp: Renamed from Source/WebCore/platform/audio/MediaSession.cpp.

(WebCore::stateName):
(WebCore::PlatformMediaSession::create):
(WebCore::PlatformMediaSession::PlatformMediaSession):
(WebCore::PlatformMediaSession::~PlatformMediaSession):
(WebCore::PlatformMediaSession::setState):
(WebCore::PlatformMediaSession::beginInterruption):
(WebCore::PlatformMediaSession::endInterruption):
(WebCore::PlatformMediaSession::clientWillBeginPlayback):
(WebCore::PlatformMediaSession::clientWillPausePlayback):
(WebCore::PlatformMediaSession::pauseSession):
(WebCore::PlatformMediaSession::mediaType):
(WebCore::PlatformMediaSession::presentationType):
(WebCore::PlatformMediaSession::title):
(WebCore::PlatformMediaSession::duration):
(WebCore::PlatformMediaSession::currentTime):
(WebCore::PlatformMediaSession::canReceiveRemoteControlCommands):
(WebCore::PlatformMediaSession::didReceiveRemoteControlCommand):
(WebCore::PlatformMediaSession::visibilityChanged):
(WebCore::PlatformMediaSession::clientDataBufferingTimerFired):
(WebCore::PlatformMediaSession::updateClientDataBuffering):
(WebCore::PlatformMediaSession::isHidden):
(WebCore::PlatformMediaSession::displayType):
(WebCore::PlatformMediaSessionClient::mediaSessionTitle):
(WebCore::PlatformMediaSessionClient::mediaSessionDuration):
(WebCore::PlatformMediaSessionClient::mediaSessionCurrentTime):

  • platform/audio/PlatformMediaSession.h: Renamed from Source/WebCore/platform/audio/MediaSession.h.

(WebCore::PlatformMediaSession::state):
(WebCore::PlatformMediaSession::canPlayToWirelessPlaybackTarget):
(WebCore::PlatformMediaSession::isPlayingToWirelessPlaybackTarget):
(WebCore::PlatformMediaSession::requiresPlaybackTargetRouteMonitoring):
(WebCore::PlatformMediaSession::client):
(WebCore::PlatformMediaSessionClient::PlatformMediaSessionClient):
(WebCore::PlatformMediaSessionClient::displayType):
(WebCore::PlatformMediaSessionClient::setShouldBufferData):
(WebCore::PlatformMediaSessionClient::elementIsHidden):
(WebCore::PlatformMediaSessionClient::wirelessRoutesAvailableDidChange):
(WebCore::PlatformMediaSessionClient::setWirelessPlaybackTarget):
(WebCore::PlatformMediaSessionClient::canPlayToWirelessPlaybackTarget):
(WebCore::PlatformMediaSessionClient::isPlayingToWirelessPlaybackTarget):
(WebCore::PlatformMediaSessionClient::setShouldPlayToPlaybackTarget):
(WebCore::PlatformMediaSessionClient::~PlatformMediaSessionClient):

  • platform/audio/ios/MediaSessionManagerIOS.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm:

(WebCore::MediaSessionManageriOS::resetRestrictions):
(WebCore::MediaSessionManageriOS::sessionWillBeginPlayback):
(WebCore::MediaSessionManageriOS::sessionWillEndPlayback):
(WebCore::MediaSessionManageriOS::updateNowPlayingInfo):
(WebCore::MediaSessionManageriOS::sessionCanLoadMedia):
(-[WebMediaSessionHelper interruption:]):

  • platform/audio/mac/MediaSessionManagerMac.cpp:

(MediaSessionManager::updateSessionState):

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::handlePlaybackCommand):

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerHandlePlaybackCommand):

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::rateChanged):

  • platform/ios/RemoteCommandListenerIOS.mm:

(WebCore::RemoteCommandListenerIOS::RemoteCommandListenerIOS):

  • testing/Internals.cpp:

(WebCore::Internals::beginMediaSessionInterruption):
(WebCore::Internals::endMediaSessionInterruption):
(WebCore::Internals::setMediaSessionRestrictions):
(WebCore::Internals::postRemoteControlCommand):

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

WebKit.framework installs or references Mac-only headers on iOS
https://bugs.webkit.org/show_bug.cgi?id=145471
rdar://problem/21161459

Reviewed by Dan Bernstein.

Source/WebKit/mac:

  • History/WebURLsWithTitles.h:

Add an #if !TARGET_OS_IPHONE guard around the entire header.

  • MigrateHeaders.make:

Don't migrate the NPAPI headers on iOS.

Source/WebKit2:

  • UIProcess/API/C/mac/WKInspectorPrivateMac.h:

Add an #if !TARGET_OS_IPHONE guard around the entire header.

2:20 PM Changeset in webkit [185004] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

[Content Extensions] Decrease maxNFASize
https://bugs.webkit.org/show_bug.cgi?id=145461

Reviewed by Gavin Barraclough.

  • contentextensions/ContentExtensionCompiler.cpp:

(WebCore::ContentExtensions::compileRuleList):
Decrease maxNFASize based on analysis of memory usage and compiling and interpreting time.

1:59 PM Changeset in webkit [185003] by beidson@apple.com
  • 3 edits in trunk/Source/WebCore

WebSQL default functions can bypass authorizer.
<rdar://problem/21048994> and https://bugs.webkit.org/show_bug.cgi?id=145463

Reviewed by Sam Weinig and Alexey Proskuryakov.

No new tests yet.

  • platform/sql/SQLiteDatabase.cpp:

(WebCore::unauthorizedSQLFunction): Function to install into SQLite to override some built-in functions.
(WebCore::SQLiteDatabase::open):
(WebCore::SQLiteDatabase::overrideUnauthorizedFunctions): Install function overrides for functions that

take arbitrary input that are also meant to be disabled by virtue of them not being whitelisted.

  • platform/sql/SQLiteDatabase.h:
1:26 PM Changeset in webkit [185002] by fpizlo@apple.com
  • 9 edits
    3 adds in trunk

Non-speculative Branch should be fast in the FTL
https://bugs.webkit.org/show_bug.cgi?id=145452

Reviewed by Andreas Kling.
Source/JavaScriptCore:


Inlines the code for convertJSValueToBoolean into the FTL. This also includes some other
clean-ups that I found along the way.

I found this by looking at the hottest functions in DeltaBlue. Despite having so many
Branch specializations, apparently there was still a hot one that we missed that was going
down the untyped path. It was either Int32 or Other. Maybe we could specialize for that
combo, but it makes so much sense to just make all of this nonsense fast.

  • dfg/DFGWatchpointCollectionPhase.cpp:

(JSC::DFG::WatchpointCollectionPhase::handle): Need to watch the masquerades watchpoint on UntypedUse: forms of Branch now.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::boolify): The actual fix.
(JSC::FTL::LowerDFGToLLVM::int52ToStrictInt52):
(JSC::FTL::LowerDFGToLLVM::isInt32):
(JSC::FTL::LowerDFGToLLVM::isNotInt32):
(JSC::FTL::LowerDFGToLLVM::unboxInt32):

  • runtime/JSCellInlines.h:

(JSC::JSCell::toBoolean): Symbol is always true.
(JSC::JSCell::pureToBoolean): Symbol is always true.

  • runtime/JSString.cpp:

(JSC::JSString::getPrimitiveNumber):
(JSC::JSString::toNumber):
(JSC::JSString::toBoolean): Deleted. This is a tiny method. It doesn't need to be out-of-line.

  • runtime/JSString.h:

(JSC::JSString::length):
(JSC::JSString::toBoolean): This method shouldbe inline.

  • runtime/Symbol.cpp:

(JSC::Symbol::toPrimitive):
(JSC::Symbol::getPrimitiveNumber):
(JSC::Symbol::toBoolean): Deleted. A Symbol is always true, so we don't need a method for this.

  • runtime/Symbol.h:

LayoutTests:

  • js/regress/logical-not-weird-types-expected.txt: Added.
  • js/regress/logical-not-weird-types.html: Added.
  • js/regress/script-tests/logical-not-weird-types.js: Added.

(foo):

1:13 PM Changeset in webkit [185001] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.33.2/Source/WebCore

Merged r184924. rdar://problem/21149548

1:10 PM Changeset in webkit [185000] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.33.2/Source

Versioning.

1:06 PM Changeset in webkit [184999] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.33.2

New tag.

12:56 PM Changeset in webkit [184998] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

WKScriptMessageInternal.h should be a project header, not a private header
https://bugs.webkit.org/show_bug.cgi?id=145464
rdar://problem/21161639

Reviewed by Dan Bernstein.

  • WebKit2.xcodeproj/project.pbxproj:
12:27 PM Changeset in webkit [184997] by fpizlo@apple.com
  • 1 edit
    4 adds in trunk/LayoutTests

Land some .html/-expected.txt files for some tests that were added without them.

Rubber stamped by Andreas Kling.

  • js/regress/cse-new-array-buffer-expected.txt: Added.
  • js/regress/cse-new-array-buffer.html: Added.
  • js/regress/cse-new-array-expected.txt: Added.
  • js/regress/cse-new-array.html: Added.
11:45 AM Changeset in webkit [184996] by Joseph Pecoraro
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Tabs should have Context Menus
https://bugs.webkit.org/show_bug.cgi?id=144208

Reviewed by Timothy Hatcher.

Give non-pinned tabs "Close Tab" and "Close Other Tabs" context
menu items to affect other non-pinned tabs.

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

(WebInspector.TabBarItem):
(WebInspector.TabBarItem.prototype._handleContextMenuEvent.closeTab):
(WebInspector.TabBarItem.prototype._handleContextMenuEvent.closeOtherTabs):
(WebInspector.TabBarItem.prototype._handleContextMenuEvent):

11:45 AM Changeset in webkit [184995] by bshafiei@apple.com
  • 12 edits in branches/safari-601.1.32-branch/Source

Merge custom patch. rdar://problem/21155654

11:14 AM Changeset in webkit [184994] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Shift fullscreen controls down 20px.
<rdar://problem/21161523>

  • Modules/mediacontrols/mediaControlsApple.css:

(video:-webkit-full-screen::-webkit-media-controls-panel):
Fullscreen control panel is too high and overlaps with caption menu.
Shift it down 20px.

11:05 AM Changeset in webkit [184993] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Restoring the last selected DOM node fails on reload (DOMAgent: No node with given path found)
https://bugs.webkit.org/show_bug.cgi?id=144231

Reviewed by Timothy Hatcher.

Removed _restoreSelectedNodeIsAllowed flag from DOMTreeContentView. The frontend receives two documentUpdated
events from the DOM Agent during page reload, and the flag was preventing DOMTreeContentView from restoring
the previous selection in response to the second event.

  • UserInterface/Views/DOMTreeContentView.js:

(WebInspector.DOMTreeContentView.prototype.selectLastSelectedNode):
(WebInspector.DOMTreeContentView.prototype._restoreSelectedNodeAfterUpdate):

10:51 AM Changeset in webkit [184992] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Some assertion failures in compositing code after r183820
https://bugs.webkit.org/show_bug.cgi?id=144630

Reviewed by Alexey Proskuryakov.

Reinstate the assertion commented out in r183843. Fixed by having blending no longer
escape the media elements, which was fixed via bug 145420.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::computeCompositingRequirements):

10:45 AM Changeset in webkit [184991] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

Clean up VisitedLinkProvider teardown
https://bugs.webkit.org/show_bug.cgi?id=145450
rdar://problem/20244726

Reviewed by Brady Eidson.

  • UIProcess/VisitedLinkProvider.cpp:

(WebKit::VisitedLinkProvider::~VisitedLinkProvider):

10:01 AM Changeset in webkit [184990] by commit-queue@webkit.org
  • 12 edits in trunk/Source/WebCore

Use modern for-loops in WebCore/plugins, storage, style, testing and workers.
https://bugs.webkit.org/show_bug.cgi?id=145425

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-05-29
Reviewed by Darin Adler.

No new tests, no behavior changes.

  • plugins/DOMMimeTypeArray.cpp:

(WebCore::DOMMimeTypeArray::canGetItemsForName):

  • plugins/DOMPlugin.cpp:

(WebCore::DOMPlugin::canGetItemsForName):

  • plugins/DOMPluginArray.cpp:

(WebCore::DOMPluginArray::canGetItemsForName):

  • plugins/PluginData.cpp:

(WebCore::PluginData::getWebVisibleMimesAndPluginIndices):

  • plugins/PluginMainThreadScheduler.cpp:

(WebCore::PluginMainThreadScheduler::dispatchCallsForPlugin):
(WebCore::PluginMainThreadScheduler::dispatchCalls):

  • storage/StorageEventDispatcher.cpp:

(WebCore::StorageEventDispatcher::dispatchLocalStorageEvents):
(WebCore::StorageEventDispatcher::dispatchSessionStorageEventsToFrames):
(WebCore::StorageEventDispatcher::dispatchLocalStorageEventsToFrames):

  • storage/StorageMap.cpp:

(WebCore::StorageMap::importItems):

  • style/StyleResolveTree.cpp:

(WebCore::Style::pseudoStyleCacheIsInvalid):

  • testing/Internals.cpp:

(WebCore::Internals::nodesFromRect):

  • workers/Worker.cpp:

(WebCore::networkStateChanged):

  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::importScripts):

9:58 AM Changeset in webkit [184989] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix when using content extensions debugging.

  • contentextensions/ContentExtensionCompiler.cpp:

(WebCore::ContentExtensions::compileRuleList):
Update variable name.

9:38 AM Changeset in webkit [184988] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

Typo followup to r184987

Unreviewed.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadURLIntoChildFrame): Misplaced brace.

9:31 AM Changeset in webkit [184987] by beidson@apple.com
  • 3 edits in trunk/Source/WebCore

Small FrameLoader refactoring.
https://bugs.webkit.org/show_bug.cgi?id=145459

Reviewed by Alex Christensen.

No new tests (No behavior change).

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadURLIntoChildFrame):
(WebCore::FrameLoader::loadFrameRequest):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::loadPostRequest):

  • loader/FrameLoader.h:
8:21 AM Changeset in webkit [184986] by Alan Bujtas
  • 3 edits in trunk/LayoutTests

Unreviewed Win and GTK gardening.

Skip Mac font specific test.

  • platform/gtk/TestExpectations:
  • platform/win/TestExpectations:
8:20 AM Changeset in webkit [184985] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Unreviewed, rolling out r184949.
https://bugs.webkit.org/show_bug.cgi?id=145458

Ends up generating worse code for HashTable move constructors
(Requested by zdobersek on #webkit).

Reverted changeset:

"Clean up HashTable constructors"
https://bugs.webkit.org/show_bug.cgi?id=145369
http://trac.webkit.org/changeset/184949

1:10 AM Changeset in webkit [184984] by youenn.fablet@crf.canon.fr
  • 8 edits in trunk

MediaDevices.getUserMedia should reject promise instead of throwing exceptions
https://bugs.webkit.org/show_bug.cgi?id=145282

Reviewed by Darin Adler.

Source/WebCore:

Ensuring at the custom binding level that all potential errors are used to reject promise.
Cleaned up the wrappers by removing unneeded RefPtr.

Covered by modified test.

  • Modules/mediastream/MediaDevices.cpp:

(WebCore::MediaDevices::getUserMedia):

  • Modules/mediastream/MediaDevices.h:
  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::create):

  • bindings/js/JSMediaDevicesCustom.cpp:

(WebCore::JSMediaDevices::getUserMedia):

LayoutTests:

Updating test to expect rejection and not error throwing.

  • fast/mediastream/MediaDevices-getUserMedia-expected.txt:
  • fast/mediastream/MediaDevices-getUserMedia.html:
12:51 AM Changeset in webkit [184983] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r184860.
https://bugs.webkit.org/show_bug.cgi?id=145456

May have caused ~1% Octane regression (Requested by kling on
#webkit).

Reverted changeset:

"Try to use StringView when comparing JSStrings for equality."
https://bugs.webkit.org/show_bug.cgi?id=145379
http://trac.webkit.org/changeset/184860

Note: See TracTimeline for information about the timeline view.