Timeline



Jan 15, 2015:

10:13 PM Changeset in webkit [178574] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Element appears correctly but does not receive event with a large translation.
https://bugs.webkit.org/show_bug.cgi?id=139815

Reviewed by Simon Fraser.

When the hit point gets translated beyond the min/max value of LayoutRect (infiniteRect()),
we fail to find the corresponding layer.
When there's no clipping on a layer, we use min/max values to represent infiniteness.
However it does not work well across types. With IntPoint(hittest) we can address a point that's outside
of LayoutRect's boundary(clipping).
This patch addresses the immediate issue of not being able to hittest transformed layers properly.
Fixing the representation of infiniteness is tracked here: webkit.org/b/140533
Source/WebCore:

Test: transforms/hittest-translated-content-off-to-infinity-and-back.html

  • rendering/ClipRect.cpp:

(WebCore::ClipRect::intersects):

LayoutTests:

  • transforms/hittest-translated-content-off-to-infinity-and-back-expected.html: Added.
  • transforms/hittest-translated-content-off-to-infinity-and-back.html: Added.
9:55 PM Changeset in webkit [178573] by mmaxfield@apple.com
  • 4 edits in trunk

tables/mozilla/bugs/bug10633.html is flakey on Yosemite
https://bugs.webkit.org/show_bug.cgi?id=140487

Reviewed by Simon Fraser.

Source/WebCore:

The workaround in https://bugs.webkit.org/show_bug.cgi?id=140253 works
on both OSes.

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::SimpleFontData::platformInit):

LayoutTests:

Mark tests as not flakey any more.

  • platform/mac/TestExpectations:
8:23 PM Changeset in webkit [178572] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Uncaught exceptions, attempting to dispatch unimplemented Network WebSocket methods
https://bugs.webkit.org/show_bug.cgi?id=140532

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

  • UserInterface/Protocol/NetworkObserver.js:

(WebInspector.NetworkObserver.prototype.webSocketFrameReceived):
(WebInspector.NetworkObserver.prototype.webSocketFrameError):
(WebInspector.NetworkObserver.prototype.webSocketFrameSent):
Add stubs to prevent an exception when trying to dispatch the event.

7:45 PM Changeset in webkit [178571] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Removing an HTML element spends a lot of time in adjustDirectionalityIfNeededAfterChildrenChanged
https://bugs.webkit.org/show_bug.cgi?id=140523
<rdar://problem/19464329>

Reviewed by Chris Dumez.

The bug was caused by adjustDirectionalityIfNeededAfterChildrenChanged always traversing children to
unset selfOrAncestorHasDirAutoAttribute flag while removing a child element.

Fixed the bug by removing this code. This code was no-op prior to being refactored in r154957 since
we only entered a for loop with the invariant "counter < childCountDelta" when "childCountDelta < 0".

See http://trac.webkit.org/changeset/154957/trunk/Source/WebCore/html/HTMLElement.cpp.

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):

7:29 PM Changeset in webkit [178570] by dbates@webkit.org
  • 3 edits in trunk/Tools

[iOS] REGRESSION (r174642): DumpRenderTree.app test may dump result twice
https://bugs.webkit.org/show_bug.cgi?id=139685
<rdar://problem/19281317>

Reviewed by Simon Fraser.

Fixes an issue where a test in DumpRenderTree.app may dump its result twice. In particular,
the test LayoutTests/fast/dom/gc-10.html may dump its result twice.

Following <http://trac.webkit.org/changeset/174642>, we dump the test result asynchronously
as opposed to synchronously. So, the WebThread or the main thread may perform other tasks
before DRT dumps the output of a test. In particular, the WebThread may start a new page
load (say, as a result of continued JavaScript execution), which will ultimately lead to
dumping the test result again. Instead we want DRT to dump the test result synchronously
such that we capture the state of the web page either when the page is loaded or when
window.testRunner.notifyDone() is called.

  • DumpRenderTree/ios/PixelDumpSupportIOS.mm:

(createBitmapContextFromWebView): Moved logic to re-enable tile painting and update the
state of the display from here to updateDisplay(). Added call to -[CATransaction flush] to
flush CA transactions to the window.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(updateDisplay): Added iOS-specific code to update tiles and tell WebKit to flush
compositing changes to ensure that we have up-to-date tile content for a pixel/ref-test.
(dump): Renamed; formerly named dumpTestResults().
(displayWebView): Removed outdated FIXME comment. Added FIXME comment to investigate
enabling repaint support on iOS.
(-[DumpRenderTree _deferDumpToMainThread]): Deleted.
(-[DumpRenderTree _waitForWebThreadThenDump]): Deleted.
(dumpTestResults): Deleted.

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

Web Inspector: Reopening the inspector can selects a sub-frame instead of the Main Frame's DOM
https://bugs.webkit.org/show_bug.cgi?id=140513

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

  • UserInterface/Models/Frame.js:

(WebInspector.Frame.prototype.saveIdentityToCookie):
Specifically identify the main frame, so that any sub-frames with the same
URL, don't get choosen over the main frame when restoring state from cookie.

6:18 PM Changeset in webkit [178568] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

RenderLayerCompositor: Strange comparison of opacity (float) to boolean.
https://bugs.webkit.org/show_bug.cgi?id=140477.

Reviewed by Simon Fraser.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::styleChangeRequiresLayerRebuild): Add a cast to make the meaning of this
code clearer.

6:07 PM Changeset in webkit [178567] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Add a connection parameter to StorageManager willOpen/didClose functions
https://bugs.webkit.org/show_bug.cgi?id=140527

Reviewed by Tim Horton.

Rename processWillCloseConnection to processDidCloseConnection and pass connections
to both functions since in the near future we won't be able to get the connection from
the web process proxy in these scenarios.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::processWillOpenConnection):
(WebKit::StorageManager::processDidCloseConnection):
(WebKit::StorageManager::processWillCloseConnection): Deleted.

  • UIProcess/Storage/StorageManager.h:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::webProcessWillOpenConnection):
(WebKit::WebsiteDataStore::webProcessDidCloseConnection):

6:01 PM Changeset in webkit [178566] by Brent Fulgham
  • 3 edits in trunk/LayoutTests

[Win] Unreviewed Windows gardening.

Remove a bunch of out-of-date entries, and try to properly mark tests so we get
proper coverage.

  • platform/win-xp/TestExpectations:
  • platform/win/TestExpectations:
5:59 PM Changeset in webkit [178565] by Joseph Pecoraro
  • 5 edits in trunk/Source/WebCore

Unreviewed, rolling out r178531.

Caused LayoutTest ASSERTs/CRASHs on Debug Yosemite build-bot.

Reverted changeset:

"Layers need to be already updated before we call adjustViewSize."
https://bugs.webkit.org/show_bug.cgi?id=135514
http://trac.webkit.org/changeset/178531

  • page/FrameView.cpp:

(WebCore::FrameView::layout):
(WebCore::FrameView::updateCompositingLayersAfterScrolling):
(WebCore::FrameView::paintContents):
(WebCore::FrameView::shouldDeferScrollUpdateAfterContentSizeChange): Deleted.

  • page/FrameView.h:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::scrollTo):
(WebCore::ScrollView::handleDeferredScrollUpdateAfterContentSizeChange): Deleted.

  • platform/ScrollView.h:

(WebCore::ScrollView::shouldDeferScrollUpdateAfterContentSizeChange): Deleted.

5:58 PM Changeset in webkit [178564] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.5-branch/Source/JavaScriptCore

Merged r178364. rdar://problem/19465091

5:58 PM Changeset in webkit [178563] by matthew_hanson@apple.com
  • 6 edits in branches/safari-600.5-branch/Source

Merged r177448. rdar://problem/19451944

5:58 PM Changeset in webkit [178562] by matthew_hanson@apple.com
  • 8 edits in branches/safari-600.5-branch/Source

Merged r176896. rdar://problem/19451941

5:58 PM Changeset in webkit [178561] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r174713. rdar://problem/19451946

5:58 PM Changeset in webkit [178560] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.5-branch/Source/WebCore

Merged r174710. rdar://problem/19451946

5:58 PM Changeset in webkit [178559] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.5-branch/Source/WebCore

Merged r174709. rdar://problem/19451946

5:58 PM Changeset in webkit [178558] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.5-branch

Merged r174698. rdar://problem/19451946

5:58 PM Changeset in webkit [178557] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.5-branch/Source/WebCore

Merged r174106. rdar://problem/19451946

5:58 PM Changeset in webkit [178556] by matthew_hanson@apple.com
  • 10 edits in branches/safari-600.5-branch/Source/WebCore

Merged r174505. rdar://problem/19451946

5:58 PM Changeset in webkit [178555] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r174350. rdar://problem/19451946

5:58 PM Changeset in webkit [178554] by matthew_hanson@apple.com
  • 7 edits in branches/safari-600.5-branch/Source/WebCore

Merged r174346. rdar://problem/19451946

5:58 PM Changeset in webkit [178553] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.5-branch/Source

Merged r174162. rdar://problem/19451961

5:57 PM Changeset in webkit [178552] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/WebKitLibraries

Merged r173768. rdar://problem/19451961

5:57 PM Changeset in webkit [178551] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r173218. rdar://problem/19451975

5:57 PM Changeset in webkit [178550] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r173216. rdar://problem/19451946

5:57 PM Changeset in webkit [178549] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.5-branch/Source

Versioning.

5:48 PM Changeset in webkit [178548] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.14.1/Source

Versioning.

5:36 PM Changeset in webkit [178547] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.14.1

New tag.

5:25 PM Changeset in webkit [178546] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.4.2

New tag.

5:07 PM Changeset in webkit [178545] by Chris Dumez
  • 22 edits
    4 copies
    1 add in trunk/Source

[WK2] Wire diagnostic logging messages through the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=140486

Reviewed by Sam Weinig.

Wire diagnostic logging messages through the UIProcess.
Eventually, the corresponding bundle API should go away.

Source/WebCore:

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:

Add page/DiagnosticLoggingResultType.h to Windows project.

  • WebCore.xcodeproj/project.pbxproj:

Add page/DiagnosticLoggingResultType.h to XCode project.

  • html/HTMLMediaElement.cpp:
  • loader/EmptyClients.h:
  • loader/FrameLoader.cpp:
  • page/DiagnosticLoggingClient.h:
  • page/DiagnosticLoggingResultType.h: Copied from Source/WebCore/page/DiagnosticLoggingClient.h.

Use new DiagnosticLoggingResultType enum instead of old
DiagnosticLoggingClient::LogType one.

Source/WebKit2:

  • CMakeLists.txt:

Add UIProcess/WebPageDiagnosticLoggingClient.cpp to CMake.

  • Shared/API/c/WKDiagnosticLoggingResultType.h:

Extract WKDiagnosticLoggingResultType enumeration from
WKBundlePageDiagnosticLoggingClient.h into its own header so that
it can be shared with the new WKPageDiagnosticLoggingClient.h.

  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toAPI):
(WebKit::toDiagnosticLoggingResultType):
Add WebCore::DiagnosticLoggingResultType <-> WKDiagnosticLoggingResultType
casting functions.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageDiagnosticLoggingClient):

  • UIProcess/API/C/WKPage.h:

Add WKPage API so that the application can set the DiagnosticLoggingClient.

  • UIProcess/API/C/WKPageDiagnosticLoggingClient.h: Added.

New WK2 diagnostic logging client that will eventually replace the existing
WKBundlePageDiagnosticLoggingClient.h injected bundle client.

  • UIProcess/WebPageDiagnosticLoggingClient.cpp: Copied from Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp.
  • UIProcess/WebPageDiagnosticLoggingClient.h: Copied from Source/WebCore/page/DiagnosticLoggingClient.h.
  • UIProcess/WebPageProxy.cpp:
  • UIProcess/WebPageProxy.h:

Handle new IPC messages for logging diagnostic messages.

  • UIProcess/WebPageProxy.messages.in:

Add 3 IPC messages for logging diagnostic messages.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files to XCode project.

  • WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h:

Remove WKDiagnosticLoggingResultType enum as it was moved to its own
header.

  • WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp:
  • WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h:

Use WebCore::DiagnosticLoggingResultType enum type instead of
WKDiagnosticLoggingResultType and call toAPI() to convert to
WKDiagnosticLoggingResultType type.

  • WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp:

(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessage):
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithResult):
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithValue):
Send IPC to WebPageProxy in addition to calling the injected bundle client.

  • WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.h:

Use new DiagnosticLoggingResultType enum instead of the old LogType one.

5:00 PM Changeset in webkit [178544] by Joseph Pecoraro
  • 7 edits in trunk/Source/WebInspectorUI

Web Inspector: selecting Paint timeline records from sidebar does not trigger preview of paint quad
https://bugs.webkit.org/show_bug.cgi?id=139151

Reviewed by Brian Burg.

  • UserInterface/Views/LayoutTimelineDataGrid.js:

(WebInspector.LayoutTimelineDataGrid):
(WebInspector.LayoutTimelineDataGrid.prototype.callFramePopoverAnchorElement):
(WebInspector.LayoutTimelineDataGrid.prototype.reset): Deleted.
(WebInspector.LayoutTimelineDataGrid.prototype.hidden): Deleted.
(WebInspector.LayoutTimelineDataGrid.prototype._layoutDataGridSelectedNodeChanged): Deleted.
(WebInspector.LayoutTimelineDataGrid.prototype._hideHighlightIfNeeded): Deleted.
Move the node highlight from the datagrid to the timeline view because
we want this to happen on both the Navigation sidebar and the datagrid.

  • UserInterface/Views/LayoutTimelineView.js:

(WebInspector.LayoutTimelineView.prototype.shown):
(WebInspector.LayoutTimelineView.prototype.hidden):
(WebInspector.LayoutTimelineView.prototype.filterDidChange):
(WebInspector.LayoutTimelineView.prototype.reset):
(WebInspector.LayoutTimelineView.prototype._treeElementDeselected):
(WebInspector.LayoutTimelineView.prototype._treeElementSelected):
Update the highlight for major view updates.

(WebInspector.LayoutTimelineView.prototype._updateHighlight):
(WebInspector.LayoutTimelineView.prototype._showHighlightForRecord):
(WebInspector.LayoutTimelineView.prototype._hideHighlightIfNeeded):
(WebInspector.LayoutTimelineView.prototype._hoveredOrSelectedRecord):
Show a highlight for what we are hovering, or what is selected.
Note the selected node may not be visible due to filtering.

(WebInspector.LayoutTimelineView.prototype._mouseOverDataGrid):
(WebInspector.LayoutTimelineView.prototype._mouseLeaveDataGrid):
(WebInspector.LayoutTimelineView.prototype._mouseOverTreeOutline):
(WebInspector.LayoutTimelineView.prototype._mouseLeaveTreeOutline):
Update hovered information mousing over the datagrid and tree outline.

  • UserInterface/Views/TimelineContentView.js:

(WebInspector.TimelineContentView.prototype.filterDidChange):

  • UserInterface/Views/TimelineSidebarPanel.js:

(WebInspector.TimelineSidebarPanel.prototype.updateFilter):

  • UserInterface/Views/TimelineView.js:

(WebInspector.TimelineView.prototype.filterDidChange):
Include a "filterDidChange" TimelineView method that gets called after
updateFilter (things like the filter bar or timeline range changes).

  • UserInterface/Views/TreeOutline.js:

(TreeOutline.prototype.treeElementFromNode):
(TreeOutline.prototype.treeElementFromPoint):
Provide a helper to get a tree element from an event target.

4:48 PM Changeset in webkit [178543] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.5.1

New tag.

4:27 PM Changeset in webkit [178542] by bshafiei@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r175083.

4:11 PM Changeset in webkit [178541] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

Reduce LayoutRect::infiniteRect() usage.
https://bugs.webkit.org/show_bug.cgi?id=140511

Reviewed by Simon Fraser.

This is in preparation to get rid of LayoutRect/FloatRect::infiniteRect().

No change in functionality.

  • platform/graphics/LayoutRect.h:

(WebCore::LayoutRect::isInfinite):

  • rendering/ClipRect.h:

(WebCore::ClipRect::reset):
(WebCore::ClipRect::isEmpty):
(WebCore::ClipRect::isInfinite):
(WebCore::ClipRect::setRect): Deleted.

  • rendering/PaintInfo.h:

(WebCore::PaintInfo::applyTransform):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h:

(WebCore::ClipRects::reset):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGeometry):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::clippedByAncestor):

4:06 PM Changeset in webkit [178540] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Added availability annotations to modern Cocoa SPI.

Rubber-stamped by Anders Carlsson.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
4:01 PM Changeset in webkit [178539] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix assertions on the Mountain Lion bots.

It is allowed to call addWorkQueueMessageReceiver even if the connection is open
so remove that assertion.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::addWorkQueueMessageReceiver):

3:58 PM Changeset in webkit [178538] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix after r178536.

Initialize member variables in the proper order.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):

3:57 PM Changeset in webkit [178537] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Intermittent WebCore build failures - CSSPropertyNames.gperf: No keywords in input file! calling gperf failed: 256 at WebCore/css/makeprop.pl line 901
https://bugs.webkit.org/show_bug.cgi?id=140521

Reviewed by Alexey Proskuryakov.

Close the CSSPropertyNames.gperf file before calling gperf on it
to make sure the content we wrote was flushed. This was causing
intermittent build failures.

  • css/makeprop.pl:
3:42 PM Changeset in webkit [178536] by enrica@apple.com
  • 11 edits in trunk/Source/WebKit2

[WK2] Add support for fully editable WKWebView.
https://bugs.webkit.org/show_bug.cgi?id=140515

Reviewed by Anders Carlsson.

WKWebView has now a new property (_editable) to control
the editability of the entire content.

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _isEditable]):
(-[WKWebView _setEditable:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/mac/WKView.mm:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setEditable):
(WebKit::WebPageProxy::creationParameters):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::isEditable):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setEditable):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
3:16 PM Changeset in webkit [178535] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Update Mountain Lion results for fast/canvas/webgl/angle-instanced-arrays.html
after r178527.

  • platform/mac-mountainlion/fast/canvas/webgl/angle-instanced-arrays-expected.txt:
3:15 PM Changeset in webkit [178534] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

LayerFragment should be able to intersect with ClipRect.
https://bugs.webkit.org/show_bug.cgi?id=140498

Reviewed by Simon Fraser.

No change in functionality.

  • rendering/LayerFragment.h:

(WebCore::LayerFragment::intersect):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::collectFragments):

3:13 PM Changeset in webkit [178533] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Move ClipRects and ClipRectsCache classes to RenderLayer.cpp.
https://bugs.webkit.org/show_bug.cgi?id=140461

Reviewed by Simon Fraser.

Move classes only used by RenderLayer to RenderLayer.cpp.

No change in functionality.

  • rendering/RenderLayer.cpp:

(WebCore::ClipRects::create):
(WebCore::ClipRects::reset):
(WebCore::ClipRects::overflowClipRect):
(WebCore::ClipRects::setOverflowClipRect):
(WebCore::ClipRects::fixedClipRect):
(WebCore::ClipRects::setFixedClipRect):
(WebCore::ClipRects::posClipRect):
(WebCore::ClipRects::setPosClipRect):
(WebCore::ClipRects::fixed):
(WebCore::ClipRects::setFixed):
(WebCore::ClipRects::ref):
(WebCore::ClipRects::deref):
(WebCore::ClipRects::operator==):
(WebCore::ClipRects::operator=):
(WebCore::ClipRects::ClipRects):
(WebCore::ClipRectsCache::ClipRectsCache):
(WebCore::ClipRectsCache::getClipRects):
(WebCore::ClipRectsCache::setClipRects):
(WebCore::ClipRectsCache::getIndex):
(WebCore::RenderLayer::clipRects):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h:

(WebCore::ClipRects::create): Deleted.
(WebCore::ClipRects::ClipRects): Deleted.
(WebCore::ClipRects::reset): Deleted.
(WebCore::ClipRects::overflowClipRect): Deleted.
(WebCore::ClipRects::setOverflowClipRect): Deleted.
(WebCore::ClipRects::fixedClipRect): Deleted.
(WebCore::ClipRects::setFixedClipRect): Deleted.
(WebCore::ClipRects::posClipRect): Deleted.
(WebCore::ClipRects::setPosClipRect): Deleted.
(WebCore::ClipRects::fixed): Deleted.
(WebCore::ClipRects::setFixed): Deleted.
(WebCore::ClipRects::ref): Deleted.
(WebCore::ClipRects::deref): Deleted.
(WebCore::ClipRects::operator==): Deleted.
(WebCore::ClipRects::operator=): Deleted.
(WebCore::ClipRectsCache::ClipRectsCache): Deleted.
(WebCore::ClipRectsCache::getClipRects): Deleted.
(WebCore::ClipRectsCache::setClipRects): Deleted.
(WebCore::ClipRectsCache::getIndex): Deleted.

2:52 PM Changeset in webkit [178532] by commit-queue@webkit.org
  • 11 edits in trunk

Canonicalization of :lang() should preserve the :lang()'s arguments representations
https://bugs.webkit.org/show_bug.cgi?id=139928

Patch by Dhi Aurrahman <diorahman@rockybars.com> on 2015-01-15
Reviewed by Benjamin Poulain.

Source/WebCore:

Preserve the representation of IDENT and STRING when serializing the
:lang(). For example, :lang(foo,"bar" ,baz) should be serialized as
:lang(foo, "bar", baz) instead of :lang(foo, bar, baz).

Rename CSSParserSelector::setArgumentList, CSSSelector::setArgumentList
and CSSSelector::argumentList to CSSParserSelector::setLangArgumentList,
CSSSelector::setLangArgumentList and CSSSelector::langArgumentList
respectively, since those methods are being exclusively used in respect
with :lang().

Update the test of serializing :lang() with IDENT and STRING arguments.

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

(WebCore::CSSParserSelector::setLangArgumentList):
(WebCore::CSSParserSelector::setArgumentList): Deleted.

  • css/CSSParserValues.h:

(WebCore::CSSParserString::init):
(WebCore::CSSParserString::clear):
(WebCore::CSSParserString::isParsedFromString):
(WebCore::CSSParserString::setParsedFromString):

  • css/CSSSelector.cpp:

(WebCore::appendLangArgumentList):
(WebCore::CSSSelector::selectorText):
(WebCore::CSSSelector::setLangArgumentList):
(WebCore::appendArgumentList): Deleted.
(WebCore::CSSSelector::setArgumentList): Deleted.

  • css/CSSSelector.h:

(WebCore::CSSSelector::langArgumentList):
(WebCore::CSSSelector::langArgumentParsedFromStringFlagList):
(WebCore::CSSSelector::argumentList): Deleted.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

LayoutTests:

  • fast/css/css-lang-selector-with-string-arguments-text-expected.txt: Updated.
  • fast/css/css-lang-selector-with-string-arguments-text.html: Updated.
2:51 PM Changeset in webkit [178531] by Brent Fulgham
  • 5 edits in trunk/Source/WebCore

Layers need to be already updated before we call adjustViewSize
https://bugs.webkit.org/show_bug.cgi?id=135514

Reviewed by Simon Fraser.

Tested by 'fast/dynamic/layer-no-longer-paginated.html'

Defer updating scrollbars until we have finished layout. This
has a couple of benefits:
(1) We do not attempt to modify render layers during layout.
(2) In WK1 we do not attempt to paint during layout.

Add a new virtual predicate to ScrollView indicating when we are in
layout so that calls to setContentsSize do not attempt
to adjust scrollbars.

Modify FrameView to set its ScrollView state to block drawing
scrollbar updates during layout. Also add a post-layout
handler to complete the scrollbar updates after layout is
finished.

  • page/FrameView.cpp:

(WebCore::FrameView::layout):
(WebCore::FrameView::shouldDeferScrollUpdateAfterContentSizeChange): Added.

  • page/FrameView.h:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::handleDeferredScrollUpdateAfterContentSizeChange): Added.
(WebCore::ScrollView::scrollTo): If we should defer painting, cache the
the scroll delta and apply it after the layout is complete.

  • platform/ScrollView.h:

(WebCore::ScrollView::shouldDeferScrollUpdateAfterContentSizeChange): Added.

2:49 PM Changeset in webkit [178530] by Brent Fulgham
  • 6 edits in trunk/Tools

[Win] Miscellaneous DRT fixes
https://bugs.webkit.org/show_bug.cgi?id=116562

Reviewed by Tim Horton.

While investigating the cause of several Windows crashes, I found:
(1) Messy conversions to and from BSTR types
(2) Weird mixes of wide-string and narrow string conversions
(3) Passing nullptr to some CoreFoundation routines that do not

permit null arguments.

(4) Commands to link the executable to the VS2005 runtime.

This patch cleans up these issues to improve DRT reliability on
Windows.

  • DumpRenderTree/cg/ImageDiffCG.cpp:

(main): Get rid of VS2005 runtime linking.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(urlSuitableForTestResult): Protect against being asked
to process an empty URL.
(dumpHistoryItem): Do BSTR string building using _bstr_t, rather
than converting to/from wchar_t buffers.
(runTest): Simplify string and BSTR handling.
(createWebViewAndOffscreenWindow): Ditto.
(main): Get rid of VS2005 runtime linking.

  • DumpRenderTree/win/TestRunnerWin.cpp:

(jsStringRefToWString): Simplify code.
(TestRunner::pathToLocalResource):
(TestRunner::setUserStyleSheetLocation):

  • TestWebKitAPI/win/main.cpp: Get rid of

VS2005 runtime linking.

  • win/DLLLauncher/DLLLauncherMain.cpp:

(wWinMain): Ditto.

2:19 PM Changeset in webkit [178529] by benjamin@webkit.org
  • 11 edits
    1 delete in trunk/Source/WebCore

When building the NFA of the global disjunction, share the prefix subgraph of existing subpatterns
https://bugs.webkit.org/show_bug.cgi?id=140465

Reviewed by Andreas Kling.

This patch updates the parser to produce smaller graphs when multiple patterns
of the rule list share a common prefix.

Previously, GraphBuilder would generate subgraph in place of each parsed
atom. We now only create subgraph if an atom does not appear in the prefix tree.

We accumulate the parsing information into small uint16_t named TrivialAtom.
When generating the subgraph for an new atom, we first check if the prefix tree already
has a corresponding subgraph for that atom. If it does, we do not generate anything and we extend the existing
graph. If there is no existing prefix, we create the subgraph and extend the prefix tree.

Sharing prefix subtrees slows down the subtree generation a bit but the resulting graph is much
simpler for many kind of inputs.

  • WebCore.xcodeproj/project.pbxproj:
  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList):
The URLFilterParser now maintains states (the prefix tree) between patterns.

  • contentextensions/DFA.cpp:

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

  • contentextensions/DFANode.h:

Fix a typo :)

  • contentextensions/NFA.cpp:

(WebCore::ContentExtensions::NFA::createNode):
(WebCore::ContentExtensions::NFA::setFinal):
(WebCore::ContentExtensions::NFA::restoreToGraphSize):
(WebCore::ContentExtensions::NFA::addRuleId):
(WebCore::ContentExtensions::NFA::debugPrintDot):

  • contentextensions/NFA.h:

(WebCore::ContentExtensions::NFA::addRuleId):

  • contentextensions/NFANode.cpp: Removed.
  • contentextensions/NFANode.h:

NFA nodes from two patterns are now "merged" by construction, thus we need
to keep track of multiple rules per node.

  • contentextensions/NFAToDFA.cpp:

(WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetTranslator::translate):

  • contentextensions/URLFilterParser.cpp:

(WebCore::ContentExtensions::trivialAtomFromAsciiCharacter):
(WebCore::ContentExtensions::quantifyTrivialAtom):
(WebCore::ContentExtensions::trivialAtomForNewlineClassIDBuiltin):
(WebCore::ContentExtensions::GraphBuilder::GraphBuilder):
(WebCore::ContentExtensions::GraphBuilder::m_LastPrefixTreeEntry):
(WebCore::ContentExtensions::GraphBuilder::finalize):
(WebCore::ContentExtensions::GraphBuilder::atomPatternCharacter):
(WebCore::ContentExtensions::GraphBuilder::atomBuiltInCharacterClass):
(WebCore::ContentExtensions::GraphBuilder::quantifyAtom):
(WebCore::ContentExtensions::GraphBuilder::fail):
(WebCore::ContentExtensions::GraphBuilder::generateTransition):
(WebCore::ContentExtensions::GraphBuilder::sinkTrivialAtom):
(WebCore::ContentExtensions::GraphBuilder::sinkPendingAtomIfNecessary):
(WebCore::ContentExtensions::URLFilterParser::URLFilterParser):
(WebCore::ContentExtensions::URLFilterParser::addPattern):
(WebCore::ContentExtensions::GraphBuilder::m_lastAtom): Deleted.
(WebCore::ContentExtensions::URLFilterParser::parse): Deleted.

  • contentextensions/URLFilterParser.h:

(WebCore::ContentExtensions::URLFilterParser::hasError): Deleted.
(WebCore::ContentExtensions::URLFilterParser::errorMessage): Deleted.

2:14 PM Changeset in webkit [178528] by ap@apple.com
  • 2 edits in trunk/Tools

Stop hardcoding mac-mountainlion in commit queue
https://bugs.webkit.org/show_bug.cgi?id=140492

Reviewed by Anders Carlsson.

Use "mac", not "mac-<platform>". This matches how EWS queues are initialized, and
there should be no change in behavior, because:

  1. PatchProcessingQueue converts the name with _new_port_name_from_old() before

using it to create a port object.

  1. Although it doesn't convert the name before using DeprecatedPort.port(), it

is actually correct to use "mac" for the name there. We only used to get the expected
behavior with "mac-mountainlion" accidentally, because of a fallback to "mac"
for unknown deprecated port names.

  • Scripts/webkitpy/tool/commands/queues.py: (CommitQueue):
1:52 PM Changeset in webkit [178527] by ap@apple.com
  • 276 edits
    1 copy in trunk

Web Inspector and regular console use different source code locations for messages
https://bugs.webkit.org/show_bug.cgi?id=140478

Reviewed by Brian Burg.

Source/JavaScriptCore:

  • inspector/ConsoleMessage.h: Expose computed source location.
  • inspector/agents/InspectorConsoleAgent.cpp:

(Inspector::InspectorConsoleAgent::addMessageToConsole):
(Inspector::InspectorConsoleAgent::stopTiming):
(Inspector::InspectorConsoleAgent::count):

  • inspector/agents/InspectorConsoleAgent.h:

addMessageToConsole() now takes a pre-made ConsoleMessage object.

  • inspector/JSGlobalObjectConsoleClient.cpp:

(Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel):
(Inspector::JSGlobalObjectConsoleClient::warnUnimplemented):

  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::reportAPIException):

  • inspector/agents/JSGlobalObjectDebuggerAgent.cpp:

(Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog):
Updated for the above changes.

Source/WebCore:

We now create a ConsoleMessage object in a place where we can look at it and use
the source location it computed in a client call.

  • inspector/InspectorConsoleInstrumentation.h:

(WebCore::InspectorInstrumentation::addMessageToConsole):

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::addMessageToConsoleImpl):

  • inspector/InspectorInstrumentation.h:
  • inspector/WebConsoleAgent.cpp:

(WebCore::WebConsoleAgent::didFinishXHRLoading):
(WebCore::WebConsoleAgent::didReceiveResponse):
(WebCore::WebConsoleAgent::didFailLoading):

  • page/PageConsoleClient.cpp:

(WebCore::PageConsoleClient::addMessage):
(WebCore::PageConsoleClient::messageWithTypeAndLevel):

  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::addMessageToWorkerConsole):

LayoutTests:

A lot of tests now get line numbers in console messages. These lines are calculated
by Inspector::ConsoleMessage based on JavaScript call stack.

One note of interest is that DumpRenderTree only dumps the line, which can be
confusing if it is a line in a subresource. We can change the format in a separate
patch one day.

  • http/tests/security/drag-drop-local-file-expected.txt:
  • platform/wk2/http/tests/security/drag-drop-local-file-expected.txt:

With WebKit1, a console message is logged when EventSender releases the mouse button,
and with WebKit2, it is logged on hover. This is not quite expected, but probably
not too harmful. In any case, it's not a new problem introduced by this patch.

  • http/tests/security/xss-DENIED-iframe-src-alias.html:
  • http/tests/security/xss-DENIED-iframe-src-alias-expected.txt:

Run the subtests sequentially to ensure consistent order of results.

  • animations/change-keyframes-expected.txt:
  • crypto/subtle/unwrapKey-check-usage-expected.txt:
  • crypto/subtle/wrapKey-check-usage-expected.txt:
  • fast/canvas/webgl/angle-instanced-arrays-expected.txt:
  • fast/canvas/webgl/angle-instanced-arrays-out-of-bounds-expected.txt:
  • fast/canvas/webgl/oes-texture-float-linear-expected.txt:
  • fast/canvas/webgl/oes-texture-half-float-expected.txt:
  • fast/canvas/webgl/oes-texture-half-float-linear-expected.txt:
  • fast/dom/Window/open-invalid-url-expected.txt:
  • fast/dom/assign-to-prototype-accessor-on-prototype-should-be-silent-expected.txt:
  • fast/forms/interactive-validation-prevented-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-01-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-02-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-03-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-04-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-05-expected.txt:
  • fast/frames/sandboxed-iframe-close-top-noclose-expected.txt:
  • fast/frames/sandboxed-iframe-forms-dynamic-expected.txt:
  • fast/frames/sandboxed-iframe-forms-expected.txt:
  • fast/frames/sandboxed-iframe-history-denied-expected.txt:
  • fast/frames/sandboxed-iframe-navigation-targetlink-expected.txt:
  • fast/frames/sandboxed-iframe-navigation-top-by-name-denied-expected.txt:
  • fast/frames/sandboxed-iframe-navigation-windowopen-expected.txt:
  • fast/frames/sandboxed-iframe-parsing-space-characters-expected.txt:
  • fast/loader/page-dismissal-modal-dialogs-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-no-file-access-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-responsetype-before-open-sync-request-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-responsetype-sync-request-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-sync-disabled-expected.txt:
  • fast/xpath/nsresolver-bad-object-expected.txt:
  • html5lib/generated/run-tests11-write-expected.txt:
  • http/tests/appcache/abort-cache-onchecking-expected.txt:
  • http/tests/appcache/abort-cache-onchecking-manifest-404-expected.txt:
  • http/tests/appcache/abort-cache-onchecking-resource-404-expected.txt:
  • http/tests/appcache/abort-cache-ondownloading-expected.txt:
  • http/tests/appcache/abort-cache-ondownloading-resource-404-expected.txt:
  • http/tests/appcache/abort-cache-onprogress-expected.txt:
  • http/tests/appcache/local-content-expected.txt:
  • http/tests/canvas/philip/tests/security.drawImage.canvas-expected.txt:
  • http/tests/canvas/philip/tests/security.drawImage.image-expected.txt:
  • http/tests/canvas/philip/tests/security.pattern.canvas.fillStyle-expected.txt:
  • http/tests/canvas/philip/tests/security.pattern.canvas.strokeStyle-expected.txt:
  • http/tests/canvas/philip/tests/security.pattern.cross-expected.txt:
  • http/tests/canvas/philip/tests/security.pattern.image.fillStyle-expected.txt:
  • http/tests/canvas/philip/tests/security.pattern.image.strokeStyle-expected.txt:
  • http/tests/history/cross-origin-replace-history-object-child-expected.txt:
  • http/tests/history/cross-origin-replace-history-object-expected.txt:
  • http/tests/inspector-protocol/access-inspected-object-expected.txt:
  • http/tests/misc/image-blocked-src-no-change-expected.txt:
  • http/tests/misc/unloadable-script-expected.txt:
  • http/tests/plugins/cross-frame-object-access-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny-expected.txt:
  • http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write-expected.txt:
  • http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url-expected.txt:
  • http/tests/security/aboutBlank/xss-DENIED-set-opener-expected.txt:
  • http/tests/security/canvas-remote-read-redirect-to-remote-image-expected.txt:
  • http/tests/security/canvas-remote-read-remote-image-blocked-no-crossorigin-expected.txt:
  • http/tests/security/canvas-remote-read-remote-image-blocked-then-allowed-expected.txt:
  • http/tests/security/canvas-remote-read-remote-image-expected.txt:
  • http/tests/security/canvas-remote-read-remote-image-redirect-expected.txt:
  • http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-in-http-header-expected.txt:
  • http/tests/security/contentSecurityPolicy/sandbox-in-http-header-expected.txt:
  • http/tests/security/cross-frame-access-call-expected.txt:
  • http/tests/security/cross-frame-access-callback-explicit-domain-DENY-expected.txt:
  • http/tests/security/cross-frame-access-child-explicit-domain-expected.txt:
  • http/tests/security/cross-frame-access-custom-expected.txt:
  • http/tests/security/cross-frame-access-delete-expected.txt:
  • http/tests/security/cross-frame-access-enumeration-expected.txt:
  • http/tests/security/cross-frame-access-first-time-expected.txt:
  • http/tests/security/cross-frame-access-frameelement-expected.txt:
  • http/tests/security/cross-frame-access-get-custom-property-cached-expected.txt:
  • http/tests/security/cross-frame-access-get-expected.txt:
  • http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt:
  • http/tests/security/cross-frame-access-history-get-expected.txt:
  • http/tests/security/cross-frame-access-history-put-expected.txt:
  • http/tests/security/cross-frame-access-location-get-expected.txt:
  • http/tests/security/cross-frame-access-location-put-expected.txt:
  • http/tests/security/cross-frame-access-name-getter-expected.txt:
  • http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt:
  • http/tests/security/cross-frame-access-object-prototype-expected.txt:
  • http/tests/security/cross-frame-access-parent-explicit-domain-expected.txt:
  • http/tests/security/cross-frame-access-port-expected.txt:
  • http/tests/security/cross-frame-access-protocol-expected.txt:
  • http/tests/security/cross-frame-access-protocol-explicit-domain-expected.txt:
  • http/tests/security/cross-frame-access-put-expected.txt:
  • http/tests/security/cross-frame-access-selection-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-to-data-url-sub-frame-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-to-data-url-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-from-data-url-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-window-open-expected.txt:
  • http/tests/security/document-all-expected.txt:
  • http/tests/security/frameNavigation/not-opener-expected.txt:
  • http/tests/security/frameNavigation/xss-DENIED-targeted-link-navigation-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-location-htmldom-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-getAttribute-value-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-htmldom-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttribute-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNS-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNode-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNodeNS-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-getAttribute-value-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-htmldom-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttribute-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNS-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNode-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNodeNS-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/listener/xss-JSTargetNode-onclick-addEventListener-expected.txt:
  • http/tests/security/listener/xss-JSTargetNode-onclick-shortcut-expected.txt:
  • http/tests/security/listener/xss-XMLHttpRequest-addEventListener-expected.txt:
  • http/tests/security/listener/xss-XMLHttpRequest-shortcut-expected.txt:
  • http/tests/security/listener/xss-window-onclick-addEventListener-expected.txt:
  • http/tests/security/listener/xss-window-onclick-shortcut-expected.txt:
  • http/tests/security/local-CSS-from-remote-expected.txt:
  • http/tests/security/local-JavaScript-from-remote-expected.txt:
  • http/tests/security/local-iFrame-from-remote-expected.txt:
  • http/tests/security/local-image-from-remote-expected.txt:
  • http/tests/security/local-video-poster-from-remote-expected.txt:
  • http/tests/security/mixedContent/insecure-plugin-in-iframe-expected.txt:
  • http/tests/security/mixedContent/insecure-xhr-in-main-frame-expected.txt:
  • http/tests/security/no-popup-from-sandbox-expected.txt:
  • http/tests/security/no-popup-from-sandbox-top-expected.txt:
  • http/tests/security/popup-allowed-by-sandbox-is-sandboxed-expected.txt:
  • http/tests/security/referrer-policy-invalid-expected.txt:
  • http/tests/security/sandbox-inherit-to-initial-document-2-expected.txt:
  • http/tests/security/sandboxed-iframe-blocks-access-from-parent-expected.txt:
  • http/tests/security/sandboxed-iframe-form-top-expected.txt:
  • http/tests/security/sandboxed-iframe-modify-self-expected.txt:
  • http/tests/security/sandboxed-iframe-origin-add-expected.txt:
  • http/tests/security/sandboxed-iframe-origin-remove-expected.txt:
  • http/tests/security/srcdoc-in-sandbox-cannot-access-parent-expected.txt:
  • http/tests/security/window-named-proto-expected.txt:
  • http/tests/security/window-named-valueOf-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-hash-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-host-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-hostname-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-href-javascript-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-nonstandardProperty-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-pathname-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-protocol-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-reload-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-search-expected.txt:
  • http/tests/security/xss-DENIED-defineProperty-expected.txt:
  • http/tests/security/xss-DENIED-frame-name-expected.txt:
  • http/tests/security/xss-DENIED-getSVGDocument-iframe-expected.txt:
  • http/tests/security/xss-DENIED-getSVGDocument-object-expected.txt:
  • http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto-expected.txt:
  • http/tests/security/xss-DENIED-invalid-domain-change-expected.txt:
  • http/tests/security/xss-DENIED-javascript-with-spaces-expected.txt:
  • http/tests/security/xss-DENIED-method-with-iframe-proto-expected.txt:
  • http/tests/security/xss-DENIED-sandboxed-iframe-expected.txt:
  • http/tests/security/xss-DENIED-synchronous-form-expected.txt:
  • http/tests/security/xss-DENIED-synchronous-frame-load-in-javascript-url-expected.txt:
  • http/tests/security/xss-DENIED-window-name-navigator-expected.txt:
  • http/tests/security/xss-DENIED-window-open-javascript-url-expected.txt:
  • http/tests/security/xss-DENIED-window-open-javascript-url-with-spaces-expected.txt:
  • http/tests/security/xss-DENIED-window-open-parent-expected.txt:
  • http/tests/security/xss-DENIED-xsl-document-securityOrigin-expected.txt:
  • http/tests/security/xss-eval-expected.txt:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-expected.txt:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-expected.txt:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char-expected.txt:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL-expected.txt:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location2-expected.txt:
  • http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt:
  • http/tests/security/xssAuditor/block-does-not-leak-referrer-expected.txt:
  • http/tests/security/xssAuditor/dom-write-URL-expected.txt:
  • http/tests/security/xssAuditor/dom-write-location-expected.txt:
  • http/tests/security/xssAuditor/dom-write-location-inline-event-expected.txt:
  • http/tests/security/xssAuditor/dom-write-location-javascript-URL-expected.txt:
  • http/tests/security/xssAuditor/full-block-base-href-expected.txt:
  • http/tests/security/xssAuditor/full-block-iframe-javascript-url-expected.txt:
  • http/tests/security/xssAuditor/full-block-javascript-link-expected.txt:
  • http/tests/security/xssAuditor/full-block-link-onclick-expected.txt:
  • http/tests/security/xssAuditor/full-block-object-tag-expected.txt:
  • http/tests/security/xssAuditor/full-block-script-tag-cross-domain-expected.txt:
  • http/tests/security/xssAuditor/full-block-script-tag-expected.txt:
  • http/tests/security/xssAuditor/full-block-script-tag-with-source-expected.txt:
  • http/tests/security/xssAuditor/xss-protection-parsing-03-expected.txt:
  • http/tests/security/xssAuditor/xss-protection-parsing-04-expected.txt:
  • http/tests/websocket/tests/hybi/bad-sub-protocol-control-chars-expected.txt:
  • http/tests/websocket/tests/hybi/bad-sub-protocol-empty-expected.txt:
  • http/tests/websocket/tests/hybi/bad-sub-protocol-non-ascii-expected.txt:
  • http/tests/websocket/tests/hybi/binary-type-expected.txt:
  • http/tests/websocket/tests/hybi/close-before-open-expected.txt:
  • http/tests/websocket/tests/hybi/close-code-and-reason-expected.txt:
  • http/tests/websocket/tests/hybi/close-expected.txt:
  • http/tests/websocket/tests/hybi/close-reason-too-long-expected.txt:
  • http/tests/websocket/tests/hybi/invalid-subprotocol-characters-expected.txt:
  • http/tests/websocket/tests/hybi/invalid-subprotocols-expected.txt:
  • http/tests/websocket/tests/hybi/url-parsing-expected.txt:
  • http/tests/websocket/tests/hybi/websocket-event-target-expected.txt:
  • http/tests/xmlhttprequest/access-control-basic-denied-expected.txt:
  • http/tests/xmlhttprequest/access-control-basic-get-fail-non-simple-expected.txt:
  • http/tests/xmlhttprequest/access-control-basic-non-simple-deny-cached-expected.txt:
  • http/tests/xmlhttprequest/access-control-basic-post-fail-non-simple-content-type-expected.txt:
  • http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers-expected.txt:
  • http/tests/xmlhttprequest/access-control-preflight-sync-header-denied-expected.txt:
  • http/tests/xmlhttprequest/access-control-preflight-sync-method-denied-expected.txt:
  • http/tests/xmlhttprequest/access-control-preflight-sync-not-supported-expected.txt:
  • http/tests/xmlhttprequest/access-control-response-with-expose-headers-expected.txt:
  • http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-expected.txt:
  • http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-without-wildcard-expected.txt:
  • http/tests/xmlhttprequest/cross-origin-no-authorization-expected.txt:
  • http/tests/xmlhttprequest/cross-site-denied-response-sync-2-expected.txt:
  • http/tests/xmlhttprequest/cross-site-denied-response-sync-expected.txt:
  • http/tests/xmlhttprequest/get-dangerous-headers-expected.txt:
  • http/tests/xmlhttprequest/getResponseHeader-expected.txt:
  • http/tests/xmlhttprequest/origin-exact-matching-expected.txt:
  • http/tests/xmlhttprequest/origin-whitelisting-https-expected.txt:
  • http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains-expected.txt:
  • http/tests/xmlhttprequest/origin-whitelisting-removal-expected.txt:
  • http/tests/xmlhttprequest/post-blob-content-type-sync-expected.txt:
  • http/tests/xmlhttprequest/set-dangerous-headers-expected.txt:
  • http/tests/xmlhttprequest/simple-cross-origin-denied-events-post-sync-expected.txt:
  • http/tests/xmlhttprequest/simple-cross-origin-denied-events-sync-expected.txt:
  • http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-synconmain-expected.txt:
  • http/tests/xmlhttprequest/xmlhttprequest-sync-no-progress-events-expected.txt:
  • js/dom/dom-as-prototype-assignment-exception-expected.txt:
  • js/dom/dom-attributes-on-mismatch-type-expected.txt:
  • js/dom/shadow-navigator-geolocation-in-strict-mode-does-not-throw-expected.txt:
  • plugins/get-user-agent-with-null-npp-from-npp-new-expected.txt:
  • plugins/netscape-plugin-map-data-to-src-expected.txt:
  • plugins/no-mime-with-valid-extension-expected.txt:
  • storage/websql/open-database-creation-callback-expected.txt:
  • storage/websql/open-database-set-empty-version-expected.txt:
  • svg/as-image/svg-canvas-xhtml-tainted-expected.txt:
  • svg/css/parse-calc-length-expected.txt:
  • svg/css/parse-height-expected.txt:
  • svg/css/parse-length-expected.txt:
  • svg/custom/invalid-length-units-expected.txt:
  • svg/custom/poly-parsing-error-expected.txt:
  • svg/custom/polyline-setattribute-points-null-expected.txt:
  • svg/dom/fuzz-path-parser-expected.txt:
  • svg/dom/path-parser-expected.txt:
  • svg/dom/points-parser-expected.txt:
  • webaudio/audionode-expected.txt:
1:26 PM Changeset in webkit [178526] by andersca@apple.com
  • 9 edits in trunk/Source/WebKit2

Clearing the website data store should clear local storage
https://bugs.webkit.org/show_bug.cgi?id=140507

Reviewed by Andreas Kling.

  • Shared/WebsiteData/WebsiteDataTypes.h:

Add WebsiteDataTypeLocalStorage.

  • UIProcess/API/Cocoa/_WKWebsiteDataStore.h:

Add WKWebsiteDataTypeLocalStorage

  • UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:

(toWebsiteDataTypes):
Handle WKWebsiteDataTypeLocalStorage.

  • UIProcess/Storage/LocalStorageDatabaseTracker.cpp:

(WebKit::fileModificationTime):
Use an early return.

(WebKit::LocalStorageDatabaseTracker::deleteDatabasesModifiedSince):
Change this to take an std::chrono::system_clock::time_point and don't
try to modifiy m_origins while iterating it.

  • UIProcess/Storage/LocalStorageDatabaseTracker.h:

Update declarations.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::deleteLocalStorageOriginsModifiedSince):
Change this to take an std::chrono::system_clock::time_point.

  • UIProcess/Storage/StorageManager.h:

Update declarations.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::removeData):
Remove data from the storage manager as well.

12:28 PM Changeset in webkit [178525] by Brent Fulgham
  • 5 edits in trunk/Source/WebKit/win

[Win] Unreviewed build fix after r178510

Correct #include and declarations from Font->FontCascade

  • DOMCoreClasses.cpp:

(DOMElement::font):

  • FullscreenVideoController.cpp:

(FullscreenVideoController::draw):

  • WebKitGraphics.cpp:
  • WebPreferences.cpp:
12:24 PM Changeset in webkit [178524] by andersca@apple.com
  • 8 edits in trunk/Source/WebKit2

Give WebsiteDataStore a StorageManager
https://bugs.webkit.org/show_bug.cgi?id=140505

Reviewed by Andreas Kling.

The process pool storage manager is still around but is only used for clearing data. It will be removed
completely in an upcoming commit.

  • UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:

(API::WebsiteDataStore::defaultDataStoreConfiguration):
Set up the local storage directory.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(websiteDataDirectoryURL):
Export this so it can be called from APIWebsiteDataStoreCocoa.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::createNewPage):
Call WebsiteDataStore::cloneSessionData instead.

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::websiteDataStore):
Add getter.

  • UIProcess/WebProcessPool.cpp:

(WebKit::websiteDataStoreConfiguration):
Update this to take a WebProcessPoolConfiguration object and assign the local storage directory.

(WebKit::WebProcessPool::WebProcessPool):
Pass the configuration to websiteDataStoreConfiguration.

(WebKit::WebProcessPool::processWillOpenConnection):
(WebKit::WebProcessPool::processWillCloseConnection):
Remove storage manager calls.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::WebsiteDataStore):
When creating a persistent data store, also create a storage manager.

(WebKit::WebsiteDataStore::cloneSessionData):
Clone the session storage namespace.

(WebKit::WebsiteDataStore::webPageWasAdded):
Create a session storage namespace for this page.

(WebKit::WebsiteDataStore::webPageWasRemoved):
Destroy the session storage namespace.

(WebKit::WebsiteDataStore::webProcessWillOpenConnection):
Tell the storage manager about the new process connection.

(WebKit::WebsiteDataStore::webPageWillOpenConnection):
Set the allowed connection.

(WebKit::WebsiteDataStore::webPageDidCloseConnection):
Clear the allowed connection.

(WebKit::WebsiteDataStore::webProcessDidCloseConnection):
Tell the storage manager that the process connection has been closed.

  • UIProcess/WebsiteData/WebsiteDataStore.h:

Add new members.

12:16 PM Changeset in webkit [178523] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed Windows build fix.

More missing Font->FontCascade changes.

  • platform/win/WebCoreTextRenderer.cpp:

(WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
(WebCore::WebCoreAlwaysUsesComplexTextCodePath):

12:07 PM Changeset in webkit [178522] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

REGRESSION(r178133): Membuster regressed ~4%
https://bugs.webkit.org/show_bug.cgi?id=140495

Reviewed by Andreas Kling.

  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::purgeInactiveFontData):

Fonts may ref other fonts. Keep clearing until there are no changes.

11:54 AM Changeset in webkit [178521] by Brent Fulgham
  • 4 edits in trunk/Source/WebCore

[Win] Unreviewed build fix.

  • platform/graphics/win/FontCacheWin.cpp:
  • platform/win/DragImageWin.cpp:
  • platform/win/WebCoreTextRenderer.h:
11:41 AM Changeset in webkit [178520] by Antti Koivisto
  • 7 edits in trunk/Source/WebCore

Try to fix windows build.

  • platform/graphics/ca/win/PlatformCALayerWin.cpp:
  • platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:

(PlatformCALayerWinInternal::displayCallback):

  • platform/win/DragImageWin.cpp:

(WebCore::dragLabelFont):
(WebCore::createDragImageForLink):

  • platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenuWin::calculatePositionAndSize):
(WebCore::PopupMenuWin::paint):

  • platform/win/WebCoreTextRenderer.cpp:

(WebCore::doDrawTextAtPoint):
(WebCore::WebCoreDrawDoubledTextAtPoint):
(WebCore::WebCoreTextFloatWidth):
(WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
(WebCore::WebCoreAlwaysUsesComplexTextCodePath):

  • rendering/RenderThemeSafari.cpp:

(WebCore::RenderThemeSafari::setFontFromControlSize):

11:34 AM Changeset in webkit [178519] by Antti Koivisto
  • 7 edits
    1 copy
    7 deletes in trunk/Source/WebCore

Unreviewed, rolling out r178518.

Didn't mean to commit some of this

Reverted changeset:

"Try to fix windows build."
http://trac.webkit.org/changeset/178518

11:29 AM Changeset in webkit [178518] by Antti Koivisto
  • 7 edits
    8 copies in trunk/Source/WebCore

Try to fix windows build.

  • platform/graphics/Font.cpp: Copied from Source/WebCore/platform/graphics/SimpleFontData.cpp.
  • platform/graphics/Font.h: Copied from Source/WebCore/platform/graphics/SimpleFontData.h.
  • platform/graphics/FontCascadeFastPath.cpp: Copied from Source/WebCore/platform/graphics/FontFastPath.cpp.
  • platform/graphics/ca/win/PlatformCALayerWin.cpp:
  • platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:

(PlatformCALayerWinInternal::displayCallback):

  • platform/graphics/ios/FontIOS.mm: Copied from Source/WebCore/platform/graphics/ios/SimpleFontDataIOS.mm.
  • platform/graphics/mac/FontCascadeComplexTextMac.cpp: Copied from Source/WebCore/platform/graphics/mac/FontComplexTextMac.cpp.
  • platform/graphics/mac/FontCascadeMac.mm: Copied from Source/WebCore/platform/graphics/mac/FontMac.mm.
  • platform/graphics/mac/FontCoreText.cpp: Copied from Source/WebCore/platform/graphics/mac/SimpleFontDataCoreText.cpp.
  • platform/graphics/mac/FontMac.mm: Replaced with Source/WebCore/platform/graphics/mac/SimpleFontDataMac.mm.
  • platform/win/DragImageWin.cpp:

(WebCore::dragLabelFont):
(WebCore::createDragImageForLink):

  • platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenuWin::calculatePositionAndSize):
(WebCore::PopupMenuWin::paint):

  • platform/win/WebCoreTextRenderer.cpp:

(WebCore::doDrawTextAtPoint):
(WebCore::WebCoreDrawDoubledTextAtPoint):
(WebCore::WebCoreTextFloatWidth):
(WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
(WebCore::WebCoreAlwaysUsesComplexTextCodePath):

  • rendering/RenderThemeSafari.cpp:

(WebCore::RenderThemeSafari::setFontFromControlSize):

11:20 AM Changeset in webkit [178517] by mark.lam@apple.com
  • 7 edits in trunk

[Part 2] Argument object created by "Function dot arguments" should use a clone of argument values.
<https://webkit.org/b/140093>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::Frame::createArguments):

  • We should not fetching the lexicalEnvironment here. The reason we've introduced the ClonedArgumentsCreationMode is because the lexicalEnvironment may not be available to us at this point. Instead, we'll just pass a nullptr.
  • runtime/Arguments.cpp:

(JSC::Arguments::tearOffForCloning):

  • runtime/Arguments.h:

(JSC::Arguments::finishCreation):

  • Use the new tearOffForCloning() to tear off arguments right out of the values passed on the stack. tearOff() is not appropriate for this purpose because it takes slowArgumentsData into account.

LayoutTests:

  • js/function-dot-arguments-expected.txt:
  • js/script-tests/function-dot-arguments.js:

(arrayify):
(indirectCall):
(.inner):
(tearOffTest3):
(tearOffTest3b):
(tearOffTest3c):
(tearOffTest4External):
(tearOffTest4):
(tearOffTest4aExternal):
(tearOffTest4bExternal):
(tearOffTest4b):
(tearOffTest4cExternal):
(tearOffTest4c):
(tearOffTest5):
(tearOffTest5b):
(tearOffTest5c):
(tearOffTest6External):
(tearOffTest6):
(tearOffTest6aExternal):
(tearOffTest6bExternal):
(tearOffTest6b):
(tearOffTest6cExternal):
(tearOffTest6c):
(tearOffTest7):
(tearOffTest7b):
(tearOffTest7c):
(tearOffTest8External):
(tearOffTest8):
(tearOffTest8aExternal):
(tearOffTest8bExternal):
(tearOffTest8b):
(tearOffTest8cExternal):
(tearOffTest8c):
(tearOffTest9b):
(tearOffTest9c):
(tearOffTest10External):
(tearOffTest10):
(tearOffTest10aExternal):
(tearOffTest10bExternal):
(tearOffTest10b):
(tearOffTest10cExternal):
(tearOffTest10c):

11:09 AM Changeset in webkit [178516] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed gardening.

Mark some debug crashes as being caused by Bug 135514.

  • platform/win/TestExpectations:
10:41 AM Changeset in webkit [178515] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed gardening.

Mark fast/dynamic/layer-no-longer-paginated.html as crashing on Windows
now that https://bugs.webkit.org/show_bug.cgi?id=140455 has been filed.

  • platform/win/TestExpectations:
10:39 AM Changeset in webkit [178514] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

More work on the lifetime observer
https://bugs.webkit.org/show_bug.cgi?id=140500

Reviewed by Andreas Kling.

Add webPageWasAdded/webPageWasRemoved functions; these will be called first and last during the
lifetime of the web page. Also remove removeObserver since nobody is calling it.

  • UIProcess/WebProcessLifetimeObserver.h:

(WebKit::WebProcessLifetimeObserver::webPageWasAdded):
(WebKit::WebProcessLifetimeObserver::webPageWasRemoved):

  • UIProcess/WebProcessLifetimeTracker.cpp:

(WebKit::WebProcessLifetimeTracker::addObserver):
(WebKit::WebProcessLifetimeTracker::pageWasInvalidated):
(WebKit::WebProcessLifetimeTracker::removeObserver): Deleted.

  • UIProcess/WebProcessLifetimeTracker.h:
9:22 AM Changeset in webkit [178513] by mmaxfield@apple.com
  • 4 edits in trunk

http/tests/misc/acid3.html is flakey on Mavericks
https://bugs.webkit.org/show_bug.cgi?id=140253

Reviewed by Alexey Proskuryakov.

Source/WebCore:

CoreText has a bug <rdar://problem/19433490> in which kerning is not applied for a font
if a CTTypesetter is created using that font before a call to CTFontTransformGlyphs. We
often create typesetters in the complex code path, so it's not obvious when this bug
might present itself. This patch simply makes a dummy invocation of
CTFontTransformGlyphs() when creating a SimpleFontData.

No new tests because this is covered by http/tests/misc/acid3.html.

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::SimpleFontData::platformInit):

LayoutTests:

Remove flakey mark.

  • platform/mac/TestExpectations:
9:20 AM Changeset in webkit [178512] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Get rid of custom StyleBuilder code for 'line-height' CSS property
https://bugs.webkit.org/show_bug.cgi?id=140462

Reviewed by Antti Koivisto.

Get rid of custom StyleBuilder code for 'line-height' CSS property by
using a conditional converter.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertLineHeight):

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyValueLineHeight):
(WebCore::StyleBuilderCustom::convertLineHeight): Deleted.

8:45 AM Changeset in webkit [178511] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Don't pass an allowed connection when creating a session storage namespace
https://bugs.webkit.org/show_bug.cgi?id=140482

Reviewed by Sam Weinig.

Instead, always call setAllowedSessionStorageNamespaceConnection. This will make it easier to
move the storage manager into WebsiteDataStore and make it use the process lifetime observer machinery.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::SessionStorageNamespace::create):
(WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
(WebKit::StorageManager::createSessionStorageNamespace):

  • UIProcess/Storage/StorageManager.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):

6:19 AM Changeset in webkit [178510] by Antti Koivisto
  • 157 edits
    2 moves in trunk/Source

Rename Font to FontCascade
https://bugs.webkit.org/show_bug.cgi?id=140442

Reviewed by Darin Adler.

We can then rename SimpleFontData to Font. This will match the usual definition of a "font".

5:07 AM Changeset in webkit [178509] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebKit2

REGRESSION(r177075): [GTK] Creating a second web view disables accelerated compositing in existing web view
https://bugs.webkit.org/show_bug.cgi?id=140494

Reviewed by Gustavo Noronha Silva.

The problem is that r177075 moved the creation of the redirected
XComposite window to realize method, but leaving the call to
webkitWebViewBaseUpdatePreferences() in both places Realize() and
CreateWebPage(). webkitWebViewBaseUpdatePreferences() only updates
the accelerating compositing setting nowadays, depending on
whether the redirected XComposited window could be created or not
(something that depends on whether XRender, XComposite and XDamage
extensions are available in the current display). So, when the
first web view is created, webkitWebViewBaseUpdatePreferences() is
called first from CreateWebPage(), and always disabling
accelerated compositing because the redirected window hasn't been
created yet, and then from Realize() right after the redirected
window is created so that accelerated compositing is enabled. When
the second web view is created the same happens, but since
settings are shared among web views, the first call to
webkitWebViewBaseUpdatePreferences() from CreateWebPage() disables
accelerated compositing and the web page exists accelerated
compositing mode and never enters it again unless the page is
reloaded. I guess the web page should enter accelerated
compositing mode again when the setting is enabled again from
Realize(), but since the setting is global and doesn't depend on
every web view, we should never disable it once it has been
enabled in any case.
Since we want to enable accelerated compositing mode when the
redirected XComposite window has been successfully created, we can
use the SetNativeSurfaceHandleForCompositing message to enable the
setting and remove webkitWebViewBaseUpdatePreferences().

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewUpdateSettings):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseRealize):
(webkitWebViewBaseCreateWebPage):
(webkitWebViewBaseUpdatePreferences): Deleted.

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::setNativeSurfaceHandleForCompositing):

4:20 AM Changeset in webkit [178508] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests

AX: [ATK] Mark accessibility/render-counter-text.html as a suitable test for EFL and GTK.
https://bugs.webkit.org/show_bug.cgi?id=140438

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2015-01-15
Reviewed by Chris Fleizach.

The test shows the text contents of the <li> element with the counter inside <ol> using three childAtIndex().stringValue methods.
In the case of ATK childAtIndex(0) returns a non-empty object, but it is not the ATK_OBJECT,
so the stringValue produces an empty string.
To avoid this, the text content is obtained by direct reading of stringValue of <li> AccessibilityUIElement which is ATK_TEXT.

  • accessibility/render-counter-text.html:

This test is also suitable for EFL and GTK port.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
4:00 AM Changeset in webkit [178507] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.6.5

WebKitGTK+ 2.6.5

3:43 AM Changeset in webkit [178506] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6

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

.:

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

Source/WebKit2:

  • gtk/NEWS: dd release notes for 2.6.5.
3:40 AM Changeset in webkit [178505] by matthew_hanson@apple.com
  • 267 edits in branches/safari-600.5-branch/Source

Merge r175719. rdar://problem/19424169

2:53 AM WebKitGTK/2.6.x edited by Carlos Garcia Campos
(diff)
2:50 AM Changeset in webkit [178504] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Tools

Merge r178103 - [GTK] Build gtk-doc without gtkdoc-mktmpl
https://bugs.webkit.org/show_bug.cgi?id=140225

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-01-07
Reviewed by Darin Adler.

Stop calling gtkdoc-mktmpl. It's being removed upstream, and since we
don't modify the tmpl files that it generates, it's not doing anything
for us.

  • gtk/gtkdoc.py:

(GTKDoc.generate):
(GTKDoc._run_gtkdoc_scangobj):
(GTKDoc._run_gtkdoc_mktmpl): Deleted.

2:40 AM Changeset in webkit [178503] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r178415 - [GTK] Do not schedule a redraw for the redirected XComposite window when not in accelerated compositing mode
https://bugs.webkit.org/show_bug.cgi?id=140354

Reviewed by Martin Robinson.

The RedirectedXCompositeWindow uses XDamage to be notified when
the XWindow has been modified. Since the redirected window is
created unconditionally we always receive a XDamage notify when
the window is mapped, and we schedule a redraw in the web view
even when the web view is not in accelerated compositing mode.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseRealize): Only call gtk_widget_queue_draw() when
in accelerated compositing mode.

2:33 AM Changeset in webkit [178502] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source

Merge r178414 - [GTK] Do not resize the redirected XComposite window when not in accelerated compositing mode
https://bugs.webkit.org/show_bug.cgi?id=140353

Reviewed by Martin Robinson.

We create the redirected XComposite window unconditionally, but
with a size of 1x1 to save memory. However, we are always resizing
it, so in the end we always end up with a XWindow allocated for
the same size of the web view, even for web views that never enter
in accelerated compositing mode.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewRenderAcceleratedCompositingResults): Resize the
RedirectedXCompositeWindow to the current web view size to ensure
the sizes match before drawing.
(resizeWebKitWebViewBaseFromAllocation): Only resize the
RedirectedXCompositeWindow when in accelerated compositing mode.

  • UIProcess/gtk/RedirectedXCompositeWindow.cpp:

(WebKit::RedirectedXCompositeWindow::resize): Return early if the
given size is the current size.

2:28 AM Changeset in webkit [178501] by matthew_hanson@apple.com
  • 8 edits
    2 adds in branches/safari-600.5-branch

Merge r177225. rdar://problem/19424175

2:27 AM Changeset in webkit [178500] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r176879. rdar://problems/19424174

2:27 AM Changeset in webkit [178499] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merge r176482. rdar://problem/19424172

2:27 AM Changeset in webkit [178498] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r175828. rdar://problems/19424171

2:24 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
2:16 AM Changeset in webkit [178497] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174946 - ASSERTION FAILED: !gridWasPopulated() in WebCore::RenderGrid::placeItemsOnGrid
https://bugs.webkit.org/show_bug.cgi?id=136939

Reviewed by Darin Adler.

Source/WebCore:

In some particular situations computeIntrinsicLogicalWidths() is called
in the middle of layoutGridItems(). In these cases we do not need to
populate the grid again, so we should avoid calling placeItemsOnGrid().
In addition, we do not need to clean the grid either, as that will be
done later by layoutGridItems().

Test: fast/css-grid-layout/grid-was-populated-assert.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeIntrinsicLogicalWidths): Avoid calls to
placeItemsOnGrid() and clearGrid() if the grid was already populated.

  • rendering/RenderGrid.h: Move gridWasPopulated() header out of the

debug ifdefs.

LayoutTests:

Added a test case to reproduce the crash in debug mode.

  • fast/css-grid-layout/grid-was-populated-assert-expected.txt: Added.
  • fast/css-grid-layout/grid-was-populated-assert.html: Added.
1:04 AM Changeset in webkit [178496] by mihnea@adobe.com
  • 2 edits in trunk/Source/WebCore

[CSSRegions] Assert failure in RenderBlock::locateFlowThreadContainingBlock when showing the render tree debug info
https://bugs.webkit.org/show_bug.cgi?id=140441

Reviewed by Andrei Bucur.

When showing the render tree debug information for an element inside a flow thread,
we will display the region range information for all the render boxes. To avoid
computation of flow thread containing block in these situations, we will use
only the cached flow thread containing block information.

No new tests as this code path is only touched when using showRenderTree* methods.

  • rendering/RenderObject.cpp:

(WebCore::flowThreadContainingBlockFromRenderer):
(WebCore::RenderObject::showRegionsInformation):

12:53 AM Changeset in webkit [178495] by bshafiei@apple.com
  • 4 edits in branches/safari-600.5-branch/Source

Merged r178378. rdar://problem/19274499

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

Merged r178304. rdar://problem/19447156

12:48 AM Changeset in webkit [178493] by bshafiei@apple.com
  • 10 edits in branches/safari-600.5-branch/Source

Merged r178290. rdar://problem/19441243

12:41 AM Changeset in webkit [178492] by bshafiei@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebKit/mac

Merged r178126. rdar://problem/19412705

12:00 AM Changeset in webkit [178491] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

Unreviewed. Fix GTK+ build after r178464.

  • UIProcess/API/gtk/WebKitUserContent.cpp:

(_WebKitUserScript::_WebKitUserScript):
(webkitUserScriptGetUserScript):

  • UIProcess/API/gtk/WebKitUserContentPrivate.h:

Jan 14, 2015:

11:59 PM Changeset in webkit [178490] by Simon Fraser
  • 3 edits
    4 adds in trunk

Graphics corruption after Find on some pages
https://bugs.webkit.org/show_bug.cgi?id=140489

Reviewed by Zalan Bujtas.

Source/WebCore:

After doing a Find on http://shop.outlier.cc/shop/retail/chino.html,
garbage could appear on some parts of the page. This is caused by creating
a compositing layer which is marked as opaque, yet failing to paint the entire
layer contents.

This was caused by a bug in RenderBox::computeBackgroundIsKnownToBeObscured()
logic. On the page in question, doing a Find could cause overflow:hidden sections
to get scrolled (since Find can reveal the selection by scrolling overflow).
However, the render tree walking under RenderBox::foregroundIsKnownToBeOpaqueInRect()
fails to take overflow scrolling into account, so gives the wrong answer
in some content configurations. As a result, we'd think that the background
is obscured, and never paint it.

Conservative fix is to have isCandidateForOpaquenessTest() return false
when the content has any non-zero scroll offset.

Tests: compositing/contents-opaque/opaque-with-scrolled.html

fast/backgrounds/opaque-scrolled-paint-background.html

  • rendering/RenderBox.cpp:

(WebCore::isCandidateForOpaquenessTest):

LayoutTests:

Two new tests. The first one just reports that we have an opaque compositing
layer. The second one tests the the user-visible symptom of the missing
background.

  • compositing/contents-opaque/opaque-with-scrolled-expected.txt: Added.
  • compositing/contents-opaque/opaque-with-scrolled.html: Added.
  • fast/backgrounds/opaque-scrolled-paint-background-expected.html: Added.
  • fast/backgrounds/opaque-scrolled-paint-background.html: Added.
11:45 PM Changeset in webkit [178489] by bshafiei@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r173796.

10:50 PM Changeset in webkit [178488] by ap@apple.com
  • 2 edits in trunk/LayoutTests

<rdar://problem/17748495> Multiple compositing tests fail to repaint on WK1

  • platform/mac/TestExpectations: These tests pass now, unmarking.
10:05 PM Changeset in webkit [178487] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Update expectations for what we see on upgraded EWS machines.

  • platform/mac/TestExpectations:
10:00 PM Changeset in webkit [178486] by jer.noble@apple.com
  • 8 edits
    6 adds in trunk

[Mac][MSE] Stalled YouTube playback does not allow display to sleep.
https://bugs.webkit.org/show_bug.cgi?id=140468
rdar://problem/19171162

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/media-source/media-source-stalled-holds-sleep-assertion.html

The unstated convention of MediaPlayerPrivate::paused() is that implementations should
return 'true' if the playback rate is 0. However, MediaPlayerPrivateMediaSourceAVFObjC
was returning 'false' if it was supposed to be playing, regardless of the actual rate.
This caused a check in HTMLMediaElement of whether to release the sleep assertion token
to fail, thinking the media engine was still playing.

Add some testing infrastructure to allow us to test whether the media element is disabling
display sleep from within layout tests.

  • html/HTMLMediaElement.h:

(WebCore::HTMLMediaElement::isDisablingSleep):

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paused):

  • testing/Internals.cpp:

(WebCore::Internals::elementIsBlockingDisplaySleep):

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

LayoutTests:

  • media/media-source/content/test-fragmented-manifest.json: Added.
  • media/media-source/content/test-fragmented.mp4: Added.
  • media/media-source/media-source-loader.js: Added.

(MediaSourceLoader):
(MediaSourceLoader.prototype.loadManifest):
(MediaSourceLoader.prototype.loadManifestSucceeded):
(MediaSourceLoader.prototype.loadManifestFailed):
(MediaSourceLoader.prototype.loadMediaData):
(MediaSourceLoader.prototype.loadMediaDataSucceeded):
(MediaSourceLoader.prototype.loadMediaDataFailed):
(MediaSourceLoader.prototype.type):
(MediaSourceLoader.prototype.duration):
(MediaSourceLoader.prototype.initSegment):
(MediaSourceLoader.prototype.mediaSegmentsLength):
(MediaSourceLoader.prototype.mediaSegment):

  • media/media-source/media-source-stalled-holds-sleep-assertion-expected.txt: Added.
  • media/media-source/media-source-stalled-holds-sleep-assertion.html: Added.
7:49 PM Changeset in webkit [178485] by dburkart@apple.com
  • 4 edits in branches/safari-600.5-branch/Source/WebCore

Merged r175615. <rdar://problem/19424167>

7:46 PM Changeset in webkit [178484] by dburkart@apple.com
  • 14 edits in branches/safari-600.5-branch/Source

Merged r175400. <rdar://problem/19424166>

7:36 PM Changeset in webkit [178483] by dburkart@apple.com
  • 22 edits
    2 copies in branches/safari-600.5-branch/Source/WebKit2

Merged r175288. <rdar://problem/19480393>

7:32 PM Changeset in webkit [178482] by dburkart@apple.com
  • 7 edits
    1 copy in branches/safari-600.5-branch/Source/WebKit2

Merged r175188. <rdar://problem/19480522>

7:04 PM Changeset in webkit [178481] by Alan Bujtas
  • 11 edits
    3 adds in trunk/Source/WebCore

Move LayoutFragment and ClipRect to their own files.
https://bugs.webkit.org/show_bug.cgi?id=140457

Reviewed by Simon Fraser.

Move these classes to their own files to to make RenderLayer.h less heavy.

No change in functionality.

  • WebCore.xcodeproj/project.pbxproj:
  • rendering/ClipRect.cpp: Added.

(WebCore::ClipRect::intersects):

  • rendering/ClipRect.h: Added.

(WebCore::ClipRect::ClipRect):
(WebCore::ClipRect::rect):
(WebCore::ClipRect::setRect):
(WebCore::ClipRect::affectedByRadius):
(WebCore::ClipRect::setAffectedByRadius):
(WebCore::ClipRect::operator==):
(WebCore::ClipRect::operator!=):
(WebCore::ClipRect::intersect):
(WebCore::ClipRect::move):
(WebCore::ClipRect::moveBy):
(WebCore::ClipRect::isEmpty):
(WebCore::ClipRect::intersects):
(WebCore::ClipRect::inflateX):
(WebCore::ClipRect::inflateY):
(WebCore::ClipRect::inflate):
(WebCore::intersection):

  • rendering/LayerFragment.h: Added.

(WebCore::LayerFragment::setRects):
(WebCore::LayerFragment::moveBy):
(WebCore::LayerFragment::intersect):

  • rendering/RenderFlowThread.h:
  • rendering/RenderLayer.cpp:

(WebCore::ClipRect::intersects): Deleted.

  • rendering/RenderLayer.h:

(WebCore::ClipRect::ClipRect): Deleted.
(WebCore::ClipRect::rect): Deleted.
(WebCore::ClipRect::setRect): Deleted.
(WebCore::ClipRect::affectedByRadius): Deleted.
(WebCore::ClipRect::setAffectedByRadius): Deleted.
(WebCore::ClipRect::operator==): Deleted.
(WebCore::ClipRect::operator!=): Deleted.
(WebCore::ClipRect::intersect): Deleted.
(WebCore::ClipRect::move): Deleted.
(WebCore::ClipRect::moveBy): Deleted.
(WebCore::ClipRect::isEmpty): Deleted.
(WebCore::ClipRect::intersects): Deleted.
(WebCore::ClipRect::inflateX): Deleted.
(WebCore::ClipRect::inflateY): Deleted.
(WebCore::ClipRect::inflate): Deleted.
(WebCore::intersection): Deleted.
(WebCore::LayerFragment::LayerFragment): Deleted.
(WebCore::LayerFragment::setRects): Deleted.
(WebCore::LayerFragment::moveBy): Deleted.
(WebCore::LayerFragment::intersect): Deleted.

  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderRegion.h:
  • rendering/RenderTreeAsText.cpp:
7:03 PM Changeset in webkit [178480] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.4-branch/Source

Merged r178378. rdar://problems/19274499

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

Merge r178304. rdar://problem/19447156

7:03 PM Changeset in webkit [178478] by matthew_hanson@apple.com
  • 10 edits in branches/safari-600.4-branch/Source

Merged r178290. rdar://problems/19441243

7:03 PM Changeset in webkit [178477] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebKit/mac

Merged r178126. rdar://problems/19412705

6:54 PM Changeset in webkit [178476] by dburkart@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r175333. <rdar://problem/19424165>

6:49 PM Changeset in webkit [178475] by dburkart@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r175332. <rdar://problem/19424161>

6:46 PM Changeset in webkit [178474] by dburkart@apple.com
  • 3 edits in branches/safari-600.5-branch/Source/WebCore

Merged r175331. <rdar://problem/19424160>

6:43 PM Changeset in webkit [178473] by dburkart@apple.com
  • 4 edits in branches/safari-600.5-branch/Source/WebCore

Merged r175284. <rdar://problem/19424157>

6:40 PM Changeset in webkit [178472] by dburkart@apple.com
  • 7 edits in branches/safari-600.5-branch/Source/WebCore

Merged r175000. <rdar://problem/19424156>

6:16 PM Changeset in webkit [178471] by commit-queue@webkit.org
  • 2 edits
    2 moves in trunk/LayoutTests

[EFL] Change expectations for two layout tests.
https://bugs.webkit.org/show_bug.cgi?id=140391

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2015-01-14
Reviewed by Chris Fleizach.

Currently, two layout tests produce positive results for EFL:

  • accessibility/fieldset-element-expected.html
  • accessibility/negative-tabindex-does-not-expose-label.html.
  • accessibility/fieldset-element-expected.txt: Renamed from LayoutTests/platform/gtk/accessibility/fieldset-element-expected.txt.
  • accessibility/negative-tabindex-does-not-expose-label-expected.txt: Renamed from LayoutTests/platform/gtk/accessibility/negative-tabindex-does-not-expose-label-expected.txt.
  • platform/efl/TestExpectations:

Missing markings removed.

6:10 PM Changeset in webkit [178470] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed build fix after r178459 and r178462.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Add some

missing exports needed by the test infrastructure.

5:29 PM Changeset in webkit [178469] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.3.18

New tag.

5:16 PM Changeset in webkit [178468] by commit-queue@webkit.org
  • 5 edits
    4 deletes in trunk

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

Broke a few MediaSource tests (Requested by JoePeck on
#webkit).

Reverted changeset:

"[MSE] Implement per TrackBuffer buffered."
https://bugs.webkit.org/show_bug.cgi?id=139813
http://trac.webkit.org/changeset/178438

5:11 PM Changeset in webkit [178467] by dburkart@apple.com
  • 12 edits
    8 copies in branches/safari-600.5-branch

Merged r174823. <rdar://problem/19424155>

5:07 PM Changeset in webkit [178466] by dburkart@apple.com
  • 20 edits
    5 copies in branches/safari-600.5-branch

Merged r174402. <rdar://problem/19478358>

4:49 PM Changeset in webkit [178465] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

Create iOS-EWS server queue
https://bugs.webkit.org/show_bug.cgi?id=140473

Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2015-01-14
Reviewed by Benjamin Poulain.

  • QueueStatusServer/app.yaml: Updates the SVN version number.
  • QueueStatusServer/config/queues.py: Add ios-ews queue.
  • QueueStatusServer/model/queues.py:

(Queue.display_name): Makes sure the display name is pretty!

4:35 PM Changeset in webkit [178464] by weinig@apple.com
  • 9 edits
    1 add in trunk/Source/WebKit2

Convert WKUserScript to be an API::Object bridged object
https://bugs.webkit.org/show_bug.cgi?id=140471

Reviewed by Dan Bernstein.

  • Shared/API/APIObject.h:
  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):
Add Type::UserScript.

  • UIProcess/API/APIUserScript.h: Added.

Add API object for UserScripts.

  • UIProcess/API/Cocoa/WKUserContentController.mm:

(-[WKUserContentController init]):
(-[WKUserContentController userScripts]):
(-[WKUserContentController addUserScript:]):
(-[WKUserContentController removeAllUserScripts]):
(toWebCoreUserScriptInjectionTime): Deleted.

  • UIProcess/UserContent/WebUserContentControllerProxy.cpp:

(WebKit::WebUserContentControllerProxy::WebUserContentControllerProxy):
(WebKit::WebUserContentControllerProxy::addProcess):
(WebKit::WebUserContentControllerProxy::addUserScript):
(WebKit::WebUserContentControllerProxy::removeAllUserScripts):

  • UIProcess/UserContent/WebUserContentControllerProxy.h:

(WebKit::WebUserContentControllerProxy::userScripts):
Store the WKUserScripts in the WebUserContentControllerProxy instead of the
Objective-C layer WKUserContentController, to allow creation of the object
from either the Objective-C or C++ sides.

  • UIProcess/API/Cocoa/WKUserScript.mm:

(generateIdentifier):
(-[WKUserScript initWithSource:injectionTime:forMainFrameOnly:]):
(-[WKUserScript source]):
(-[WKUserScript injectionTime]):
(-[WKUserScript isForMainFrameOnly]):
(-[WKUserScript _apiObject]):

  • UIProcess/API/Cocoa/WKUserScriptInternal.h:

(API::wrapper):
(API::toWebCoreUserScriptInjectionTime):
(API::toWKUserScriptInjectionTime):
Convert to get properties from the API::UserScript.

  • WebKit2.xcodeproj/project.pbxproj:

Add the new file.

4:21 PM Changeset in webkit [178463] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add per page connection callbacks to the lifetime observer
https://bugs.webkit.org/show_bug.cgi?id=140475

Reviewed by Andreas Kling.

  • UIProcess/WebProcessLifetimeObserver.cpp:

(WebKit::WebProcessLifetimeObserver::addWebPage):
(WebKit::WebProcessLifetimeObserver::removeWebPage):

  • UIProcess/WebProcessLifetimeObserver.h:

(WebKit::WebProcessLifetimeObserver::webPageWillOpenConnection):
(WebKit::WebProcessLifetimeObserver::webPageDidCloseConnection):

4:18 PM Changeset in webkit [178462] by enrica@apple.com
  • 6 edits
    2 adds in trunk

REGRESSION (r165385): Crash when applying autocorrection exceeds maximum text area length.
https://bugs.webkit.org/show_bug.cgi?id=137902
rdar://problem/18568864

Reviewed by Darin Adler.

Source/WebCore:

Test: editing/text-iterator/invalid-subrange.html

characterSubrange should check the iterator position after each advance.
This changed adds a new method to the Internals object to be able to test this.

  • editing/TextIterator.cpp:

(WebCore::characterSubrange):
(WebCore::TextIterator::subrange):
(WebCore::findPlainText):

  • testing/Internals.cpp:

(WebCore::Internals::subrange):

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

LayoutTests:

  • editing/text-iterator/invalid-subrange-expected.txt: Added.
  • editing/text-iterator/invalid-subrange.html: Added.
4:01 PM Changeset in webkit [178461] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Make WebsiteDataStore a WebProcessLifetimeObserver
https://bugs.webkit.org/show_bug.cgi?id=140472

Reviewed by Andreas Kling.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::~WebsiteDataStore):
(WebKit::WebsiteDataStore::removeData):
(WebKit::WebsiteDataStore::addWebPage): Deleted.
(WebKit::WebsiteDataStore::removeWebPage): Deleted.

  • UIProcess/WebsiteData/WebsiteDataStore.h:
3:55 PM Changeset in webkit [178460] by dburkart@apple.com
  • 4 edits in branches/safari-600.5-branch/Source/WebCore

Merged r174652. <rdar://problem/19424154>

3:50 PM Changeset in webkit [178459] by commit-queue@webkit.org
  • 8 edits
    7 adds in trunk

REGRESSION (r154769): Wrong <title> taken as a tooltip for SVG element.
https://bugs.webkit.org/show_bug.cgi?id=139690.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-01-14
Reviewed by Daniel Bates.

Source/WebCore:

Before r154769, we were calling Traversal<SVGTitleElement>::firstWithin(), which returns
the first immediate SVGTitleElement child. In r154769, Traversal<SVGTitleElement>::firstWithin()
was replaced by descendantsOfType<SVGTitleElement> which returns all descendants SVGTitleElements.
Then we were returning the first element of these descendants, which may not be an immediate
child of the element, as the title of the SVGElement. This was the reason of this bug. The
fix is to use childrenOfType<SVGTitleElement>() instead, which returns the immediate SVGTitleElement
children of an SVGElement.

Also we were not following exactly the specs for the rootmost SVG element's title value.
According to the W3C specs, for stand-alone SVG documents only, the rootmost SVG element
should not return a title. But we were not returning a title for the rootmost SVG element
always. The fix is to return a empty title for the rootmost SVG element only if topDocument()
of the element isSVGDocument().

NOTE: The main SVG specs http://www.w3.org/TR/SVG/interact.html#hit-testing (W3C Recommendation
16 August 2011) and http://www.w3.org/TR/SVG/struct.html#DescriptionAndTitleElements (W3C
Recommendation 16 August 2011) do not say how the tooltip of an SVG element is calculated. But
the SVG tiny specs http://www.w3.org/TR/SVGTiny12/struct.html#uiTitleDescBehavior (W3C
Recommendation 22 December 2008) however explains well the tooltip calculation for the embedded
and the stand-alone SVG cases. And it seems this what we should rely on.

Test: svg/hittest/svg-standalone-tooltip.svg

svg/hittest/svg-embedded-tooltip.html

  • WebCore.exp.in:
  • rendering/HitTestResult.h:

Make HitTestResult::setInnerNode be WEBCORE_EXPORT

  • svg/SVGElement.cpp:

(WebCore::SVGElement::title):
Replace descendantsOfType<SVGTitleElement>() by childrenOfType<SVGTitleElement>().
Fix the title value of the rootmost SVG element.

  • testing/Internals.cpp:

(WebCore::Internals::toolTipFromElement):

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

Add a new internal function toolTipFromElement() which returns the tooltip text for a
given element.

LayoutTests:

  • svg/hittest/resources: Added.
  • svg/hittest/resources/svg-tooltip.svg: Added.

Shared resources to be used by the tests.

  • svg/hittest/resources/svg-tooltip.js: Added.

This code mimics the C++ tooltip calculation and compares its result with what the C++
code returns.

  • svg/hittest/svg-embedded-tooltip-expected.txt: Added.
  • svg/hittest/svg-embedded-tooltip.html: Added.

This test ensures that the tooltip text for SVG elements is calculated correctly when
the SVG is embedded in an HTML either through inline <svg> tag or through an <embed>
tag. In both cases, the rootmost SVG element should return the SVG document title.

  • svg/hittest/svg-standalone-tooltip-expected.txt: Added.
  • svg/hittest/svg-standalone-tooltip.svg: Added.

This test ensures that for stand-alone SVG documents, the tooltip text for SVG elements
is calculated correctly. In this case, the rootmost SVG element should not return a
title since the SVG document title will be displayed in the browser chrome.

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

Versioning.

3:44 PM Changeset in webkit [178457] by dburkart@apple.com
  • 4 edits in branches/safari-600.5-branch/Source/WebCore

Merged r174460. <rdar://problem/19424153>

3:39 PM Changeset in webkit [178456] by dburkart@apple.com
  • 4 edits in branches/safari-600.5-branch/Source/WebCore

Merged r173791. <rdar://problem/19424150>

3:29 PM Changeset in webkit [178455] by Chris Dumez
  • 3 edits in trunk/Source/WebKit2

[WK2][iOS] Add private API to toggle diagnostic logging setting
https://bugs.webkit.org/show_bug.cgi?id=140464

Reviewed by Dan Bernstein.

Add private API to toggle diagnostic logging setting for iOS.
Previously, there was only a WK2 private C API for this.

  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _diagnosticLoggingEnabled]):
(-[WKPreferences _setDiagnosticLoggingEnabled:]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
3:28 PM Changeset in webkit [178454] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Buildfix after r178434
https://bugs.webkit.org/show_bug.cgi?id=140467

Reviewed by Chris Dumez.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertPerspective):

3:24 PM Changeset in webkit [178453] by dburkart@apple.com
  • 5 edits in branches/safari-600.5-branch

Merged r173520. <rdar://problem/19424149>

3:17 PM Changeset in webkit [178452] by andersca@apple.com
  • 8 edits in trunk/Source/WebKit2

Switch VisitedLinkProvider over to WebProcessLifetimeObserver
https://bugs.webkit.org/show_bug.cgi?id=140469

Reviewed by Andreas Kling.

  • UIProcess/VisitedLinkProvider.cpp:

(WebKit::VisitedLinkProvider::~VisitedLinkProvider):
(WebKit::VisitedLinkProvider::removeAll):
(WebKit::VisitedLinkProvider::webProcessWillOpenConnection):
(WebKit::VisitedLinkProvider::webProcessDidCloseConnection):
(WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
(WebKit::VisitedLinkProvider::resizeTable):
(WebKit::VisitedLinkProvider::addProcess): Deleted.
(WebKit::VisitedLinkProvider::removeProcess): Deleted.

  • UIProcess/VisitedLinkProvider.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::processDidFinishLaunching):

  • UIProcess/WebProcessLifetimeObserver.cpp:

(WebKit::WebProcessLifetimeObserver::processes):

  • UIProcess/WebProcessLifetimeObserver.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::disconnect):
(WebKit::WebProcessProxy::addVisitedLinkProvider): Deleted.
(WebKit::WebProcessProxy::didDestroyVisitedLinkProvider): Deleted.

  • UIProcess/WebProcessProxy.h:
3:13 PM Changeset in webkit [178451] by dburkart@apple.com
  • 3 edits in branches/safari-600.5-branch

Merged r173454. <rdar://problem/19424147>

3:04 PM Changeset in webkit [178450] by dburkart@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r173439. <rdar://problem/19424146>

2:53 PM Changeset in webkit [178449] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Build fix for NFAToDFA on ARM

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-01-14

  • contentextensions/NFAToDFA.cpp:

(WebCore::ContentExtensions::UniqueNodeIdSet::UniqueNodeIdSet):
(WebCore::ContentExtensions::UniqueNodeIdSet::isDeletedValue):

2:51 PM Changeset in webkit [178448] by dburkart@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r173337. <rdar://problem/19424143>

2:37 PM Changeset in webkit [178447] by dburkart@apple.com
  • 75 edits
    4 copies
    3 deletes in branches/safari-600.5-branch

Merged r173318. <rdar://problem/19424143>

2:20 PM Changeset in webkit [178446] by dburkart@apple.com
  • 16 edits
    2 copies in branches/safari-600.5-branch/Source/WebCore

Merged r173197. <rdar://problem/19424142>

2:16 PM Changeset in webkit [178445] by dburkart@apple.com
  • 3 edits in branches/safari-600.5-branch/Source/WebCore

Merged r172651. <rdar://problem/19424141>

2:12 PM Changeset in webkit [178444] by dbates@webkit.org
  • 4 edits in trunk/Tools

[iOS] run-webkit-tests --ios hangs trying to launch iOS Simulator with unavailable runtime
https://bugs.webkit.org/show_bug.cgi?id=140301
<rdar://problem/19389266>

Reviewed by Jon Honeycutt.

Fixes an issue where run-webkit-tests --ios will hang when trying to launch iOS Simulator
with an unavailable runtime.

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(_set_up_derived_options): Modified to access property Simulator.latest_available_runtime,
which was formerly called Simulator.latest_runtime. Additionally, raise an exception if the
specified runtime cannot be used because it is unavailable.

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort.testing_device): Modified to call Simulator.lookup_or_create_device(),
which was formerly named testing_device.

  • Scripts/webkitpy/xcode/simulator.py:

(Device.create): Modified to lookup created device by the UDID returned by simctl, which is
more robust than looking up the simulator device by name and runtime. This approach also
avoids returning the wrong device due to <rdar://problem/19444383> (simctl list shows
unavailable runtimes under the same iOS heading it would use to show it as available).
(Simulator.find_device_by_udid): Added.
(Simulator.device): Added optional parameter should_ignore_unavailable_devices (defaults
to False) to ignore devices that are unavailable (say, because their runtime is unavailable).
(Simulator.available_runtimes): Added.
(Simulator.latest_available_runtime): Renamed; formerly named latest_runtime. Take advantage
of the reverse=True argument to sorted() to sort the list of available runtimes such that the
first element of the sorted list is the runtime with the highest version number.
(Simulator.lookup_or_create_device): Renamed; formerly named testing_device.

1:33 PM Changeset in webkit [178443] by dburkart@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Rollout r178440.

1:03 PM Changeset in webkit [178442] by mmirman@apple.com
  • 1 edit
    1 delete in trunk/Source/JavaScriptCore

Removed accidental commit of "invalid_array.js"
http://trac.webkit.org/changeset/178439

  • tests/stress/invalid_array.js: Removed.
1:00 PM Changeset in webkit [178441] by mmirman@apple.com
  • 8 edits
    2 adds in trunk/Source/JavaScriptCore

Fixes operationPutByIdOptimizes such that they check that the put didn't
change the structure of the object who's property access is being
cached. Also removes uses of the new base value from the cache generation code.
https://bugs.webkit.org/show_bug.cgi?id=139500

Reviewed by Filip Pizlo.

  • jit/JITOperations.cpp:

(JSC::operationPutByIdStrictOptimize): saved the structure before the put.
(JSC::operationPutByIdNonStrictOptimize): ditto.
(JSC::operationPutByIdDirectStrictOptimize): ditto.
(JSC::operationPutByIdDirectNonStrictOptimize): ditto.

  • jit/Repatch.cpp:

(JSC::generateByIdStub):
(JSC::tryCacheGetByID):
(JSC::tryBuildGetByIDList):
(JSC::emitPutReplaceStub):
(JSC::emitPutTransitionStubAndGetOldStructure): Added.
(JSC::tryCachePutByID):
(JSC::repatchPutByID):
(JSC::tryBuildPutByIdList):
(JSC::tryRepatchIn):
(JSC::emitPutTransitionStub): Deleted.

  • jit/Repatch.h:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/JSPropertyNameEnumerator.h:

(JSC::genericPropertyNameEnumerator):

  • runtime/Operations.h:

(JSC::normalizePrototypeChainForChainAccess): restructured to not use the base value.
(JSC::normalizePrototypeChain): restructured to not use the base value.

  • tests/mozilla/mozilla-tests.yaml:
  • tests/stress/proto-setter.js: Added.
  • tests/stress/put-by-id-build-list-order-recurse.js: Added.

Added test that fails without this patch.

12:57 PM Changeset in webkit [178440] by dburkart@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r171316. <rdar://problem/19424112>

12:57 PM Changeset in webkit [178439] by mmirman@apple.com
  • 1 add in trunk/Source/JavaScriptCore/tests/stress/invalid_array.js

added invalid_array test

12:36 PM Changeset in webkit [178438] by commit-queue@webkit.org
  • 5 edits
    4 adds in trunk

[MSE] Implement per TrackBuffer buffered.
https://bugs.webkit.org/show_bug.cgi?id=139813.

Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2015-01-14
Reviewed by Jer Noble.

Source/WebCore:

Added implementation of SourceBuffer buffered() algorithm as per specification,
and caching mechanism called when samples are added, removed, or MediaSource
readyState is changed.

Tests: media/media-source/media-source-multiple-trackBuffers-buffered-in-ended-state.html

media/media-source/media-source-multiple-trackBuffers-buffered.html

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::setReadyState):

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::TrackBuffer::TrackBuffer):
(WebCore::SourceBuffer::SourceBuffer):
(WebCore::SourceBuffer::buffered):
(WebCore::SourceBuffer::invalidateBuffered):
(WebCore::SourceBuffer::recalculateBuffered):
(WebCore::SourceBuffer::sourceBufferPrivateAppendComplete):
(WebCore::SourceBuffer::removeCodedFrames):
(WebCore::SourceBuffer::evictCodedFrames):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
(WebCore::SourceBuffer::bufferedAccountingForEndOfStream):
(WebCore::SourceBuffer::hasCurrentTime):

  • Modules/mediasource/SourceBuffer.h:

LayoutTests:

Added tests which checks how buffered behaves for two trackBuffers in single SourceBuffer
after appends, and with MediaSource readyState switching to ended and back to open.

  • media/media-source/media-source-multiple-trackBuffers-buffered-expected.txt: Added.
  • media/media-source/media-source-multiple-trackBuffers-buffered-in-ended-state-expected.txt: Added.
  • media/media-source/media-source-multiple-trackBuffers-buffered-in-ended-state.html: Added.
  • media/media-source/media-source-multiple-trackBuffers-buffered.html: Added.
12:36 PM Changeset in webkit [178437] by dburkart@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r171215. <rdar://problem/19424110>

12:32 PM Changeset in webkit [178436] by benjamin@webkit.org
  • 10 edits
    1 add in trunk/Source/WebCore

Do not create new set for every sub-operation when converting a NFA to DFA
https://bugs.webkit.org/show_bug.cgi?id=140380

Reviewed by Andreas Kling.

This is the first step toward making the NFA-to-DFA conversion more scalable: instead
of creating new sets for each step of the algorithm, we use two kinds of sets
and never do any copy.

The first new tool to do that is UniqueNodeIdSetImpl. It represents a set of NFA state corresponding to a DFA
state. It is unique per DFA state.

HashableNodeIdSet is a helper tool storing a UniqueNodeIdSetImpl.

The creation of new sets now goes like this:
1) Get a NodeIdSet for each possible transition.
2) For each transition:

2a) Extend the NodeIdSet in place with its epsilon closure.
2b) Get the UniqueNodeIdSetImpl corresponding to the new set we discovered.
2c) If the UniqueNodeIdSetImpl is new, queue it for processing.

  • WebCore.xcodeproj/project.pbxproj:
  • contentextensions/ContentExtensionsDebugging.h: Copied from Source/WebCore/contentextensions/DFANode.h.
  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList):

  • contentextensions/ContentExtensionsManager.cpp:

(WebCore::ContentExtensions::ExtensionsManager::loadExtension):
Added some logging to inspect more easily what the clients are sending.

  • contentextensions/DFA.cpp:
  • contentextensions/DFA.h:
  • contentextensions/DFANode.h:
  • contentextensions/NFA.cpp:
  • contentextensions/NFA.h:
  • contentextensions/NFAToDFA.cpp:

(WebCore::ContentExtensions::epsilonClosure):
Instead of returning a new HashSet, extend the input HashSet.

(WebCore::ContentExtensions::UniqueNodeIdSetImpl::buffer):
(WebCore::ContentExtensions::UniqueNodeIdSet::UniqueNodeIdSet):
(WebCore::ContentExtensions::UniqueNodeIdSet::operator=):
(WebCore::ContentExtensions::UniqueNodeIdSet::~UniqueNodeIdSet):
(WebCore::ContentExtensions::UniqueNodeIdSet::operator==):
(WebCore::ContentExtensions::UniqueNodeIdSet::impl):
(WebCore::ContentExtensions::UniqueNodeIdSet::hash):
(WebCore::ContentExtensions::UniqueNodeIdSet::isEmptyValue):
(WebCore::ContentExtensions::UniqueNodeIdSet::isDeletedValue):
(WebCore::ContentExtensions::UniqueNodeIdSetHash::hash):
(WebCore::ContentExtensions::UniqueNodeIdSetHash::equal):
UniqueNodeIdSetImpl is a compact representation of a NodeIdSet corresponding to a DFA node.

It is never built directly, it is only built on demand through NodeIdSetToUniqueNodeIdSetTranslator
from a NodeIdSet.

(WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetSource::NodeIdSetToUniqueNodeIdSetSource):
(WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetTranslator::hash):
(WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetTranslator::equal):
(WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetTranslator::translate):
(WebCore::ContentExtensions::SetTransitionsExcludingEpsilon::operator[]):
(WebCore::ContentExtensions::SetTransitionsExcludingEpsilon::size):
(WebCore::ContentExtensions::SetTransitionsExcludingEpsilon::begin):
(WebCore::ContentExtensions::SetTransitionsExcludingEpsilon::end):
(WebCore::ContentExtensions::populateTransitionsExcludingEpsilon):
(WebCore::ContentExtensions::NFAToDFA::convert):
(WebCore::ContentExtensions::setTransitionsExcludingEpsilon): Deleted.
(WebCore::ContentExtensions::HashableNodeIdSet::HashableNodeIdSet): Deleted.
(WebCore::ContentExtensions::HashableNodeIdSet::operator=): Deleted.
(WebCore::ContentExtensions::HashableNodeIdSet::isEmptyValue): Deleted.
(WebCore::ContentExtensions::HashableNodeIdSet::isDeletedValue): Deleted.
(WebCore::ContentExtensions::HashableNodeIdSet::nodeIdSet): Deleted.
(WebCore::ContentExtensions::HashableNodeIdSetHash::hash): Deleted.
(WebCore::ContentExtensions::HashableNodeIdSetHash::equal): Deleted.
(WebCore::ContentExtensions::addDFAState): Deleted.

12:16 PM Changeset in webkit [178435] by commit-queue@webkit.org
  • 7 edits
    3 deletes in trunk

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

Caused 20 JSC Test Failures (Requested by JoePeck on #webkit).

Reverted changeset:

"REGRESSION (r174226): Header on huffingtonpost.com is too
large"
https://bugs.webkit.org/show_bug.cgi?id=140306
http://trac.webkit.org/changeset/178432

12:11 PM Changeset in webkit [178434] by Chris Dumez
  • 17 edits in trunk/Source

Make 'TypeName' parameter unnecessary in CSSPropertyNames.in
https://bugs.webkit.org/show_bug.cgi?id=140347

Reviewed by Darin Adler.

Source/WebCore:

Make 'TypeName' parameter unnecessary in CSSPropertyNames.in by:

  • Removing the static_cast to the destination type in the generated StyleBuilder code and let compiler implicitly convert the CSSPrimitiveValue to the setter's argument type.
  • Updating conditional converters to return a WTF::Optional<> instead of returning a boolean and having an output argument passed by reference. This way, we can use "auto" in the generated StyleBuilder code to deduce the return type.
  • css/CSSPropertyNames.in:

Drop TypeName parameter from all properties as it is no longer needed.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertGridTrackSize):
(WebCore::StyleBuilderConverter::convertGridPosition):
(WebCore::StyleBuilderConverter::convertWordSpacing):
(WebCore::StyleBuilderConverter::convertPerspective):
(WebCore::StyleBuilderConverter::convertMarqueeIncrement):
(WebCore::StyleBuilderConverter::convertFilterOperations):
(WebCore::StyleBuilderConverter::convertMaskImageOperations):
Update conditional converters to return an Optional<>.

  • css/makeprop.pl:

(generateValueSetter):
Drop support for TypeName, stop using static_cast to destination
type and update the generated code now that the conditional
converters return an Optional.

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::systemFont):

  • platform/graphics/Font.cpp:

(WebCore::Font::Font):

  • platform/graphics/FontDescription.h:

(WebCore::FontDescription::setIsItalic):
(WebCore::FontDescription::setIsSmallCaps):
(WebCore::FontDescription::setItalic): Deleted.
(WebCore::FontDescription::setSmallCaps): Deleted.

  • rendering/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::systemFont):

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::systemFont):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::systemFont):

  • rendering/RenderThemeSafari.cpp:

(WebCore::RenderThemeSafari::systemFont):

  • rendering/RenderThemeWin.cpp:

(WebCore::fillFontDescription):

  • rendering/mathml/RenderMathMLToken.cpp:

(WebCore::RenderMathMLToken::updateStyle):
Now that we call the RenderStyle setters with a CSSPrimitiveValue
and let it be implicitly converted to the right type, instead of
doing an explicit static_cast, two setters on FontDescription
were ambiguous: setItalic() / setSmallCaps(). Rename the overloads
taking a boolean in argument to setIsItalic() / setIsSmallCaps()
to resolve the ambiguity.

Source/WebKit/mac:

Call FontDescription::setIsItalic() instead of setItalic() as the
call site passes a boolean.

  • WebView/WebHTMLView.mm:

(fontNameForDescription):

Source/WebKit/win:

Call FontDescription::setIsItalic() instead of setItalic() as the
call site passes a boolean.

  • WebKitGraphics.cpp:

(makeFont):

11:42 AM Changeset in webkit [178433] by Brian Burg
  • 3 edits in trunk/Source/JavaScriptCore

Web Inspector: Stopwatch ASSERT when continuing inspector
https://bugs.webkit.org/show_bug.cgi?id=138360

Reviewed by Timothy Hatcher.

We were unconditionally resuming the stopwatch even if we never
paused it in the first place. Maintain a flag for whether the
stopwatch was paused when the debugger last paused.

  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::didPause):
(Inspector::InspectorDebuggerAgent::didContinue):

  • inspector/agents/InspectorDebuggerAgent.h:
11:38 AM Changeset in webkit [178432] by msaboff@apple.com
  • 7 edits
    3 adds in trunk

REGRESSION (r174226): Header on huffingtonpost.com is too large
https://bugs.webkit.org/show_bug.cgi?id=140306

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

BytecodeGenerator::willResolveToArguments() is used to check to see if we can use the
arguments register or whether we need to resolve "arguments". If the arguments have
been captured, then they are stored in the lexical environment and the arguments
register is not used.
Changed BytecodeGenerator::willResolveToArguments() to also check to see if the arguments
register is captured. Renamed the function to willResolveToArgumentsRegister() to
better indicate what we are checking.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::willResolveToArgumentsRegister):
(JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitConstruct):
(JSC::BytecodeGenerator::emitEnumeration):
(JSC::BytecodeGenerator::willResolveToArguments): Deleted.

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::BracketAccessorNode::emitBytecode):
(JSC::DotAccessorNode::emitBytecode):
(JSC::getArgumentByVal):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::ArrayPatternNode::emitDirectBinding):

LayoutTests:

Updated js/arguments-iterator to test changing argument to array values.
Removed tests that changed arguments to a string and an object as they were
bogus and didn't test what the appeared to test.
for .. of works on iterable objects only.

Added new regression test, js/regress-140306.

  • js/arguments-iterator-expected.txt:
  • js/regress-140306-expected.txt: Added.
  • js/regress-140306.html: Added.
  • js/script-tests/arguments-iterator.js:

(testEmptyArrayArguments):
(testArrayArguments):
(testOverwrittenArguments): Deleted.
(testNullArguments): Deleted.
(testNonArrayLikeArguments): Deleted.

  • js/script-tests/regress-140306.js: Added.

(checkArgs):
(applyToArgs):

11:08 AM Changeset in webkit [178431] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed build fix for DebugSuffix target.

  • WebKit.vcxproj/WebKit/WebKit.vcxproj: Correct build flags for DebugSuffix

target to match Release and Debug builds.

11:03 AM Changeset in webkit [178430] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit

[Win] Build fix after r178255.

Correct path to PaintHooks.asm. This causes a build failure if you perform a
clean build from a new subversion checkout.

  • WebKit.vcxproj/WebKit/WebKit.vcxproj:
  • WebKit.vcxproj/WebKit/WebKit.vcxproj.filters:
10:58 AM Changeset in webkit [178429] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.14

New tag.

10:53 AM Changeset in webkit [178428] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

10:48 AM Changeset in webkit [178427] by msaboff@apple.com
  • 4 edits
    3 adds in trunk

JavaScript identifier incorrectly parsed if the prefix before an escape sequence is a keyword
https://bugs.webkit.org/show_bug.cgi?id=140420

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Added new function isIdentPartIncludingEscape() that performs the original
isIdentPart() followed by a check for a valid unicode escape. If there is a
unicode escape, its resolved value is checked with isIdentPart().

  • KeywordLookupGenerator.py:

(Trie.printSubTreeAsC):
(Trie.printAsC):

  • parser/Lexer.cpp:

(JSC::isUnicodeEscapeIdentPart):
(JSC::isIdentPartIncludingEscape):

LayoutTests:

New regression test.

  • js/regress-140420-expected.txt: Added.
  • js/regress-140420.html: Added.
  • js/script-tests/regress-140420.js: Added.

(with):
(this):

10:43 AM Changeset in webkit [178426] by jer.noble@apple.com
  • 3 edits
    2 adds in trunk

Null-deref crash when seeking immediately before looping.
https://bugs.webkit.org/show_bug.cgi?id=140394

Reviewed by Eric Carlson.

Source/WebCore:

It is possible for finishSeek() to be called when a seek() has caused a pending seek task
to be scheduled, but before that pending seek task is run. In this case, if a seek request
is issued, the existing pending seek task will not be cancelled, which will cause a crash
when the pending seek task is run.

When checking whether an existing seek task needs to be cancelled, check the actual timer,
rather than the m_seeking boolean, so that this case is covered.

Test: media/video-ended-seek-crash.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::seekWithTolerance):

LayoutTests:

  • media/video-ended-seek-crash-expected.txt: Added.
  • media/video-ended-seek-crash.html: Added.
10:39 AM Changeset in webkit [178425] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit2

Add willOpen and didClose member functions to WebProcessLifetimeObserver
https://bugs.webkit.org/show_bug.cgi?id=140449

Reviewed by Andreas Kling.

  • UIProcess/VisitedLinkProvider.cpp:

(WebKit::VisitedLinkProvider::addVisitedLinkHash):
(WebKit::VisitedLinkProvider::webProcessWillOpenConnection):
(WebKit::VisitedLinkProvider::webProcessDidCloseConnection):

  • UIProcess/VisitedLinkProvider.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::close):

  • UIProcess/WebProcessLifetimeObserver.cpp:

(WebKit::WebProcessLifetimeObserver::addWebPage):
(WebKit::WebProcessLifetimeObserver::removeWebPage):

  • UIProcess/WebProcessLifetimeObserver.h:

(WebKit::WebProcessLifetimeObserver::webProcessWillOpenConnection):
(WebKit::WebProcessLifetimeObserver::webProcessDidCloseConnection):

10:25 AM Changeset in webkit [178424] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Layout Test fast/css/crash-on-custom-cursor-when-loading.html is failing
https://bugs.webkit.org/show_bug.cgi?id=140425

Reviewed by Anders Carlsson.

  • platform/win/CursorWin.cpp:

(WebCore::createSharedCursor): Return nullptr when operating system
cannot support the requested icon specification.
(WebCore::Cursor::ensurePlatformCursor): Check for 'createSharedCursor'
returning nullptr, and fall back to the default icon construction.

10:01 AM Changeset in webkit [178423] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

Added availability annotations to some modern Cocoa SPI.

Rubber-stamped by Anders Carlsson.

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
9:58 AM Changeset in webkit [178422] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed gardening.

  • platform/win/TestExpectations: Add a Crash expectation now that

https://bugs.webkit.org/show_bug.cgi?id=140444 has been filed.

8:13 AM Changeset in webkit [178421] by Csaba Osztrogonác
  • 1 edit
    1 delete in trunk/Tools

Remove WK2 Windows cruft
https://bugs.webkit.org/show_bug.cgi?id=140440

Reviewed by Anders Carlsson.

  • WebKitTestRunner/InjectedBundle/win/ActivateFonts.cpp: Removed.
  • WebKitTestRunner/InjectedBundle/win/InjectedBundleWin.cpp: Removed.
  • WebKitTestRunner/InjectedBundle/win/TestRunnerWin.cpp: Removed.
8:10 AM Changeset in webkit [178420] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WTF

Unreviewed fix after r163330.

  • wtf/Platform.h: Use C style comment.
8:09 AM Changeset in webkit [178419] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WTF

C++ style comment was preventing compile if CPU(ARM_NEON)
https://bugs.webkit.org/show_bug.cgi?id=133827

Patch by Marc Juul <juul@sudomesh.org> on 2015-01-14
Reviewed by Csaba Osztrogonác.

  • wtf/Platform.h:
3:54 AM Changeset in webkit [178418] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

REGRESSION(r178367): [GStreamer] Several media tests time out after r178367
https://bugs.webkit.org/show_bug.cgi?id=140437

Reviewed by Philippe Normand.

Add implementation for MediaPlayerPrivate::rate() to GStreamer
media backend.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::rate):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2:21 AM Changeset in webkit [178417] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Fix build after r178385
https://bugs.webkit.org/show_bug.cgi?id=140429

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-01-14
Reviewed by Csaba Osztrogonác.

  • UIProcess/API/gtk/WebKitUserContentManager.cpp:

(_WebKitUserContentManagerPrivate::_WebKitUserContentManagerPrivate):

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

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

Wrong fix (Requested by KaL on #webkit).

Reverted changeset:

"Unreviewed GTK build fix after r178385."
http://trac.webkit.org/changeset/178412

1:03 AM Changeset in webkit [178415] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Do not schedule a redraw for the redirected XComposite window when not in accelerated compositing mode
https://bugs.webkit.org/show_bug.cgi?id=140354

Reviewed by Martin Robinson.

The RedirectedXCompositeWindow uses XDamage to be notified when
the XWindow has been modified. Since the redirected window is
created unconditionally we always receive a XDamage notify when
the window is mapped, and we schedule a redraw in the web view
even when the web view is not in accelerated compositing mode.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseRealize): Only call gtk_widget_queue_draw() when
in accelerated compositing mode.

1:00 AM Changeset in webkit [178414] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[GTK] Do not resize the redirected XComposite window when not in accelerated compositing mode
https://bugs.webkit.org/show_bug.cgi?id=140353

Reviewed by Martin Robinson.

We create the redirected XComposite window unconditionally, but
with a size of 1x1 to save memory. However, we are always resizing
it, so in the end we always end up with a XWindow allocated for
the same size of the web view, even for web views that never enter
in accelerated compositing mode.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewRenderAcceleratedCompositingResults): Resize the
RedirectedXCompositeWindow to the current web view size to ensure
the sizes match before drawing.
(resizeWebKitWebViewBaseFromAllocation): Only resize the
RedirectedXCompositeWindow when in accelerated compositing mode.

  • UIProcess/gtk/RedirectedXCompositeWindow.cpp:

(WebKit::RedirectedXCompositeWindow::resize): Return early if the
given size is the current size.

12:55 AM Changeset in webkit [178413] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebKit2

REGRESSION(r177075): Flickering when the WebView is realized
https://bugs.webkit.org/show_bug.cgi?id=140352

Reviewed by Martin Robinson.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseRealize): Pass the parent GdkWindow to the
RedirectedXCompositeWindow constructor.

  • UIProcess/gtk/RedirectedXCompositeWindow.cpp:

(WebKit::supportsXDamageAndXComposite): Get the display from the
given GdkWindow.
(WebKit::RedirectedXCompositeWindow::create): Receive a GdkWindow
instead of the Display and sise that is always 1x1.
(WebKit::RedirectedXCompositeWindow::RedirectedXCompositeWindow):
Use the passed in GdkWindow to get the Display, Visual and Depth
instead of using the window as parent and reparent afterwards.

  • UIProcess/gtk/RedirectedXCompositeWindow.h:
12:34 AM Changeset in webkit [178412] by yoon@igalia.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed GTK build fix after r178385.

WebUserContentControllerProxy is not RefCounted anymore.

  • UIProcess/API/gtk/WebKitUserContentManager.cpp:

(_WebKitUserContentManagerPrivate::_WebKitUserContentManagerPrivate):

12:10 AM Changeset in webkit [178411] by commit-queue@webkit.org
  • 82 edits
    2 moves
    2 adds
    10 deletes in trunk

Unreviewed, rolling out r178390, r178392, r178398, r178400,
r178402, and r178410.
https://bugs.webkit.org/show_bug.cgi?id=140431

Way too many failures to skip (Requested by ap_ on #webkit).

Reverted changesets:

"WebGL2: Support webgl2 context creation."
https://bugs.webkit.org/show_bug.cgi?id=126408
http://trac.webkit.org/changeset/178390

"Unreviewed iOS build fix after r178390."
http://trac.webkit.org/changeset/178392

"[Unreviewed] Windows build fix after r178390."
http://trac.webkit.org/changeset/178398

"[Unreviewed] Speculative test fix after r178390."
http://trac.webkit.org/changeset/178400

"[Unreviewed] Skip webgl tests for temporarily."
https://bugs.webkit.org/show_bug.cgi?id=140423
http://trac.webkit.org/changeset/178402

"[EFL] Fix build after r178390"
https://bugs.webkit.org/show_bug.cgi?id=140424
http://trac.webkit.org/changeset/178410

Jan 13, 2015:

11:29 PM Changeset in webkit [178410] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

[EFL] Fix build after r178390
https://bugs.webkit.org/show_bug.cgi?id=140424

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-01-13
Reviewed by Csaba Osztrogonác.

  • CMakeLists.txt:
10:58 PM Changeset in webkit [178409] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

Unreviewed GTK build fix after r178375.

uint64_t navigationID -> API::Navigation*.

  • UIProcess/API/gtk/WebKitLoaderClient.cpp:
10:08 PM Changeset in webkit [178408] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

Unreviewed GTK build fix after r178375.

WebFrameProxy is now a reference instead of a pointer.

  • UIProcess/API/gtk/WebKitLoaderClient.cpp:
9:04 PM Changeset in webkit [178407] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Simple line layout: Refactor TextFragment class.
https://bugs.webkit.org/show_bug.cgi?id=140417

Reviewed by Andreas Kling.

Introduce text fragment type and use class member initializers.

No change in functionality.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::TextFragment::TextFragment):
(WebCore::SimpleLineLayout::LineState::addUncommitted):
(WebCore::SimpleLineLayout::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::nextFragment):
(WebCore::SimpleLineLayout::createLineRuns):

9:01 PM Changeset in webkit [178406] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Fix TestWTF failed in TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=140333

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-01-13
Reviewed by Sam Weinig.

Clear the std::ostringstream before starting test.

  • TestWebKitAPI/Tests/WTF/RefLogger.h:

(TestWebKitAPI::DerivedRefLogger::DerivedRefLogger):

8:38 PM Changeset in webkit [178405] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed test gardening.

  • platform/win/TestExpectations: Add Debug Crash documentation now that Bug 140425 has been filed.
7:39 PM Changeset in webkit [178404] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: TextEditor doesn't update when resizing console, white space instead of content
https://bugs.webkit.org/show_bug.cgi?id=140240

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

  • UserInterface/Base/Main.js:

(WebInspector._consoleResizerMouseDown.dockedResizerDrag):
Dispatch the event that signals the console has changed size.

7:35 PM Changeset in webkit [178403] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Only throttle DOM timers if they change CSS properties that cannot cause non-descendant elements to become visible
https://bugs.webkit.org/show_bug.cgi?id=140142

Reviewed by Daniel Bates.

Fix layout test introduced in r178014. I forgot to remove a
setTimeout() call.

  • fast/dom/timer-height-change-no-throttling.html:
7:15 PM Changeset in webkit [178402] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

[Unreviewed] Skip webgl tests for temporarily.
https://bugs.webkit.org/show_bug.cgi?id=140423

  • platform/mac/TestExpectations:
7:10 PM Changeset in webkit [178401] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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

Test fix breaks build (Requested by rfong on #webkit).

Reverted changeset:

"[Unreviewed] Speculative test fix after r178390."
http://trac.webkit.org/changeset/178400

6:25 PM Changeset in webkit [178400] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

[Unreviewed] Speculative test fix after r178390.

  • html/canvas/WebGL1RenderingContext.idl:
6:18 PM Changeset in webkit [178399] by dino@apple.com
  • 5 edits
    2 copies in trunk/LayoutTests

Filters aren't applied to elements in columns after the first
https://bugs.webkit.org/show_bug.cgi?id=140331
<rdar://problem/19313858>

Unreviewed followup after discussion with Simon Fraser.

Add a new test that exercises nested blocks inside columns. Also
use valid properties in my existing tests :)

  • fast/multicol/clip-in-columns-expected.html:
  • fast/multicol/clip-in-columns.html:
  • fast/multicol/filter-in-columns-expected.html:
  • fast/multicol/filter-in-columns.html:
  • fast/multicol/nested-filter-in-columns-expected.html: Copied from LayoutTests/fast/multicol/filter-in-columns-expected.html.
  • fast/multicol/nested-filter-in-columns.html: Copied from LayoutTests/fast/multicol/filter-in-columns.html.
5:55 PM Changeset in webkit [178398] by roger_fong@apple.com
  • 6 edits in trunk/Source/WebCore

[Unreviewed] Windows build fix after r178390.

  • DerivedSources.cpp:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • bindings/js/JSBindingsAllInOne.cpp:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::create):

5:34 PM Changeset in webkit [178397] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebCore

NSButtonCell leak allocated under WebCore::paintToggleButton
https://bugs.webkit.org/show_bug.cgi?id=137014

Reviewed by Alexey Proskuryakov.

  • platform/mac/ThemeMac.mm:

(WebCore::createToggleButtonCell):
Immediately adopt the NSButtonCell allocation.

(WebCore::sharedRadioCell):
(WebCore::sharedCheckboxCell):
Move from the RetainPtr into the static variable.

(WebCore::paintToggleButton):
Use RetainPtr logic to better manage lifetimes.

5:33 PM Changeset in webkit [178396] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Simple line layout: Refactor SimpleLineLayout::nextFragment().
https://bugs.webkit.org/show_bug.cgi?id=140407

Reviewed by Andreas Kling.

Simplify the code by using content specific branches with early returns.

No change in functionality.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::nextFragment):

5:30 PM Changeset in webkit [178395] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

Unreviewed GTK build fix after r178375.

WebPageProxy is now a reference instead of a pointer.

  • UIProcess/API/gtk/WebKitLoaderClient.cpp:
5:05 PM Changeset in webkit [178394] by Chris Dumez
  • 3 edits in trunk/Source/WebKit/ios

Unreviewed iOS build fix after r178375

Match FontSelector API changes.

  • Misc/EmojiFallbackFontSelector.cpp:

(EmojiFallbackFontSelector::fallbackFontDataAt):
(EmojiFallbackFontSelector::getFallbackFontData): Deleted.

  • Misc/EmojiFallbackFontSelector.h:
4:45 PM Changeset in webkit [178393] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Fill in more of WebProcessLifetimeTracker
https://bugs.webkit.org/show_bug.cgi?id=140418

Reviewed by Andreas Kling.

  • UIProcess/WebProcessLifetimeObserver.cpp:

(WebKit::WebProcessLifetimeObserver::WebProcessLifetimeObserver):
(WebKit::WebProcessLifetimeObserver::~WebProcessLifetimeObserver):
(WebKit::WebProcessLifetimeObserver::addWebPage):
(WebKit::WebProcessLifetimeObserver::removeWebPage):

  • UIProcess/WebProcessLifetimeObserver.h:
  • UIProcess/WebProcessLifetimeTracker.cpp:

(WebKit::WebProcessLifetimeTracker::WebProcessLifetimeTracker):
(WebKit::WebProcessLifetimeTracker::addObserver):
(WebKit::WebProcessLifetimeTracker::connectionWillOpen):
(WebKit::WebProcessLifetimeTracker::connectionWillClose):
(WebKit::WebProcessLifetimeTracker::pageWasInvalidated):
(WebKit::WebProcessLifetimeTracker::processIsRunning):

  • UIProcess/WebProcessLifetimeTracker.h:
4:44 PM Changeset in webkit [178392] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Unreviewed iOS build fix after r178390.

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
m_type is undeclared.

  • html/canvas/WebGLContextGroup.h:

Fix bad include.

4:33 PM Changeset in webkit [178391] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

Unreviewed iOS build fix after r178375.

LoaderClient::didLayout() now takes a reference to the WebPageProxy
instead of a pointer.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::didCommitLayerTree):

4:33 PM Changeset in webkit [178390] by roger_fong@apple.com
  • 77 edits
    4 moves
    8 adds in trunk/Source/WebCore

WebGL2: Support webgl2 context creation.
https://bugs.webkit.org/show_bug.cgi?id=126408
<rdar://problem/15002170>
Reviewed by Dean Jackson.
Tests covered by existing Khronos tests for WebGL 1.0 conformance.
Create a WebGLRenderingContextBase class that extends to a WebGL1RenderingContext and WebGL2RenderingContext.
Replace all previous instances of WebGLRenderingContext usages with WebGLRenderingContextBase usages for now.
As the first step, the WebGL1 and WebGL2 contexts will have the exact same functionality.

  • CMakeLists.txt:
  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSCanvasRenderingContextCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSDocumentCustom.cpp:
  • bindings/js/JSHTMLCanvasElementCustom.cpp:
  • bindings/js/JSWebGL1RenderingContextCustom.cpp: Copied from Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp.
  • bindings/js/JSWebGL2RenderingContextCustom.cpp: Added.

(WebCore::JSWebGL2RenderingContext::visitAdditionalChildren):

  • bindings/js/JSWebGLRenderingContextBaseCustom.cpp: Added.
  • bindings/js/JSWebGLRenderingContextCustom.cpp: Removed.
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::getContext):
(WebCore::HTMLCanvasElement::is3dType):
(WebCore::HTMLCanvasElement::reset):
(WebCore::HTMLCanvasElement::paint):
(WebCore::HTMLCanvasElement::getImageData):

  • html/canvas/ANGLEInstancedArrays.cpp:

(WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):
(WebCore::ANGLEInstancedArrays::supported):

  • html/canvas/ANGLEInstancedArrays.h:
  • html/canvas/CanvasRenderingContext.h:

(WebCore::CanvasRenderingContext::type):

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):

  • html/canvas/EXTBlendMinMax.cpp:

(WebCore::EXTBlendMinMax::EXTBlendMinMax):

  • html/canvas/EXTBlendMinMax.h:
  • html/canvas/EXTFragDepth.cpp:

(WebCore::EXTFragDepth::EXTFragDepth):

  • html/canvas/EXTFragDepth.h:
  • html/canvas/EXTShaderTextureLOD.cpp:

(WebCore::EXTShaderTextureLOD::EXTShaderTextureLOD):

  • html/canvas/EXTShaderTextureLOD.h:
  • html/canvas/EXTTextureFilterAnisotropic.cpp:

(WebCore::EXTTextureFilterAnisotropic::EXTTextureFilterAnisotropic):

  • html/canvas/EXTTextureFilterAnisotropic.h:
  • html/canvas/EXTsRGB.cpp:

(WebCore::EXTsRGB::EXTsRGB):

  • html/canvas/EXTsRGB.h:
  • html/canvas/OESElementIndexUint.cpp:

(WebCore::OESElementIndexUint::OESElementIndexUint):

  • html/canvas/OESElementIndexUint.h:
  • html/canvas/OESStandardDerivatives.cpp:

(WebCore::OESStandardDerivatives::OESStandardDerivatives):

  • html/canvas/OESStandardDerivatives.h:
  • html/canvas/OESTextureFloat.cpp:

(WebCore::OESTextureFloat::OESTextureFloat):

  • html/canvas/OESTextureFloat.h:
  • html/canvas/OESTextureFloatLinear.cpp:

(WebCore::OESTextureFloatLinear::OESTextureFloatLinear):

  • html/canvas/OESTextureFloatLinear.h:
  • html/canvas/OESTextureHalfFloat.cpp:

(WebCore::OESTextureHalfFloat::OESTextureHalfFloat):

  • html/canvas/OESTextureHalfFloat.h:
  • html/canvas/OESTextureHalfFloatLinear.cpp:

(WebCore::OESTextureHalfFloatLinear::OESTextureHalfFloatLinear):

  • html/canvas/OESTextureHalfFloatLinear.h:
  • html/canvas/OESVertexArrayObject.cpp:

(WebCore::OESVertexArrayObject::OESVertexArrayObject):

  • html/canvas/OESVertexArrayObject.h:
  • html/canvas/WebGL1RenderingContext.cpp: Copied from Source/WebCore/html/canvas/WebGLRenderingContext.cpp.
  • html/canvas/WebGL1RenderingContext.h: Copied from Source/WebCore/html/canvas/WebGLRenderingContext.h.
  • html/canvas/WebGL1RenderingContext.idl: Copied from Source/WebCore/html/canvas/WebGLRenderingContext.idl.
  • html/canvas/WebGL2RenderingContext.cpp: Added.

(WebCore::WebGL2RenderingContext::WebGL2RenderingContext):

  • html/canvas/WebGL2RenderingContext.h: Added.
  • html/canvas/WebGL2RenderingContext.idl: Added.
  • html/canvas/WebGLBuffer.cpp:

(WebCore::WebGLBuffer::create):
(WebCore::WebGLBuffer::WebGLBuffer):

  • html/canvas/WebGLBuffer.h:
  • html/canvas/WebGLCompressedTextureATC.cpp:

(WebCore::WebGLCompressedTextureATC::WebGLCompressedTextureATC):
(WebCore::WebGLCompressedTextureATC::supported):

  • html/canvas/WebGLCompressedTextureATC.h:
  • html/canvas/WebGLCompressedTexturePVRTC.cpp:

(WebCore::WebGLCompressedTexturePVRTC::WebGLCompressedTexturePVRTC):
(WebCore::WebGLCompressedTexturePVRTC::supported):

  • html/canvas/WebGLCompressedTexturePVRTC.h:
  • html/canvas/WebGLCompressedTextureS3TC.cpp:

(WebCore::WebGLCompressedTextureS3TC::WebGLCompressedTextureS3TC):
(WebCore::WebGLCompressedTextureS3TC::supported):

  • html/canvas/WebGLCompressedTextureS3TC.h:
  • html/canvas/WebGLContextGroup.cpp:

(WebCore::WebGLContextGroup::getAGraphicsContext3D):
(WebCore::WebGLContextGroup::addContext):
(WebCore::WebGLContextGroup::removeContext):
(WebCore::WebGLContextGroup::loseContextGroup):

  • html/canvas/WebGLContextGroup.h:
  • html/canvas/WebGLContextObject.cpp:

(WebCore::WebGLContextObject::WebGLContextObject):

  • html/canvas/WebGLContextObject.h:

(WebCore::WebGLContextObject::context):

  • html/canvas/WebGLDebugRendererInfo.cpp:

(WebCore::WebGLDebugRendererInfo::WebGLDebugRendererInfo):

  • html/canvas/WebGLDebugRendererInfo.h:
  • html/canvas/WebGLDebugShaders.cpp:

(WebCore::WebGLDebugShaders::WebGLDebugShaders):

  • html/canvas/WebGLDebugShaders.h:
  • html/canvas/WebGLDepthTexture.cpp:

(WebCore::WebGLDepthTexture::WebGLDepthTexture):

  • html/canvas/WebGLDepthTexture.h:
  • html/canvas/WebGLDrawBuffers.cpp:

(WebCore::WebGLDrawBuffers::WebGLDrawBuffers):
(WebCore::WebGLDrawBuffers::supported):
(WebCore::WebGLDrawBuffers::satisfiesWebGLRequirements):

  • html/canvas/WebGLDrawBuffers.h:
  • html/canvas/WebGLExtension.cpp:

(WebCore::WebGLExtension::WebGLExtension):

  • html/canvas/WebGLExtension.h:

(WebCore::WebGLExtension::context):

  • html/canvas/WebGLFramebuffer.cpp:

(WebCore::WebGLFramebuffer::create):
(WebCore::WebGLFramebuffer::WebGLFramebuffer):

  • html/canvas/WebGLFramebuffer.h:
  • html/canvas/WebGLLoseContext.cpp:

(WebCore::WebGLLoseContext::WebGLLoseContext):
(WebCore::WebGLLoseContext::loseContext):

  • html/canvas/WebGLLoseContext.h:
  • html/canvas/WebGLObject.cpp:

(WebCore::WebGLObject::WebGLObject):

  • html/canvas/WebGLObject.h:
  • html/canvas/WebGLProgram.cpp:

(WebCore::WebGLProgram::create):
(WebCore::WebGLProgram::WebGLProgram):

  • html/canvas/WebGLProgram.h:
  • html/canvas/WebGLRenderbuffer.cpp:

(WebCore::WebGLRenderbuffer::create):
(WebCore::WebGLRenderbuffer::WebGLRenderbuffer):

  • html/canvas/WebGLRenderbuffer.h:
  • html/canvas/WebGLRenderingContext.cpp: Removed.
  • html/canvas/WebGLRenderingContext.h: Removed.
  • html/canvas/WebGLRenderingContext.idl: Removed.
  • html/canvas/WebGLRenderingContextBase.cpp: Added.
  • html/canvas/WebGLRenderingContextBase.h: Added.
  • html/canvas/WebGLRenderingContextBase.idl: Added.
  • html/canvas/WebGLShader.cpp:

(WebCore::WebGLShader::create):
(WebCore::WebGLShader::WebGLShader):

  • html/canvas/WebGLShader.h:
  • html/canvas/WebGLSharedObject.cpp:

(WebCore::WebGLSharedObject::WebGLSharedObject):

  • html/canvas/WebGLSharedObject.h:
  • html/canvas/WebGLTexture.cpp:

(WebCore::WebGLTexture::create):
(WebCore::WebGLTexture::WebGLTexture):

  • html/canvas/WebGLTexture.h:
  • html/canvas/WebGLVertexArrayObjectOES.cpp:

(WebCore::WebGLVertexArrayObjectOES::create):
(WebCore::WebGLVertexArrayObjectOES::WebGLVertexArrayObjectOES):

  • html/canvas/WebGLVertexArrayObjectOES.h:
4:19 PM Changeset in webkit [178389] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix Mac build after r178388

FontRanges::isEmpty() -> FontRanges::isNull().

  • platform/graphics/mac/FontComplexTextMac.cpp:

(WebCore::Font::fontDataForCombiningCharacterSequence):

3:57 PM Changeset in webkit [178388] by Antti Koivisto
  • 17 edits
    2 moves
    2 deletes in trunk/Source/WebCore

Devirtualize FontData
https://bugs.webkit.org/show_bug.cgi?id=140390

Reviewed by Andreas Kling.

This patch removes the FontData base class and turns SegmentedFontData into a non-virtual FontRanges type.

SimpleFontData remains as is (without the base) and it can be renamed later to something more sensible.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::fontRangesForFamily):
(WebCore::CSSFontSelector::fallbackFontDataAt):
(WebCore::CSSFontSelector::getFontData): Deleted.
(WebCore::CSSFontSelector::getFallbackFontData): Deleted.

  • css/CSSFontSelector.h:
  • css/CSSSegmentedFontFace.cpp:

(WebCore::CSSSegmentedFontFace::pruneTable):
(WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading):
(WebCore::CSSSegmentedFontFace::fontRanges):
(WebCore::CSSSegmentedFontFace::loadFont):
(WebCore::CSSSegmentedFontFace::getFontData): Deleted.

  • css/CSSSegmentedFontFace.h:
  • platform/graphics/Font.h:

(WebCore::Font::fallbackRangesAt):
(WebCore::Font::fontDataAt): Deleted.

  • platform/graphics/FontData.cpp: Removed.
  • platform/graphics/FontData.h: Removed.
  • platform/graphics/FontGlyphs.cpp:

(WebCore::FontGlyphs::FontGlyphs):
(WebCore::FontGlyphs::determinePitch):
(WebCore::FontGlyphs::isLoadingCustomFonts):
(WebCore::realizeNextFallback):
(WebCore::FontGlyphs::realizeFallbackRangesAt):
(WebCore::FontGlyphs::glyphDataForSystemFallback):
(WebCore::FontGlyphs::glyphDataForVariant):
(WebCore::FontGlyphs::glyphDataForNormalVariant):
(WebCore::glyphPageFromFontRanges):
(WebCore::FontGlyphs::glyphDataForCharacter):
(WebCore::realizeNextFamily): Deleted.
(WebCore::FontGlyphs::realizeFontDataAt): Deleted.
(WebCore::glyphPageFromFontData): Deleted.

  • platform/graphics/FontGlyphs.h:

(WebCore::FontGlyphs::primarySimpleFontData):

  • platform/graphics/FontRanges.cpp: Copied from Source/WebCore/platform/graphics/SegmentedFontData.cpp.

(WebCore::FontRanges::FontRanges):
(WebCore::FontRanges::~FontRanges):
(WebCore::FontRanges::fontDataForCharacter):
(WebCore::FontRanges::fontDataForFirstRange):
(WebCore::FontRanges::isLoading):
(WebCore::SegmentedFontData::SegmentedFontData): Deleted.
(WebCore::SegmentedFontData::~SegmentedFontData): Deleted.
(WebCore::SegmentedFontData::simpleFontDataForCharacter): Deleted.
(WebCore::SegmentedFontData::simpleFontDataForFirstRange): Deleted.
(WebCore::SegmentedFontData::isCustomFont): Deleted.
(WebCore::SegmentedFontData::isLoading): Deleted.
(WebCore::SegmentedFontData::isSegmented): Deleted.
(WebCore::SegmentedFontData::description): Deleted.

  • platform/graphics/FontRanges.h: Copied from Source/WebCore/platform/graphics/SegmentedFontData.h.

(WebCore::FontRanges::Range::Range):
(WebCore::FontRanges::Range::from):
(WebCore::FontRanges::Range::to):
(WebCore::FontRanges::Range::fontData):
(WebCore::FontRanges::isEmpty):
(WebCore::FontRanges::appendRange):
(WebCore::FontRanges::size):
(WebCore::FontRanges::rangeAt):
(WebCore::FontDataRange::FontDataRange): Deleted.
(WebCore::FontDataRange::from): Deleted.
(WebCore::FontDataRange::to): Deleted.
(WebCore::FontDataRange::fontData): Deleted.
(WebCore::SegmentedFontData::create): Deleted.
(WebCore::SegmentedFontData::appendRange): Deleted.
(WebCore::SegmentedFontData::numRanges): Deleted.
(WebCore::SegmentedFontData::rangeAt): Deleted.
(isType): Deleted.

  • platform/graphics/FontSelector.h:
  • platform/graphics/SegmentedFontData.cpp: Removed.
  • platform/graphics/SegmentedFontData.h: Removed.
  • platform/graphics/SimpleFontData.cpp:

(WebCore::SimpleFontData::simpleFontDataForCharacter): Deleted.
(WebCore::SimpleFontData::simpleFontDataForFirstRange): Deleted.
(WebCore::SimpleFontData::isSegmented): Deleted.

  • platform/graphics/SimpleFontData.h:

(WebCore::SimpleFontData::isCustomFont):
(WebCore::SimpleFontData::isLoading):
(isType): Deleted.

  • platform/graphics/mac/ComplexTextControllerCoreText.mm:

(-[WebCascadeList initWithFont:character:]):
(-[WebCascadeList objectAtIndex:]):
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):

  • platform/graphics/mac/FontComplexTextMac.cpp:

(WebCore::Font::fontDataForCombiningCharacterSequence):

3:56 PM Changeset in webkit [178387] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit/mac

Temporarily reintroduce the informal delegate protocols
https://bugs.webkit.org/show_bug.cgi?id=140416

Reviewed by Dan Bernstein.

  • WebView/WebEditingDelegate.h:
  • WebView/WebFrameLoadDelegate.h:
  • WebView/WebPolicyDelegate.h:
  • WebView/WebResourceLoadDelegate.h:
  • WebView/WebUIDelegate.h:
3:49 PM Changeset in webkit [178386] by commit-queue@webkit.org
  • 8 edits
    2 adds in trunk/LayoutTests

Missed images and missed new lines in the expected results of the imported w3c canvas layout tests.
https://bugs.webkit.org/show_bug.cgi?id=140409.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-01-13
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:

Fix some failures in the imported W3C canvas tests. These failures were happening because
of missing images or missing new lines at the end of the expected results.

  • canvas/2d.pattern.paint.repeat.basic-expected.txt:
  • canvas/2d.pattern.paint.repeat.outside-expected.txt:
  • canvas/2d.pattern.paint.repeatx.basic-expected.txt:
  • canvas/2d.pattern.paint.repeaty.basic-expected.txt:
  • canvas/resources/background.png: Added.
  • canvas/resources/green-16x16.png: Added.
  • common/canvas-tests.css:

LayoutTests:

Fix some failures in the imported W3C canvas tests. These failures were happening because
of missing images or missing new lines at the end of the expected results.

3:35 PM Changeset in webkit [178385] by weinig@apple.com
  • 7 edits in trunk/Source/WebKit2

Convert WebUserContentControllerProxy to an API::Object bridged to WKUserContentController
https://bugs.webkit.org/show_bug.cgi?id=140414

Reviewed by Dan Bernstein.

  • Shared/API/APIObject.h:

Add Type::UserContentController.

  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):
Allocate WebUserContentControllerProxy using [WKUserContentController alloc].

  • UIProcess/API/Cocoa/WKUserContentController.mm:

(-[WKUserContentController init]):
(-[WKUserContentController dealloc]):
(-[WKUserContentController _apiObject]):

  • UIProcess/API/Cocoa/WKUserContentControllerInternal.h:

(WebKit::wrapper):
Convert to using API::ObjectStorage for the internal WebUserContentControllerProxy.

  • UIProcess/UserContent/WebUserContentControllerProxy.cpp:

(WebKit::WebUserContentControllerProxy::create): Deleted.

  • UIProcess/UserContent/WebUserContentControllerProxy.h:

Convert to inherit from API::ObjectImpl<> and remove create function.

3:35 PM Changeset in webkit [178384] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.17-branch/Source

Versioning.

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

Stub out more of the process lifetime tracker code
https://bugs.webkit.org/show_bug.cgi?id=140411

Reviewed by Sam Weinig.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::connectionWillOpen):
(WebKit::WebPageProxy::connectionWillClose):

  • UIProcess/WebProcessLifetimeTracker.cpp:

(WebKit::WebProcessLifetimeTracker::connectionWillOpen):
(WebKit::WebProcessLifetimeTracker::connectionWillClose):
(WebKit::WebProcessLifetimeTracker::pageWasInvalidated):

  • UIProcess/WebProcessLifetimeTracker.h:
3:28 PM Changeset in webkit [178382] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.17.6

New tag.

3:26 PM Changeset in webkit [178381] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.17-branch/Source/JavaScriptCore

Merged r178364. <rdar://problem/19450807>

3:22 PM Changeset in webkit [178380] by dino@apple.com
  • 4 edits
    4 adds in trunk

Filters aren't applied to elements in columns after the first
https://bugs.webkit.org/show_bug.cgi?id=140331
Source/WebCore:

Reviewed by Simon Fraser.

The important bits of this change came from Simon.

Filters and clipping were not taking columns into
account when using their offset rectangles. The fix
is to recalculate the rects if you're in such a
situation.

Tests: fast/multicol/clip-in-columns.html

fast/multicol/filter-in-columns.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::hasFilterThatIsPainting): New method used
to check if we're about to paint a filter.
(WebCore::RenderLayer::setupFilters): Use the new helper if possible.
(WebCore::RenderLayer::paintLayerContents): If we're in columns,
and we either have a clip or a filter, recalculate the offset rectangles.

  • rendering/RenderLayer.h:

LayoutTests:

<rdar://problem/19313858>

Reviewed by Simon Fraser.

Tests for filters and clipping on a column other
than the first.

  • fast/multicol/clip-in-columns-expected.html: Added.
  • fast/multicol/clip-in-columns.html: Added.
  • fast/multicol/filter-in-columns-expected.html: Added.
  • fast/multicol/filter-in-columns.html: Added.
3:04 PM Changeset in webkit [178379] by clopez@igalia.com
  • 2 edits in trunk/Source/WebKit2

[CMake] Unreviewed build fix after r178366.

  • CMakeLists.txt: Add new files added by r178366.
2:33 PM Changeset in webkit [178378] by Beth Dakin
  • 4 edits in trunk/Source

Should disable immediate actions for iTunes
https://bugs.webkit.org/show_bug.cgi?id=140405
-and corresponding-
rdar://problem/19461358

Reviewed by Tim Horton.

Source/WebCore:

  • WebCore.exp.in:

Source/WebKit/mac:

  • WebView/WebImmediateActionController.mm:

(-[WebImmediateActionController _updateImmediateActionItem]):

2:26 PM Changeset in webkit [178377] by ggaren@apple.com
  • 3 edits in trunk/Source/bmalloc

Consider alignment when allocating from a SegregatedFreeList
https://bugs.webkit.org/show_bug.cgi?id=140408

Reviewed by Sam Weinig.

In preparation for supporting aligned allocation.

No performance change.

Since this is just one extra branch in an already expensive function,
I decided not to duplicate the function just to avoid the branch in
the un-aligned case.

  • bmalloc/SegregatedFreeList.cpp:

(bmalloc::SegregatedFreeList::take):

  • bmalloc/SegregatedFreeList.h:
2:23 PM Changeset in webkit [178376] by andersca@apple.com
  • 6 edits in trunk/Source/WebCore

Remove pure virtual functions from DatabaseBackendBase
https://bugs.webkit.org/show_bug.cgi?id=140402

Reviewed by Sam Weinig.

Also change DatabaseBackendBase to Database in a couple of places.

  • Modules/webdatabase/DatabaseBackendBase.cpp:

(WebCore::DatabaseBackendBase::closeDatabase):
(WebCore::DoneCreatingDatabaseOnExitCaller::~DoneCreatingDatabaseOnExitCaller):
(WebCore::DatabaseBackendBase::performOpenAndVerify):
(WebCore::DatabaseBackendBase::maximumSize):

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

(WebCore::DatabaseServer::createDatabase):

  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::getMaxSizeForDatabase):
(WebCore::DatabaseTracker::doneCreatingDatabase):
(WebCore::DatabaseTracker::addOpenDatabase):
(WebCore::DatabaseTracker::removeOpenDatabase):
(WebCore::DatabaseTracker::getOpenDatabases):
(WebCore::DatabaseTracker::deleteDatabaseFile):

  • Modules/webdatabase/DatabaseTracker.h:
2:22 PM Changeset in webkit [178375] by weinig@apple.com
  • 7 edits in trunk/Source/WebKit2

Move more of the Navigation infrastructure down to WebPageProxy
https://bugs.webkit.org/show_bug.cgi?id=140395

Reviewed by Anders Carlsson.

  • UIProcess/API/APILoaderClient.h:

(API::LoaderClient::didStartProvisionalLoadForFrame):
(API::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
(API::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
(API::LoaderClient::didCommitLoadForFrame):
(API::LoaderClient::didFinishDocumentLoadForFrame):
(API::LoaderClient::didFinishLoadForFrame):
(API::LoaderClient::didFailLoadWithErrorForFrame):
(API::LoaderClient::didSameDocumentNavigationForFrame):
(API::LoaderClient::didReceiveTitleForFrame):
(API::LoaderClient::didFirstLayoutForFrame):
(API::LoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
(API::LoaderClient::didRemoveFrameFromHierarchy):
(API::LoaderClient::didDisplayInsecureContentForFrame):
(API::LoaderClient::didRunInsecureContentForFrame):
(API::LoaderClient::didDetectXSSForFrame):
(API::LoaderClient::didLayout):
(API::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
(API::LoaderClient::didReceiveAuthenticationChallengeInFrame):
(API::LoaderClient::didStartProgress):
(API::LoaderClient::didChangeProgress):
(API::LoaderClient::didFinishProgress):
(API::LoaderClient::processDidBecomeUnresponsive):
(API::LoaderClient::interactionOccurredWhileProcessUnresponsive):
(API::LoaderClient::processDidBecomeResponsive):
(API::LoaderClient::processDidCrash):
(API::LoaderClient::didChangeBackForwardList):
(API::LoaderClient::shouldKeepCurrentBackForwardListItemInList):
(API::LoaderClient::willGoToBackForwardListItem):
(API::LoaderClient::pluginLoadPolicy):
(API::LoaderClient::didFailToInitializePlugin):
(API::LoaderClient::didBlockInsecurePluginVersion):
(API::LoaderClient::webGLLoadPolicy):
(API::LoaderClient::resolveWebGLLoadPolicy):
(API::LoaderClient::didDestroyNavigation): Deleted.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageLoaderClient):

  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::LoaderClient::didStartProvisionalLoadForFrame):
(WebKit::NavigationState::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
(WebKit::NavigationState::LoaderClient::didCommitLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFinishDocumentLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFinishLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFailLoadWithErrorForFrame):
(WebKit::NavigationState::LoaderClient::didSameDocumentNavigationForFrame):
(WebKit::NavigationState::LoaderClient::didLayout):
(WebKit::NavigationState::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
(WebKit::NavigationState::LoaderClient::didReceiveAuthenticationChallengeInFrame):
(WebKit::NavigationState::LoaderClient::processDidCrash):
(WebKit::NavigationState::LoaderClient::didDestroyNavigation): Deleted.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didChangeBackForwardList):
(WebKit::WebPageProxy::willGoToBackForwardListItem):
(WebKit::WebPageProxy::shouldKeepCurrentBackForwardListItemInList):
(WebKit::WebPageProxy::findPlugin):
(WebKit::WebPageProxy::didStartProgress):
(WebKit::WebPageProxy::didChangeProgress):
(WebKit::WebPageProxy::didFinishProgress):
(WebKit::WebPageProxy::didDestroyNavigation):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
(WebKit::WebPageProxy::didFinishLoadForFrame):
(WebKit::WebPageProxy::didFailLoadForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
(WebKit::WebPageProxy::didReceiveTitleForFrame):
(WebKit::WebPageProxy::didFirstLayoutForFrame):
(WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
(WebKit::WebPageProxy::didLayout):
(WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
(WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
(WebKit::WebPageProxy::didRunInsecureContentForFrame):
(WebKit::WebPageProxy::didDetectXSSForFrame):
(WebKit::WebPageProxy::webGLPolicyForURL):
(WebKit::WebPageProxy::resolveWebGLPolicyForURL):
(WebKit::WebPageProxy::processDidBecomeUnresponsive):
(WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive):
(WebKit::WebPageProxy::processDidBecomeResponsive):
(WebKit::WebPageProxy::processDidCrash):
(WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame):
(WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy):
(WebKit::WebPageProxy::didFailToInitializePlugin):
(WebKit::WebPageProxy::didBlockInsecurePluginVersion):

  • Moves conversion from navigationID to API::Navigation into WebPageProxy from NavigationState.
  • Changes API::LoaderClient to pass WebPageProxy and WebFrameProxy by reference rather than pointer, and to take an API::Navigation instead of a navigationID.
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
Move access of the navigationID to after calling into the client bundle to avoid
passing a navigationID of a deleted navigation to the UIProcess. This problem was
caught via the WebKit2.StopLoadingDuringDidFailProvisionalLoadTest API test, which
now exercises the Navigation code path. Had that test been written using a Navigation
delegate, the issue would have happened prior to this change.

2:00 PM Changeset in webkit [178374] by ggaren@apple.com
  • 2 edits in trunk/Source/bmalloc

Renamed minimum to size in SegregatedFreeList
https://bugs.webkit.org/show_bug.cgi?id=140406

Reviewed by Sam Weinig.

In preparation for supporting aligned allocation.

  • bmalloc/SegregatedFreeList.cpp:

(bmalloc::SegregatedFreeList::takeGreedy):
(bmalloc::SegregatedFreeList::take): Every size passed to malloc is
really just a minimum. Let's not imply that this value is special.

1:44 PM Changeset in webkit [178373] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: I do not expect to see the same rule multiple times in styles sidebar
https://bugs.webkit.org/show_bug.cgi?id=138185

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

In the styles sidebar, don't show a duplicate, lesser-specificity rule even
if it matches the selected element multiple times with different selectors
in the list.

  • UserInterface/Models/CSSRule.js:

(WebInspector.CSSRule.prototype.isEqualTo):
CSSRule identifiers are objects.

  • UserInterface/Views/RulesStyleDetailsPanel.js:

(WebInspector.RulesStyleDetailsPanel.prototype.refresh):
Remove duplicates from the ordered list of style declarations.

1:21 PM Changeset in webkit [178372] by Chris Dumez
  • 2 edits in trunk/Source/WTF

Make WTF::Optional work with msvc 2013
https://bugs.webkit.org/show_bug.cgi?id=140401

Reviewed by Anders Carlsson.

Update the WTF::Optional implementation to use std::aligned_memory and
placement new instead of an unrestricted union because msvc 2013 still
doesn't support unrestricted unions.

This change is a pre-requirement to fix Bug 140347 as this change uses
WTF::Optional with types that have non-trivial copy constructors.

This change is covered by the existing Optional WTF test.

  • wtf/Optional.h:
12:31 PM Changeset in webkit [178371] by commit-queue@webkit.org
  • 7 edits in trunk/Source

Web Inspector: Remove unused ResizeImage and DecodeImageData timeline events
https://bugs.webkit.org/show_bug.cgi?id=140404

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

Source/JavaScriptCore:

  • inspector/protocol/Timeline.json:

Source/WebCore:

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::toProtocol):

  • inspector/InspectorTimelineAgent.h:
  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::createDecodeImageData): Deleted.
(WebCore::TimelineRecordFactory::createResizeImageData): Deleted.

  • inspector/TimelineRecordFactory.h:
12:17 PM Changeset in webkit [178370] by Yusuke Suzuki
  • 4 edits
    3 adds in trunk

DFG can call PutByValDirect for generic arrays
https://bugs.webkit.org/show_bug.cgi?id=140389

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Computed properties in object initializers (ES6) use the put_by_val_direct operation.
However, current DFG asserts that put_by_val_direct is not used for the generic array,
the assertion failure is raised.
This patch allow DFG to use put_by_val_direct to generic arrays.

And fix the DFG put_by_val_direct implementation for string properties.
At first, put_by_val_direct is inteded to be used for spread elements.
So the property keys were limited to numbers (indexes).
But now, it's also used for computed properties in object initializers.

  • dfg/DFGOperations.cpp:

(JSC::DFG::operationPutByValInternal):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

LayoutTests:

  • js/dfg-put-by-val-direct-to-generic-array-expected.txt: Added.
  • js/dfg-put-by-val-direct-to-generic-array.html: Added.
  • js/script-tests/dfg-put-by-val-direct-to-generic-array.js: Added.

(foo1):
(foo2):

12:17 PM Changeset in webkit [178369] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

TestWebKitWebContext depends on British English spellcheck dictionary
https://bugs.webkit.org/show_bug.cgi?id=140403

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-01-13
Reviewed by Martin Robinson.

Install all English hunspell dictionaries on Fedora and Arch.

  • gtk/install-dependencies:
12:16 PM Changeset in webkit [178368] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] install-dependencies should grok dnf
https://bugs.webkit.org/show_bug.cgi?id=140396

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-01-13
Reviewed by Martin Robinson.

Fedora: install dependencies with dnf if yum is not installed.

  • gtk/install-dependencies:
12:01 PM Changeset in webkit [178367] by jer.noble@apple.com
  • 15 edits
    2 adds in trunk

defaultPlaybackRate not respected when set before source is loaded
https://bugs.webkit.org/show_bug.cgi?id=140282

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/video-defaultplaybackrate-before-load.html

When the HTMLMediaElement is notified that the media player's rate has changed, it asks
for the rate from MediaPlayer. However, MediaPlayer never requests the playback rate
from the underlying MediaPlayerPrivate; it just returns the last rate which was set, or
1 if no rate was set. HTMLMediaElement then sets its playbackRate to the returned
value. So the end result is that the value from defaultPlaybackRate is overwritten by
the default value of 1 in MediaPlayer.

Rather than caching the requested rate in MediaPlayer, cache the value reported by
MediaPlayer inside HTMLMediaElement. And instead of returning the reported playback
rate from HTMLMediaElement.playbackRate, just return the last value set. The reported
value is still used for estimating the current time during playback.

Add MediaPlayerPrivate interface method to return the current playback rate.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_reportedPlaybackRate.
(WebCore::HTMLMediaElement::effectivePlaybackRate): Return m_reportedPlaybackRate.
(WebCore::HTMLMediaElement::requestedPlaybackRate): Return m_playbackRate.
(WebCore::HTMLMediaElement::updatePlaybackRate): Use requestedPlaybackRate() instead

of effectivePlaybackRate();

(WebCore::HTMLMediaElement::ended): Ditto.
(WebCore::HTMLMediaElement::playbackProgressTimerFired): Ditto.
(WebCore::HTMLMediaElement::endedPlayback): Ditto.
(WebCore::HTMLMediaElement::updatePlayState): Ditto.
(WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Ditto.
(WebCore::HTMLMediaElement::mediaPlayerRateChanged): Set m_reportedPlaybackRate.
(WebCore::HTMLMediaElement::mediaPlayerRequestedPlaybackRate): Return

requestedPlaybackRate() if playing and 0 if not.

  • html/HTMLMediaElement.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::MediaPlayer): Removed m_rate.
(WebCore::MediaPlayer::rate): Pass to MediaPlayerPrivate.
(WebCore::MediaPlayer::setRate): Do not cache the rate.
(WebCore::MediaPlayer::requestedRate): Added; ask HTMLMediaElement.

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerRequestedPlaybackRate): Added.

  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::rate): Added.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):

Do not cache the requested rate.

(WebCore::MediaPlayerPrivateAVFoundation::requestedRate): Pass to MediaPlayer.
(WebCore::MediaPlayerPrivateAVFoundation::setRate): Deleted.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:

(WebCore::MediaPlayerPrivateAVFoundation::requestedRate): Deleted.

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

(WebCore::MediaPlayerPrivateAVFoundationCF::setRate): Renamed from updateRate.
(WebCore::MediaPlayerPrivateAVFoundationCF::rate): Fetch the rate from the player.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::setRateDouble): Renamed from updateRate.
(WebCore::MediaPlayerPrivateAVFoundationObjC::rate): Fetch the rate from the player.

  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::MediaPlayerPrivateQTKit::rate): Fetch the rate from the QTMovie.

LayoutTests:

  • media/video-defaultplaybackrate-before-load-expected.txt: Added.
  • media/video-defaultplaybackrate-before-load.html: Added.
11:53 AM Changeset in webkit [178366] by andersca@apple.com
  • 3 edits
    4 adds in trunk/Source/WebKit2

Begin stubbing out a per page process lifetime tracker object
https://bugs.webkit.org/show_bug.cgi?id=140399

Reviewed by Beth Dakin.

This will make it easier for certain objects that track a set of web page proxy objects
(user content controller, visited link provider, data store) to be notified when their
underlying processes come and go.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessLifetimeObserver.cpp: Added.
  • UIProcess/WebProcessLifetimeObserver.h: Added.
  • UIProcess/WebProcessLifetimeTracker.cpp: Added.

(WebKit::WebProcessLifetimeTracker::WebProcessLifetimeTracker):
(WebKit::WebProcessLifetimeTracker::~WebProcessLifetimeTracker):
(WebKit::WebProcessLifetimeTracker::addObserver):
(WebKit::WebProcessLifetimeTracker::removeObserver):

  • UIProcess/WebProcessLifetimeTracker.h: Added.
  • WebKit2.xcodeproj/project.pbxproj:
11:42 AM Changeset in webkit [178365] by ggaren@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Out of bounds access in BytecodeGenerator::emitGetById under DotAccessorNode::emitBytecode
https://bugs.webkit.org/show_bug.cgi?id=140397

Reviewed by Geoffrey Garen.

Patch by Alexey Proskuryakov.

Reviewed, performance tested, and ChangeLogged by Geoffrey Garen.

No performance change.

No test, since this is a small past-the-end read, which is very
difficult to turn into a reproducible failing test -- and existing tests
crash reliably using ASan.

  • bytecompiler/NodesCodegen.cpp:

(JSC::BracketAccessorNode::emitBytecode):
(JSC::DotAccessorNode::emitBytecode):
(JSC::FunctionCallBracketNode::emitBytecode):
(JSC::PostfixNode::emitResolve):
(JSC::DeleteBracketNode::emitBytecode):
(JSC::DeleteDotNode::emitBytecode):
(JSC::PrefixNode::emitResolve):
(JSC::UnaryOpNode::emitBytecode):
(JSC::BitwiseNotNode::emitBytecode):
(JSC::BinaryOpNode::emitBytecode):
(JSC::EqualNode::emitBytecode):
(JSC::StrictEqualNode::emitBytecode):
(JSC::ThrowableBinaryOpNode::emitBytecode):
(JSC::AssignDotNode::emitBytecode):
(JSC::AssignBracketNode::emitBytecode): Use RefPtr in more places. Any
register used across a call to a function that might allocate a new
temporary register must be held in a RefPtr.

9:46 AM Changeset in webkit [178364] by msaboff@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Local JSArray* "keys" in objectConstructorKeys() is not marked during garbage collection
https://bugs.webkit.org/show_bug.cgi?id=140348

Reviewed by Mark Lam.

We used to read registers in MachineThreads::gatherFromCurrentThread(), but that is too late
because those registers may have been spilled on the stack and replaced with other values by
the time we call down to gatherFromCurrentThread().

Now we get the register contents at the same place that we demarcate the current top of
stack using the address of a local variable, in Heap::markRoots(). The register contents
buffer is passed along with the demarcation pointer. These need to be done at this level
in the call tree and no lower, as markRoots() calls various functions that visit object
pointers that may be latter proven dead. Any of those pointers that are left on the
stack or in registers could be incorrectly marked as live if we scan the stack contents
from a called function or one of its callees. The stack demarcation pointer and register
saving need to be done in the same function so that we have a consistent stack, active
and spilled registers.

Because we don't want to make unnecessary calls to get the register contents, we use
a macro to allocated, and possibly align, the register structure and get the actual
register contents.

  • heap/Heap.cpp:

(JSC::Heap::markRoots):
(JSC::Heap::gatherStackRoots):

  • heap/Heap.h:
  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::gatherFromCurrentThread):
(JSC::MachineThreads::gatherConservativeRoots):

  • heap/MachineStackMarker.h:
8:59 AM Changeset in webkit [178363] by akling@apple.com
  • 3 edits
    2 adds in trunk

Element::normalizeAttributes() needs to handle arbitrary JS executing between loop iterations.
<https://webkit.org/b/140379>
<rdar://problem/19446901>

Reviewed by Benjamin Poulain.

Source/WebCore:

Since DOM mutation events may arise below the call to Node::normalize(),
have the loop in Element::normalizeAttributes() make a copy of the Attr nodes
beforehand, to guard against mutations.

Based on a patch by Chris "Chris Dumez" Dumez.

Test: fast/dom/Element/normalize-crash2.html

  • dom/Element.cpp:

(WebCore::Element::normalizeAttributes):

LayoutTests:

  • fast/dom/Element/normalize-crash2-expected.txt: Added.
  • fast/dom/Element/normalize-crash2.html: Added.
5:14 AM Changeset in webkit [178362] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests

AX: [ATK] Mark accessibility/table-with-footer-section-above-body.html as a suitable test for EFL and GTK
https://bugs.webkit.org/show_bug.cgi?id=140355

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2015-01-13
Reviewed by Chris Fleizach.

The test shows the text contents of an AccessibilityTableCell object using tableCell.childAtIndex(0).stringValue.
In the case of ATK childAtIndex(0) returns a non-empty object, but it is not the ATK_OBJECT,
so the stringValue produces an empty string.
To avoid this, the cell text content is obtained by direct reading of stringValue of TableCell.

  • accessibility/table-with-footer-section-above-body.html:

This test is also suitable for EFL and GTK port.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
4:58 AM Changeset in webkit [178361] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Fix test expectations after r178310.
https://bugs.webkit.org/show_bug.cgi?id=140387.

Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2015-01-13
Reviewed by Gyuyoung Kim.

Clean reference to SharedWorkers in test expecations since they were removed.

  • platform/efl/TestExpectations:
4:42 AM WebKitGTK/2.6.x edited by Carlos Garcia Campos
(diff)
4:40 AM Changeset in webkit [178360] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r178231 - Calling clearSelection on a detached RenderObject leads to segfault.
https://bugs.webkit.org/show_bug.cgi?id=140275

Reviewed by Simon Fraser.

We collect selection rects and compute selection gaps in order to
paint/clear selection. With certain content, we need to be able
to walk the tree up to a particular container to compute the selection rect.
However this container might not be available when the selection is part of a detached tree.
This is a null-check fix to ensure we don't crash in such cases, but in the long run
selection gaps and rect should be cached between two layouts so that we don't need to
keep collecting/recomputing them. Tracked here: webkit.org/b/140321

Source/WebCore:

Test: editing/selection/clearselection-on-detached-subtree-crash.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::containingBlockLogicalWidthForContent):
(WebCore::RenderBox::containingBlockLogicalHeightForContent):

  • rendering/RenderView.cpp:

(WebCore::RenderView::clearSelection):

LayoutTests:

  • editing/selection/clearselection-on-detached-subtree-crash-expected.txt: Added.
  • editing/selection/clearselection-on-detached-subtree-crash.html: Added.
4:09 AM Changeset in webkit [178359] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6

Merge r177537 - AX: Recursive crash at WebCore::accessibleNameForNode
https://bugs.webkit.org/show_bug.cgi?id=139616

Reviewed by Mario Sanchez Prada.

Source/WebCore:

An image that uses aria-labelledby to reference its own parent can lead to a recursion crash.
There needs to be some information we can pass through these methods to ensure we don't hit this case.

Test: accessibility/accessibility-description-crash.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::alternativeText):
(WebCore::AccessibilityNodeObject::textUnderElement):
(WebCore::accessibleNameForNode):
(WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityTextUnderElementMode::AccessibilityTextUnderElementMode):

LayoutTests:

  • accessibility/accessibility-description-crash-expected.txt: Added.
  • accessibility/accessibility-description-crash.html: Added.
4:05 AM Changeset in webkit [178358] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r177518 - Web Inspector: ASSERT seen closing/opening multiple inspectors
https://bugs.webkit.org/show_bug.cgi?id=139783

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-12-18
Reviewed by Timothy Hatcher.

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::nodeForObjectId):

3:55 AM Changeset in webkit [178357] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r177360 - REGRESSION (r163928): Animated GIFs are not resumed when translated into view using -webkit-transform
https://bugs.webkit.org/show_bug.cgi?id=139672
<rdar://problem/19260797>

Reviewed by Antti Koivisto.

Source/WebCore:

After r163928, animated GIFs were not resumed when translated into view
using '-webkit-transform' CSS property.

This broke animated gifs on the mobile version of weibo.com (which is
one of the most popular blogging sites in China) on iPhone. e.g.
http://m.weibo.cn/page/tpl?containerid=1005052150182731_-_WEIBO_SECOND_PROFILE_WEIBO&itemid=&title=全部微博

This patch calls FrameView::resumeVisibleImageAnimationsIncludingSubframes()
after style recalc so that we resume animated images if they become visible
after the style has changed. Doing so after layout wouldn't work because
no layout happens in this case.

Test: fast/images/animated-gif-webkit-transform.html

  • dom/Document.cpp:

(WebCore::Document::recalcStyle):

LayoutTests:

Add a layout test to verity that animated images are properly paused /
resumed when translated in and out of view using '-webkit-transform'
CSS property.

  • fast/images/animated-gif-webkit-transform-expected.txt: Added.
  • fast/images/animated-gif-webkit-transform.html: Added.
3:50 AM Changeset in webkit [178356] by Carlos Garcia Campos
  • 7 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r177302 - REGRESSION (r168217): Images are cropped out during animation at jetblue.com
https://bugs.webkit.org/show_bug.cgi?id=136410
rdar://problem/18188533

Reviewed by Dean Jackson.

During GraphicsLayer flushing, for tiled layers we can compute a visible rect using
the current state of an animation, which is obtained via the AnimationController.
If that animation was running in a subframe, AnimationController could use a stale
beginAnimationUpdateTime since no-one called its beginAnimationUpdate(). That
resulted in an incorrect computation of the visible rect, resulting in missing tiles.

There are two parts to this fix. First, add an assertion that beginAnimationUpdateTime()
is being called inside an animation update block. This required moving m_beginAnimationUpdateCount
into AnimationControllerPrivate, and changes to endAnimationUpdate().

The second is adding a AnimationUpdateBlock to getAnimatedStyleForRenderer(), which
can be called outside of style resolution. We also need some in other API functions.

Testing revealed that layout can call via layoutOverflowRectForPropagation(), suggesting
that we should have an animation batch inside FrameView::layout(). In addition, a single
resolveStyle/layout should use the same animationBeginTime, so we add a batch to
updateLayoutAndStyleIfNeededRecursive().

No test because it's timing-dependent. Existing tests exercise the new assertion.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::computeRenderStyleForProperty):

  • page/FrameView.cpp:

(WebCore::FrameView::layout):
(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):

  • page/animation/AnimationController.cpp:

(WebCore::AnimationPrivateUpdateBlock::AnimationPrivateUpdateBlock):
(WebCore::AnimationPrivateUpdateBlock::~AnimationPrivateUpdateBlock):
(WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
(WebCore::AnimationControllerPrivate::animationTimerFired):
(WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
(WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
(WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
(WebCore::AnimationControllerPrivate::beginAnimationUpdate):
(WebCore::AnimationControllerPrivate::endAnimationUpdate):
(WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
(WebCore::AnimationController::AnimationController):
(WebCore::AnimationController::notifyAnimationStarted):
(WebCore::AnimationController::pauseAnimationAtTime):
(WebCore::AnimationController::pauseTransitionAtTime):
(WebCore::AnimationController::resumeAnimationsForDocument):
(WebCore::AnimationController::startAnimationsIfNotSuspended):
(WebCore::AnimationController::beginAnimationUpdate):
(WebCore::AnimationController::endAnimationUpdate):

  • page/animation/AnimationController.h:
  • page/animation/AnimationControllerPrivate.h:
3:40 AM Changeset in webkit [178355] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r177279 - [GStreamer] the webkitwebsrc element can stale
https://bugs.webkit.org/show_bug.cgi?id=138425

Patch by Xavier Claessens <xavier.claessens@collabora.com> on 2014-12-15
Reviewed by Philippe Normand.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(removeTimeoutSources):
(webKitWebSrcStart):
(webKitWebSrcChangeState):

3:35 AM Changeset in webkit [178354] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r177263 - REGRESSION(r160182): Fragment parser doesn't close a form element with a close tag
https://bugs.webkit.org/show_bug.cgi?id=139561

Reviewed by Darin Adler.

Source/WebCore:

The bug was caused by us not setting the form pointer in insertHTMLFormElement.
Since we already avoid associating a form inside HTMLConstructionSite::createHTMLElement,
we didn't need this code at all.

Fixed the bug by partially reverting r160182.

Test: fast/dom/dom-parse-close-form.html

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::insertHTMLFormElement):
(WebCore::HTMLConstructionSite::insideTemplateElement): Deleted.

  • html/parser/HTMLConstructionSite.h:

LayoutTests:

Added a regression test.

  • fast/dom/dom-parse-close-form-expected.txt: Added.
  • fast/dom/dom-parse-close-form.html: Added.
3:28 AM Changeset in webkit [178353] by Carlos Garcia Campos
  • 2 edits
    1 add in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r177245 - shiftCountWithArrayStorage should exit to slow path if the object has a sparse map.
https://bugs.webkit.org/show_bug.cgi?id=139598
<rdar://problem/18779367>

Reviewed by Filip Pizlo.

  • runtime/JSArray.cpp:

(JSC::JSArray::shiftCountWithArrayStorage): Added check for object having a sparse map.

  • tests/stress/sparse_splice.js: Added.
3:20 AM Changeset in webkit [178352] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r177188 - Initialize m_ownsGeneratedFile when decoding a FormDataElement
https://bugs.webkit.org/show_bug.cgi?id=139566

Reviewed by Tim Horton.

No tests, because it's random, and I couldn't reproduce an assertion failure in
controlled circumstances.

  • platform/network/FormData.h: (WebCore::FormDataElement::decode): A newly created

FormDataElement by definition doesn't own the file.

3:03 AM Changeset in webkit [178351] by Carlos Garcia Campos
  • 4 edits
    4 adds in releases/WebKitGTK/webkit-2.6

Merge r177165 - InstancedArray crashes attempting to draw out of bounds
https://bugs.webkit.org/show_bug.cgi?id=139521
Source/WebCore:

Reviewed by Simon Fraser.

We were not doing index validation correctly for instancing.

Test: fast/canvas/webgl/angle-instanced-arrays-out-of-bounds.html

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::validateVertexAttributes): We need to check
the number of instances drawn against the amount of instance data that has
been provided, taking into account the number of repeats (the divisor).
(WebCore::WebGLRenderingContext::drawArrays): Added some whitespace to make it more clear.
(WebCore::WebGLRenderingContext::validateDrawElements): This needs to take a primcount
parameter so that it can correctly validate the call (when used from drawElementsInstanced).
(WebCore::WebGLRenderingContext::drawElements): New signature to validate.
(WebCore::WebGLRenderingContext::drawArraysInstanced): Rearrange this a bit. The
primcount validation is already being done by the validateDrawArrays call. Also, there
was a bogus UNUSED_PARAM hanging around.
(WebCore::WebGLRenderingContext::drawElementsInstanced): Similar rearrangement. Use
the primcount parameter.

  • html/canvas/WebGLRenderingContext.h:

LayoutTests:

<rdar://problem/17540398>

Reviewed by Simon Fraser.

This is a copy of the official webgl/1.0.3 test.

  • platform/mac-mountainlion/fast/canvas/webgl/angle-instanced-arrays-out-of-bounds-expected.txt: Added. This extension is not available on Mountain Lion.
  • fast/canvas/webgl/angle-instanced-arrays-out-of-bounds-expected.txt: Added.
  • fast/canvas/webgl/angle-instanced-arrays-out-of-bounds.html: Added.
  • fast/canvas/webgl/resources/out-of-bounds-test.js: Added.

(OutOfBoundsTest):

2:59 AM Changeset in webkit [178350] by Carlos Garcia Campos
  • 18 edits in releases/WebKitGTK/webkit-2.6/Source

Merge r177152 - REGRESSION (Async Text Input): Text input method state is not reset when reloading a page
https://bugs.webkit.org/show_bug.cgi?id=139504
rdar://problem/19034674

Reviewed by Enrica Casucci.

Source/WebCore:

Explicitly notify EditorClient when a composition is voluntarily canceled by WebCore.
These are almost certainly not all the places where this happens, but this fixes the bug,
and lays the groundwork for using this new client call instead of didChangeSelection
hacks.

  • editing/Editor.cpp:

(WebCore::Editor::clear):
(WebCore::Editor::cancelComposition):

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

(WebCore::FrameLoader::willTransitionToCommitted):

  • page/EditorClient.h:

Source/WebKit/mac:

Stub out new client calls, this patch does not attempt to make any changes on WebKit1.

  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::discardedComposition):

Source/WebKit/win:

Stub out new client calls, this patch doesn't attempt to make any changes on Windows.

  • WebCoreSupport/WebEditorClient.cpp:

(WebEditorClient::discardedComposition):

  • WebCoreSupport/WebEditorClient.h:

Source/WebKit2:

WebKit2 used to look at EditorState changes and guess when to cancel a composition.
This was quite unreliable, and needlessly complicated - WebCore knows when it decides
to destroy a composition, so it now explicitly notifies the clients.

  • UIProcess/API/mac/WKView.mm: (-[WKView _processDidExit]): Address crashing case too.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::resetStateAfterProcessExited):

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::discardedComposition):

  • WebProcess/WebCoreSupport/WebEditorClient.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didChangeSelection):
(WebKit::WebPage::discardedComposition):

  • WebProcess/WebPage/WebPage.h:
2:53 AM Changeset in webkit [178349] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix Debug Build Error in Webcore module.
https://bugs.webkit.org/show_bug.cgi?id=140383

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2015-01-13
Reviewed by Csaba Osztrogonác.

No new tests because there is no visible behavior change.

  • platform/linux/MemoryPressureHandlerLinux.cpp:

(WebCore::MemoryPressureHandler::ReliefLogger::platformLog):

2:49 AM Changeset in webkit [178348] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r177144 - [GTK] Timers might never be fired during animations
https://bugs.webkit.org/show_bug.cgi?id=139062

Reviewed by Martin Robinson.

This can happen in old/slow machines where the time to render
layers might take more than 0.016. Since the layer flush timer is
using a higher priority than WebCore timers, when scheduling all
(or several) layer flushes immediately, no other sources with
lower priority are dispatched in the main loop. We could detect if
we are scheduling layer flushes immediately for too long (100ms)
and schedule the next flush after a delay to ensure other sources
with lower priority have a chance to be dispatched. Also use a
lower priority, GDK_PRIORITY_EVENTS is too high, so we use
GDK_PRIORITY_REDRAW - 1 to ensure it's higher than WebCore timers.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::LayerTreeHostGtk): Rename
m_lastFlushTime as m_lastImmediateFlushTime.
(WebKit::LayerTreeHostGtk::layerFlushTimerFired): Save the
fireTime before calling flushAndRenderLayers() and compute the
next flush delay based on the elapsed time using monotonically
increasing time instead of current time. Use the target delay
as next flush delay if we have scheduled flushes immediately for
more than 100ms.
(WebKit::LayerTreeHostGtk::flushAndRenderLayers): Do not save the
layer flush time here, it's done in layerFlushTimerFired() so that
we don't need to keep it as a member.
(WebKit::LayerTreeHostGtk::scheduleLayerFlush): Use global
layerFlushTimerPriority.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
2:44 AM Changeset in webkit [178347] by Carlos Garcia Campos
  • 6 edits
    6 adds in releases/WebKitGTK/webkit-2.6

Merge r177135 - http://omfgdogs.info/ only animates when you resize the window
https://bugs.webkit.org/show_bug.cgi?id=139435
<rdar://problem/19190493>

Reviewed by Simon Fraser.

Source/WebCore:

After r163928, we would fail to animate a gif if:

  • it is used as a background image of a 0-height html element
  • it is used as a background image of a 0-height body element whose background is delegated to the root (because the root has no background).

This is because in such cases, shouldRepaintForImageAnimation()
should use the background rect instead of the renderer's overflow
rect to determine if the image is inside the viewport. Both cases
are addressed in this patch.

Tests: fast/images/animated-gif-body-delegated-background-image.html

fast/images/animated-gif-body-outside-viewport.html
fast/images/animated-gif-html-background-image.html

  • rendering/RenderElement.cpp:

(WebCore::shouldRepaintForImageAnimation):

  • testing/Internals.cpp:

(WebCore::Internals::hasPausedImageAnimations):

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

LayoutTests:

Add layout tests to make sure a gif image is still animated if:

  • It is used as a background image of a 0-height html element
  • It is used as a background image of a 0-height body element that is delegated to the root (because the root has no background)

Also add a layout test to make sure we still stop the gif animation
if it is used as background image of a body that is outside the
viewport.

  • fast/images/animated-gif-body-delegated-background-image-expected.txt: Added.
  • fast/images/animated-gif-body-delegated-background-image.html: Added.
  • fast/images/animated-gif-body-outside-viewport-expected.txt: Added.
  • fast/images/animated-gif-body-outside-viewport.html: Added.
  • fast/images/animated-gif-html-background-image-expected.txt: Added.
  • fast/images/animated-gif-html-background-image.html: Added.
2:43 AM WebKitGTK/2.6.x edited by tpopela@redhat.com
(diff)
2:42 AM WebKitGTK/2.4.x edited by tpopela@redhat.com
(diff)
2:37 AM WebKitGTK/2.6.x edited by tpopela@redhat.com
(diff)
2:37 AM WebKitGTK/2.4.x edited by tpopela@redhat.com
(diff)
2:32 AM Changeset in webkit [178346] by Carlos Garcia Campos
  • 6 edits
    4 adds in releases/WebKitGTK/webkit-2.6

Merge r177128 - Continuously repainting large parts of Huffington Post.
https://bugs.webkit.org/show_bug.cgi?id=139468

Reviewed by Antti Koivisto.

This patch eliminates redundant repaint requests for inlines when neither the parent
block flow nor any of the inline children are dirty.
Previously,

  1. simple line layout always recalculated inline content positions regardless of whether

the content needed relayout at all; as a result, it always triggered full repaint.

  1. inline tree layout ignored the needslayout flag on the last line and treated it dirty

(unless it broke cleanly (<div>foo<br></div>)).
This was an ancient workaround for an editing/insert use case, but it seems not to be the case anymore.

Source/WebCore:

Tests: fast/repaint/implicitly-positioned-block-repaint-complex-line-layout.html

fast/repaint/implicitly-positioned-block-repaint-simple-line-layout.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutInlineChildren):
(WebCore::RenderBlockFlow::layoutSimpleLines): Check if we need to trigger layout at all.

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

(WebCore::RenderBlockFlow::determineStartPosition): Remove the last line dirty hack. If it
happens to introduce regression, we should fix it at the caller site to make the line dirty.

LayoutTests:

  • fast/repaint/implicitly-positioned-block-repaint-complex-line-layout-expected.txt: Added.
  • fast/repaint/implicitly-positioned-block-repaint-complex-line-layout.html: Added.
  • fast/repaint/implicitly-positioned-block-repaint-simple-line-layout-expected.txt: Added.
  • fast/repaint/implicitly-positioned-block-repaint-simple-line-layout.html: Added.
  • platform/mac/fast/line-grid/line-align-right-edges-expected.txt:
2:22 AM Changeset in webkit [178345] by Carlos Garcia Campos
  • 3 edits
    6 adds in releases/WebKitGTK/webkit-2.6

Merge r177098 - REGRESSION(r164329): Input fields are not honoring the maxlength attribute
https://bugs.webkit.org/show_bug.cgi?id=139447

Reviewed by Benjamin Poulain.

Source/WebCore:

The bug was caused by String::substring being called with the selection's end offset
in the second argument instead of the selection's length in handleBeforeTextInsertedEvent.

Fixed the bug by passing the right second argument to String::substring.

Test: fast/forms/input-maxlength-inserting-in-middle.html

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):

LayoutTests:

Added regression tests.

  • fast/forms/input-maxlength-inserting-in-middle-expected.txt: Added.
  • fast/forms/input-maxlength-inserting-in-middle.html: Added.
  • fast/forms/input-maxlength-paste-clusters-in-middle-expected.txt: Added.
  • fast/forms/input-maxlength-paste-clusters-in-middle.html: Added.
  • fast/forms/input-maxlength-paste-in-middle-expected.txt: Added.
  • fast/forms/input-maxlength-paste-in-middle.html: Added.
2:19 AM Changeset in webkit [178344] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r177089 - Crash when creating CSSCalcBinaryOperation
https://bugs.webkit.org/show_bug.cgi?id=134886
rdar://problem/17663561

Reviewed by Chris Dumez.

Source/WebCore:

Test: fast/css/calc-binary-operation-crash.html

  • css/CSSCalculationValue.cpp:

(WebCore::determineCategory):

Ensure that both axis are within the addSubtractResult table.
Remove unneeded CalcOther test. The call site guarantees it doesn't happen and the normal cases would handle it anyway.
Also strengthen some asserts.

LayoutTests:

  • fast/css/calc-binary-operation-crash-expected.txt: Added.
  • fast/css/calc-binary-operation-crash.html: Added.
2:17 AM Changeset in webkit [178343] by Carlos Garcia Campos
  • 5 edits
    8 adds in releases/WebKitGTK/webkit-2.6

Merge r177050 - Scrolling to anchor tags does nothing in vertical-rl writing mode
https://bugs.webkit.org/show_bug.cgi?id=137838

Reviewed by David Hyatt.

Source/WebCore:

Scroll to a particular tag, and make sure the viewport is rendered as expected.

Tests: fast/events/scroll-to-anchor-vertical-lr-writing-mode.html

fast/events/scroll-to-anchor-vertical-writing-mode-contained-2.html
fast/events/scroll-to-anchor-vertical-writing-mode-contained.html
fast/events/scroll-to-anchor-vertical-writing-mode.html

  • page/FrameView.cpp:

(WebCore::FrameView::scrollToAnchor):

  • rendering/ScrollBehavior.cpp:
  • rendering/ScrollBehavior.h:

LayoutTests:

When we specify the behavior regarding scrolling to anchor tags, we previously had
only described behavior regarding horizontal text. When we have vertical text, we
need to switch the horizontal and vertical scrolling policies.

  • fast/events/scroll-to-anchor-vertical-lr-writing-mode-expected.html: Added.
  • fast/events/scroll-to-anchor-vertical-lr-writing-mode.html: Added.
  • fast/events/scroll-to-anchor-vertical-writing-mode-contained-2-expected.html: Added.
  • fast/events/scroll-to-anchor-vertical-writing-mode-contained-2.html: Added.
  • fast/events/scroll-to-anchor-vertical-writing-mode-contained-expected.html: Added.
  • fast/events/scroll-to-anchor-vertical-writing-mode-contained.html: Added.
  • fast/events/scroll-to-anchor-vertical-writing-mode-expected.html: Added.
  • fast/events/scroll-to-anchor-vertical-writing-mode.html: Added.
2:09 AM Changeset in webkit [178342] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6

Merge r177049 - REGRESSION(r155906): Page content disappears on Tuaw article after loading
https://bugs.webkit.org/show_bug.cgi?id=138100

Reviewed by Simon Fraser.

.:

DRT causes an extra paint which makes it impossible to test this with
an automated test.

  • ManualTests/float-layer-not-painting.html: Added.

Source/WebCore:

Test: ManualTests/float-layer-not-painting.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::insertFloatingObject): If a layout happens,
it can change whether the float's renderer has a self painting layer.
So in that case, we need to update the flag on the FloatingObject
instance for that float.

2:02 AM Changeset in webkit [178341] by Carlos Garcia Campos
  • 3 edits
    5 adds in releases/WebKitGTK/webkit-2.6

Merge r177033 - [WK2] Crash when answering notification permission request after navigating
https://bugs.webkit.org/show_bug.cgi?id=139429
<rdar://problem/18921122>

Reviewed by Andreas Kling.

Source/WebKit2:

When requesting a notification permission, navigating away and then
answering the permission, WebKit2 would crash. This is because upon
navigating, the request is cancelled and removed from the HashMaps
in NotificationPermissionRequestManager. When
didReceiveNotificationPermissionDecision() is later called, it would
look for the request identifier in m_idToOriginMap HashMap. As the
request was cancelled, HashMap::take() call would return null for
the SecurityOrigin*. This security origin pointer is then removed
from m_originToIDMap, but the code was failing to do a null check
first. Calling HashMap::remove(nullptr) would then crash.

This patch adds the missing null check and a layout test to cover
this case.

Test: http/tests/notifications/legacy/notification-request-permission-then-navigate.html

  • WebProcess/Notifications/NotificationPermissionRequestManager.cpp:

(WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):

LayoutTests:

Add layout test to cover the case where the notification permission is
requesting before navigating to a new URL and answered after the page
is navigated away.

  • http/tests/notifications/legacy/notification-request-permission-then-navigate-expected.txt: Added.
  • http/tests/notifications/legacy/notification-request-permission-then-navigate.html: Added.
  • http/tests/notifications/legacy/resources/notify-opener-done.html: Added.
  • http/tests/notifications/legacy/resources/request-permission-then-navigate.html: Added.
1:59 AM Changeset in webkit [178340] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WTF

Merge r177023 - Undefined Symbol build error "_objc_registerThreadWithCollector" when building WebKit GTK Mac OS X on Snow Leopard
https://bugs.webkit.org/show_bug.cgi?id=58737

Reviewed by Darin Adler.

Replace OS(MAC_OS_X) with PLATFORM(MAC) to prevent using
osx-specific code in WebKitGTK+ builds.

  • wtf/ThreadingPthreads.cpp:

(WTF::initializeCurrentThreadInternal):

1:58 AM WebKitGTK/2.6.x edited by Carlos Garcia Campos
(diff)
1:57 AM Changeset in webkit [178339] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6

Merge r177019 - convertToUTF8String converts null string to empty string
https://bugs.webkit.org/show_bug.cgi?id=133904

Reviewed by Carlos Garcia Campos.

Source/WebCore:

Test added to Tools/TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp

Return 0 if the string is null.

  • bindings/gobject/ConvertToUTF8String.cpp:

(convertToUTF8String):

Tools:

Test that trying to get the value of a non-existent attribute
returns 0 instead of an empty string.

  • TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp:

(WebKitDOMNodeTest::testInsertion):

1:56 AM WebKitGTK/2.6.x edited by Carlos Garcia Campos
(diff)
1:54 AM Changeset in webkit [178338] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r177016 - [GTK] LDFLAGS is ignored when running g-ir-scanner
https://bugs.webkit.org/show_bug.cgi?id=138832

Patch by Ting-Wei Lan <Ting-Wei Lan> on 2014-12-09
Reviewed by Carlos Garcia Campos.

GTK+ requires libintl on FreeBSD because there is no gettext
implementation in FreeBSD libc. In order to link to libintl, which is
not located in the default search path of the linker, we need to add
the required path via the linker command line. However, LDFLAGS is
ignored when running g-ir-scanner starting from r167873, so we have
to manually pick required flags from CMAKE_SHARED_LINKER_FLAGS and
put them in correct order to prevent g-ir-scanner from linking to
the installed version of libraries.

  • PlatformGTK.cmake:
1:53 AM Changeset in webkit [178337] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r177015 - [Media][GTK][EFL] Reduce style updates (painting) in controls
https://bugs.webkit.org/show_bug.cgi?id=137773

Reviewed by Carlos Garcia Campos.

Don't update media controls if they are not visible, and
initialize slider to a zero value.

  • Modules/mediacontrols/mediaControlsBase.js:

(Controller.prototype.createControls):
(Controller.prototype.handleDurationChange):
(Controller.prototype.updateProgress):
(Controller.prototype.updateTime):

  • Modules/mediacontrols/mediaControlsGtk.js:

(ControllerGtk.prototype.updateTime):

1:46 AM Changeset in webkit [178336] by Carlos Garcia Campos
  • 4 edits
    1 add in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r177083 - Fixes operationPutByIds such that they check that the put didn't
change the structure of the object who's property access is being
cached.
https://bugs.webkit.org/show_bug.cgi?id=139196

Reviewed by Filip Pizlo.

  • jit/JITOperations.cpp:

(JSC::operationGetByIdOptimize): changed get to getPropertySlot
(JSC::operationPutByIdStrictBuildList): saved the structure before the put.
(JSC::operationPutByIdNonStrictBuildList): ditto.
(JSC::operationPutByIdDirectStrictBuildList): ditto.
(JSC::operationPutByIdDirectNonStrictBuildList): ditto.

  • jit/Repatch.cpp:

(JSC::tryCachePutByID): fixed structure() to use the existant vm.
(JSC::tryBuildPutByIdList): Added a check that the old structure's id
is the same as the new.
(JSC::buildPutByIdList): Added an argument

  • jit/Repatch.h:

(JSC::buildPutByIdList): Added an argument

  • tests/stress/put-by-id-strict-build-list-order.js: Added.
1:43 AM Changeset in webkit [178335] by Carlos Garcia Campos
  • 20 edits
    3 adds
    1 delete in releases/WebKitGTK/webkit-2.6

Merge r176978 - Inline elements whose parents have small line-height are laid out too low
https://bugs.webkit.org/show_bug.cgi?id=139375

Reviewed by Dave Hyatt.

Source/WebCore:

This is a port of the Blink patch at
https://src.chromium.org/viewvc/blink?revision=155253&view=revision.

When laying out inline elements, we try to align leaf children's parents'
baselines across the entire line. However, if you set line-height: 0px on a
span, the entire InlineBox which represents that span will have a height of
0, and therefore be laid out entirely on the baseline. In addition, we will
try to vertically center the leaf text in the span's InlineBox, which means
the leaf text will be vertically centered on the baseline. All the other
major browsers do not have this behavior; instead, they line up the boxes
as you would expect.

This bug led to a rendering problem on the front page of the New York Times.

Here is the ChangeLog from the Blink patch:

Fix baseline position when it is outside the element's box

Specifically, we shouldn't force the baseline to be inside the element. IE
and FF don't do this, and it's incompatible with the CSS spec:

"The baseline of an 'inline-block' is the baseline of its last line box in
the normal flow, unless it has either no in-flow line boxes or if its
'overflow' property has a computed value other than 'visible', in which case
the baseline is the bottom margin edge."
-- http://www.w3.org/TR/CSS21/visudet.html#leading

It doesn't have a special case for "baseline is outside of the element's
margin box".

Test: fast/text/small-line-height.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::baselinePosition):

LayoutTests:

Add fast/text/small-line-height.html for a simple example. In addition, update
existing tests.

  • fast/forms/textfield-overflow-by-value-update-expected.txt:
  • fast/regions/cssom/client-rects-inline-complex.html:
  • fast/regions/overflow/overflow-region-inline-expected.html:
  • fast/text/small-line-height-expected.html: Added.
  • fast/text/small-line-height.html: Added.
  • platform/mac/fast/box-sizing/box-sizing-expected.png:
  • platform/mac/fast/box-sizing/box-sizing-expected.txt:
  • platform/mac/fast/forms/search-vertical-alignment-expected.png:
  • platform/mac/fast/forms/search-vertical-alignment-expected.txt:
  • platform/mac/fast/forms/textfield-overflow-by-value-update-expected.png: Removed.
  • platform/mac/fast/multicol/client-rects-expected.png:
  • platform/mac/fast/multicol/client-rects-expected.txt:
  • platform/mac/fast/multicol/client-rects-spanners-complex-expected.png:
  • platform/mac/fast/multicol/client-rects-spanners-complex-expected.txt:
  • platform/mac/fast/multicol/client-rects-spanners-expected.png:
  • platform/mac/fast/multicol/client-rects-spanners-expected.txt:
  • platform/mac/fast/multicol/layers-split-across-columns-expected.png:
  • platform/mac/fast/multicol/layers-split-across-columns-expected.txt:
  • platform/mac/fast/multicol/newmulticol/client-rects-expected.png:
  • platform/mac/fast/multicol/newmulticol/client-rects-expected.txt:
1:32 AM Changeset in webkit [178334] by Carlos Garcia Campos
  • 3 edits
    3 adds in releases/WebKitGTK/webkit-2.6

Merge r176972 - CFA wrongly assumes that a speculation for SlowPutArrayStorageShape disallows ArrayStorageShape arrays.
<https://webkit.org/b/139327>

Reviewed by Michael Saboff.

Source/JavaScriptCore:

The code generator and runtime slow paths expects otherwise. This patch fixes
CFA to match the code generator's expectation.

  • dfg/DFGArrayMode.h:

(JSC::DFG::ArrayMode::arrayModesThatPassFiltering):
(JSC::DFG::ArrayMode::arrayModesWithIndexingShapes):

LayoutTests:

  • js/dfg-slow-put-array-storage-spec-should-allow-fast-array-storage-expected.txt: Added.
  • js/dfg-slow-put-array-storage-spec-should-allow-fast-array-storage.html: Added.
  • js/script-tests/dfg-slow-put-array-storage-spec-should-allow-fast-array-storage.js: Added.

(foo):
(test):

1:24 AM WebKitGTK/2.6.x edited by Carlos Garcia Campos
(diff)
1:23 AM Changeset in webkit [178333] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r176945 - Webkit using Harfbuzz does not display Arabic script correctly
https://bugs.webkit.org/show_bug.cgi?id=136337

Patch by Doron Wloschowsky <doron_wloschowsky@scee.net> on 2014-12-08
Reviewed by Carlos Garcia Campos.

Using reinterpret_cast to convert hb_codepoint_t* into UChar*
doesn't work on big endian systems.

  • platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:

(WebCore::harfBuzzGetGlyph):

1:22 AM Changeset in webkit [178332] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore/platform/gtk/po

Merge r176944 - [as] Updated Assamese translations of WebKitGtk+
https://bugs.webkit.org/show_bug.cgi?id=137487

Patch by Nilamdyuti Goswami <nilamdyuti@gmail.com> on 2014-12-08
Reviewed by Carlos Garcia Campos.

  • as.po:
1:19 AM Changeset in webkit [178331] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r176938 - [GStreamer] Add video/flv to the list of supported mimetypes
https://bugs.webkit.org/show_bug.cgi?id=139344

Patch by Sebastian Dröge <sebastian@centricular.com> on 2014-12-08
Reviewed by Gustavo Noronha Silva.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::mimeTypeCache):
Add video/flv additional to video/x-flv to the list of supported
mimetypes. It's used on some websites, e.g.
http://www.jwplayer.com/html5/formats/

1:18 AM InspectorConsoleSelection edited by Nikita Vasilyev
(diff)
1:17 AM InspectorConsoleSelection edited by Nikita Vasilyev
(diff)
1:16 AM Changeset in webkit [178330] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r176936 - [GStreamer] Add application/x-mpegurl to the list of supported mimetypes.
https://bugs.webkit.org/show_bug.cgi?id=139343

Patch by Sebastian Dröge <sebastian@centricular.com> on 2014-12-08
Reviewed by Gustavo Noronha Silva.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::mimeTypeCache):
It's an alternative mimetype for the already supported
application/vnd.apple.mpegurl (aka HLS) and adding it
allows all streams on http://www.jwplayer.com/html5/hls/
to be played.

1:15 AM InspectorConsoleSelection edited by Nikita Vasilyev
(diff)
1:13 AM InspectorConsoleSelection edited by Nikita Vasilyev
(diff)
1:12 AM Changeset in webkit [178329] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r176931 - [TextureMapper] Normalize pattern transform for pattern compositing
https://bugs.webkit.org/show_bug.cgi?id=139374

Reviewed by Martin Robinson.

In CoordGfx/TexMapGL, pattern compositing (for background image) uses
the patternTransform shader uniform. However, current implementation
miscalculates its transform matrix. It uses simple rectToRect
transformationMatrix which produces unnormalized garbage term.
This causes unexpected behavior at the fragmentation stage in some
mobile GPUs.

It should calculate its scale based on tileSize and contentSize,
and its position based on tilePhase and contentSize.

No new tests because the bug only occurs on some mobile GPUs.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::computePatternTransformIfNeeded):

1:11 AM Changeset in webkit [178328] by Carlos Garcia Campos
  • 6 edits
    4 adds
    2 deletes in releases/WebKitGTK/webkit-2.6

Merge r176930 - [Soup][Curl] HTTP header values should be treated as latin1, not UTF-8
https://bugs.webkit.org/show_bug.cgi?id=128739

Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-12-07
Reviewed by Martin Robinson.
Source/WebCore:

Removed UTF-8 conversion of HTTP header values (SOUP and CURL).
Removed unnecessary UTF-8 conversion of HTTP header names (SOUP).
Changed conversion of HTTP method from UTF-8 to ASCII (SOUP and CURL).
Added explicit UTF-8 conversion of Content-Disposition header to compute download suggested filename.

Test: http/tests/xmlhttprequest/response-special-characters.html

  • platform/network/curl/CurlDownload.cpp:

(WebCore::CurlDownload::headerCallback): Removed header conversion.

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::headerCallback): Ditto.
(WebCore::ResourceHandleManager::initializeHandle): Changed HTTP method conversion to ASCI.

  • platform/network/soup/ResourceRequestSoup.cpp:

(WebCore::ResourceRequest::updateFromSoupMessageHeaders): Removed header conversion.
(WebCore::ResourceRequest::updateSoupMessage): Changed HTTP method conversion to ASCII.
(WebCore::ResourceRequest::toSoupMessage): Ditto.
(WebCore::ResourceRequest::updateFromSoupMessage):

  • platform/network/soup/ResourceResponseSoup.cpp:

(WebCore::ResourceResponse::updateFromSoupMessageHeaders): Rmoved header conversion.
(WebCore::ResourceResponse::platformSuggestedFilename): Added explicit conversion of contentDisposition to UTF-8.

LayoutTests:

Tests that non ascii header & reason phrase values are correctly retrieved by the web application.
headers.php script sends a response that includes non ascii header value.
not-ascii-status.php sends a response that includes non ascii reason phrase.
Removed specific gtk/efl expectations as now aligned with regular expectation.

  • http/tests/xmlhttprequest/resources/headers.php: Added.
  • http/tests/xmlhttprequest/resources/not-ascii-status.php: Added.
  • http/tests/xmlhttprequest/response-special-characters-expected.txt: Added.
  • http/tests/xmlhttprequest/response-special-characters.html: Added.
  • platform/efl/http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii-expected.txt: Removed.
  • platform/gtk/http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii-expected.txt: Removed.
1:07 AM Changeset in webkit [178327] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/LayoutTests/http/tests/multipart

Merge r176990 - REGRESSION (173394): Support for webcam is broken
https://bugs.webkit.org/show_bug.cgi?id=139313

Test by Antti Koivisto, reviewed and tweaked by Alexey Proskuryakov.

  • http/tests/multipart/multipart-image-expected.html: Added.
  • http/tests/multipart/multipart-image.html: Added.
  • http/tests/multipart/resources/multipart.php: Multiopart boundary must start on

a new line, so make it so. In newwer OS versions, CFNetwork has a workaround that
makes invalid multipart response work, which is why the test was passing locally.

1:06 AM InspectorConsoleSelection created by Nikita Vasilyev
12:54 AM Changeset in webkit [178326] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r176905 - REGRESSION (173394): Support for webcam is broken
https://bugs.webkit.org/show_bug.cgi?id=139313

Reviewed by Alexey Proskuryakov.

Source/WebKit2:

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didReceiveResponseAsync):

Don't buffer when handling multipart/x-mixed-replace. Multiple calls to didReceiveResponseAsync break assumptions.

LayoutTests:

We had no coverage for actually rendering multipart content.

  • http/tests/multipart/multipart-image-expected.html: Added.
  • http/tests/multipart/multipart-image.html: Added.
12:49 AM Changeset in webkit [178325] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r176903 - Directional single quotation marks are not rotated in vertical text
https://bugs.webkit.org/show_bug.cgi?id=138526

Source/WebCore:

Reviewed by Darin Adler.

In vertical text, directional single quotation marks are not rotated along with
the rest of the letters.

Test: fast/text/vertical-quotation-marks.html

  • platform/graphics/FontGlyphs.cpp:

(WebCore::shouldIgnoreRotation):

LayoutTests:

Compare vertical and horizontal renderings.

Reviewed by Darin Adler.

  • fast/text/vertical-quotation-marks-expected.html: Added.
  • fast/text/vertical-quotation-marks.html: Added.
12:44 AM Changeset in webkit [178324] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r176874 - Issue repaint at setUnavailablePluginIndicatorIsHidden() only when embedded object's indicator status changes.
https://bugs.webkit.org/show_bug.cgi?id=139311

Reviewed by Tim Horton.

Not testable.

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::setUnavailablePluginIndicatorIsHidden):

12:44 AM WebKitGTK/2.6.x edited by Carlos Garcia Campos
(diff)
12:32 AM Changeset in webkit [178323] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r176824 - REGRESSION(r173188): Text inserted when trying to delete a word from the Twitter message box.
<https://webkit.org/b/139076>

Reviewed by Geoffrey Garen.

The StringImpl* -> Weak<JSString> cache used by the DOM bindings
had a bug where the key could become a stale pointer if the cached
JSString had its internal StringImpl atomicized.

If a new StringImpl was then later constructed at the exact same
address as the stale key, before the Weak<JSString> got booted out
of the string cache, we'd now have a situation where asking the
string cache for that key would return the old JSString.

Solve this by not allowing JSString::toExistingAtomicString() to
change the JSString's internal StringImpl unless it's resolving a
rope string. (The StringImpl nullity determines rope state.)

This means that calling toExistingAtomicString() may now have to
query the AtomicString table on each call rather than just once.
All clients of this API would be forced to do this regardless,
since they return value will be used to key into containers with
AtomicStringImpl* keys.

No test because this relies on malloc putting two StringImpls
at the same address at different points in time and we have no
mechanism to reliably test that.

  • runtime/JSString.h:

(JSC::JSString::toExistingAtomicString):

12:15 AM Changeset in webkit [178322] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r176818 - REGRESSION (r173468): Cannot step in WebInspector
https://bugs.webkit.org/show_bug.cgi?id=139260

Reviewed by Alexey Proskuryakov.

Inspector defers all loads and starts a nested runloop when it hits a breakpoint. When continuing it undefers the loads.
If the script execution was triggered from the didFinishLoading callback of the main resource then the main resource would
already be in the finished state in the network process side and setDefersLoading(false) message would end up restarting its load.
Since loads are not meant to restart the generated callbacks would assert or crash the web process when handled in the next
nested inspector runloop.

Fix by taking care that cleaned up NetworkResourceLoaders are always removed from the loader map of
the NetworkConnectionToWebProcess and so can't end up handling late messages.

No test, this requires JS debugger to trigger.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::didCleanupResourceLoader):

This is now the only way to remove resource loaders.
It is called from NetworkResourceLoader::cleanup only.

(WebKit::NetworkConnectionToWebProcess::didClose):
(WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier):

Calling abort removes the resource loader (since it calls cleanup) so no need to do it explicitly anymore.

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::start):

We are guaranteed to be reffed by NetworkConnectionToWebProcess until cleanup so the explicit ref/deref can be removed.

(WebKit::NetworkResourceLoader::cleanup):

Call to NetworkConnectionToWebProcess::didCleanupResourceLoader to make the loader unreachable.

  • NetworkProcess/NetworkResourceLoader.h:

(WebKit::NetworkResourceLoader::identifier):

12:14 AM Changeset in webkit [178321] by Carlos Garcia Campos
  • 4 edits
    6 adds in releases/WebKitGTK/webkit-2.6

Merge r176816 - Groove/inset/outset borders show solid if the color is black
https://bugs.webkit.org/show_bug.cgi?id=58608

Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/borders/mixed-border-style2.html

This patch will lighten/darken the border side colors, handling
border decoration in a similar way as Firefox does.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::drawLineForBoxSide):
(WebCore::RenderObject::calculateBorderStyleColor):

  • rendering/RenderObject.h:

LayoutTests:

  • fast/borders/mixed-border-style2.html: Added.
  • platform/mac-mavericks/fast/borders/mixed-border-style2-expected.png: Added.
  • platform/mac-mavericks/fast/borders/mixed-border-style2-expected.txt: Added.
12:05 AM Changeset in webkit [178320] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6/Source

Merge r176803 - Serialization of MapData object provides unsafe access to internal types
https://bugs.webkit.org/show_bug.cgi?id=138653

Patch by Oliver Hunt <oliver@apple.com> on 2014-12-04
Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Converting these ASSERTs into RELEASE_ASSERTs, as it is now obvious
that despite trying hard to be safe in all cases it's simply to easy
to use an iterator in an unsafe state.

  • runtime/MapData.h:

(JSC::MapData::const_iterator::key):
(JSC::MapData::const_iterator::value):

Source/WebCore:

We now keep the value portion of the key/value pair in MapData as a
separate stack. This allows us to maintain the spec semantic of
"atomic" serialisation of the key/value pair without retaining the
use of a potentially invalid iterator.

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::serialize):

12:00 AM Changeset in webkit [178319] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6

Merge r176787 - can not find cairo-gl.h when build webkit with gtk on ubuntu 14.04
https://bugs.webkit.org/show_bug.cgi?id=136576

Reviewed by Carlos Garcia Campos.

CMake should complain if Accelerated 2D Canvas is explicitly
enabled but cairo-gl is not found.

  • Source/cmake/OptionsGTK.cmake:

Jan 12, 2015:

11:58 PM Changeset in webkit [178318] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r176768 - List markers in RTL languages do not draw the first character.
https://bugs.webkit.org/show_bug.cgi?id=139244

Reviewed by Simon Fraser.

Source/WebCore:

Off-by-one error when reversing the string (from LTR to RTL)

Test: fast/lists/rtl-marker.html

  • rendering/RenderListMarker.cpp:

(WebCore::RenderListMarker::paint):

LayoutTests:

  • fast/lists/rtl-marker-expected.html: Added.
  • fast/lists/rtl-marker.html: Added.
11:54 PM Changeset in webkit [178317] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r176750 - ASSERTION: RenderMultiColumnFlowThread::processPossibleSpannerDescendant() when column spanner's parent is not a RenderBlockFlow.
https://bugs.webkit.org/show_bug.cgi?id=139188
rdar://problem/18502182

Reviewed by David Hyatt.

This patch ensures that the validation check for spanner in isValidColumnSpanner() is in synch
with the expectation in RenderMultiColumnFlowThread::processPossibleSpannerDescendant().
(descendant's parent is expected to be a RenderBlockFlow)

Source/WebCore:

Test: fast/multicol/svg-content-as-column-spanner-crash.html

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::isValidColumnSpanner):

LayoutTests:

  • fast/multicol/svg-content-as-column-spanner-crash-expected.txt: Added.
  • fast/multicol/svg-content-as-column-spanner-crash.html: Added.
10:23 PM Changeset in webkit [178316] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][GTK] Fix build after r178309
https://bugs.webkit.org/show_bug.cgi?id=140381

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-01-12
Reviewed by Gyuyoung Kim.

  • TestWebKitAPI/CMakeLists.txt: Added the API directory
9:18 PM Changeset in webkit [178315] by jonowells@apple.com
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Timeline: when Network Requests view is selected, in progress requests are absent.
https://bugs.webkit.org/show_bug.cgi?id=140090

Reviewed by Timothy Hatcher.

TimelineContentView#_updateTimes() changed to call WebInspector.timelineSidebarPanel.updateFilter() in addition
to updating the layout of the current timeline view. TimelineSidebarPanel.updateFilter() now responsible for
updating filtered resources in a TimelineView.

  • UserInterface/Views/NavigationSidebarPanel.js:

(WebInspector.NavigationSidebarPanel.prototype._updateFilter):
Now handles updating the UI associated with filtering of navigation sidebar tree elements.

  • UserInterface/Views/OverviewTimelineView.js:

(WebInspector.OverviewTimelineView.prototype.updateLayout):
No longer handles updating other UI along with the navigation sidebar tree elements. That is now handled by
WebInspector.TimelineView.prototype.filterUpdated.
(WebInspector.OverviewTimelineView.prototype._compareTreeElementsByDetails): Drive-by fix. Missing vars.

  • UserInterface/Views/TimelineContentView.js:

(WebInspector.TimelineContentView.prototype._updateTimes): Add call to updateFilter().

  • UserInterface/Views/TimelineView.js:

(WebInspector.TimelineView.prototype.filterUpdated):
Function added to dispatch a SelectionPathComponentsDidChange event.

7:26 PM Changeset in webkit [178314] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix a typo in r178313

  • contentextensions/URLFilterParser.cpp:

(WebCore::ContentExtensions::GraphBuilder::atomPatternCharacter):

5:37 PM Changeset in webkit [178313] by benjamin@webkit.org
  • 10 edits
    2 adds in trunk/Source

Add basic pattern matching support to the url filters
https://bugs.webkit.org/show_bug.cgi?id=140283

Reviewed by Andreas Kling.

Source/JavaScriptCore:

Make YarrParser.h private in order to use it from WebCore.

Source/WebCore:

This patch adds some basic generic pattern support for the url filters
of ContentExtensions.

Instead of writting a new parser, I re-used Gavin's parser for JavaScript
RegExp.

This patch only implements the very basic stuffs: transition on any character
and repetition.

  • WebCore.xcodeproj/project.pbxproj:
  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList):
Use the new parser.

  • contentextensions/DFA.cpp:

(WebCore::ContentExtensions::DFA::DFA):
(WebCore::ContentExtensions::printRange):
(WebCore::ContentExtensions::printTransition):
(WebCore::ContentExtensions::DFA::debugPrintDot):

  • contentextensions/NFA.cpp:

(WebCore::ContentExtensions::printRange):
(WebCore::ContentExtensions::printTransition):
(WebCore::ContentExtensions::NFA::debugPrintDot):
The graphs generated with the extended patterns are vastly more complicated
than the old prefix matcher.
I changed the debug output to have a single link between any two nodes
instead of one per transition. This makes the graph a little more manageable.

  • contentextensions/NFA.cpp:

(WebCore::ContentExtensions::NFA::addTransition):
(WebCore::ContentExtensions::NFA::addEpsilonTransition):
(WebCore::ContentExtensions::NFA::graphSize):
(WebCore::ContentExtensions::NFA::restoreToGraphSize):

  • contentextensions/NFA.h:
  • contentextensions/NFANode.h:

(WebCore::ContentExtensions::epsilonClosure):
The new parser can generate transitions back to the root node of index zero.
All the hash structures had to be updated to support this kind of key.

  • contentextensions/NFAToDFA.cpp:

(WebCore::ContentExtensions::HashableNodeIdSetHash::hash):
Two tiny improvements:
-Don't hash zero to zero, it causes more conflicts that needed.
-The hash operation must use a commutative operation, otherwise the order

of elements can affect the hash, which is undesired for a set.

I'll improve this further later.

(WebCore::ContentExtensions::NFAToDFA::convert):

  • contentextensions/URLFilterParser.cpp: Added.

(WebCore::ContentExtensions::GraphBuilder::GraphBuilder):
(WebCore::ContentExtensions::GraphBuilder::m_lastAtom):
(WebCore::ContentExtensions::GraphBuilder::finalize):
(WebCore::ContentExtensions::GraphBuilder::errorMessage):
(WebCore::ContentExtensions::GraphBuilder::atomPatternCharacter):
(WebCore::ContentExtensions::GraphBuilder::atomBuiltInCharacterClass):
(WebCore::ContentExtensions::GraphBuilder::quantifyAtom):
(WebCore::ContentExtensions::GraphBuilder::atomBackReference):
(WebCore::ContentExtensions::GraphBuilder::atomCharacterClassAtom):
(WebCore::ContentExtensions::GraphBuilder::assertionBOL):
(WebCore::ContentExtensions::GraphBuilder::assertionEOL):
(WebCore::ContentExtensions::GraphBuilder::assertionWordBoundary):
(WebCore::ContentExtensions::GraphBuilder::atomCharacterClassBegin):
(WebCore::ContentExtensions::GraphBuilder::atomCharacterClassRange):
(WebCore::ContentExtensions::GraphBuilder::atomCharacterClassBuiltIn):
(WebCore::ContentExtensions::GraphBuilder::atomCharacterClassEnd):
(WebCore::ContentExtensions::GraphBuilder::atomParenthesesSubpatternBegin):
(WebCore::ContentExtensions::GraphBuilder::atomParentheticalAssertionBegin):
(WebCore::ContentExtensions::GraphBuilder::atomParenthesesEnd):
(WebCore::ContentExtensions::GraphBuilder::disjunction):
(WebCore::ContentExtensions::GraphBuilder::hasError):
(WebCore::ContentExtensions::GraphBuilder::fail):
(WebCore::ContentExtensions::URLFilterParser::parse):

  • contentextensions/URLFilterParser.h:

(WebCore::ContentExtensions::URLFilterParser::hasError):
(WebCore::ContentExtensions::URLFilterParser::errorMessage):

5:20 PM Changeset in webkit [178312] by clopez@igalia.com
  • 2 edits in trunk/Source/WebKit2

[CMake] Unreviewed build fix after r178309.

  • CMakeLists.txt: Rename moved files at r178309.
5:04 PM Changeset in webkit [178311] by ggaren@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Out of bounds read in IdentifierArena::makeIdentifier
https://bugs.webkit.org/show_bug.cgi?id=140376

Patch by Alexey Proskuryakov.

Reviewed and ChangeLogged by Geoffrey Garen.

No test, since this is a small past-the-end read, which is very
difficult to turn into a reproducible failing test -- and existing tests
crash reliably using ASan.

  • parser/ParserArena.h:

(JSC::IdentifierArena::makeIdentifier):
(JSC::IdentifierArena::makeIdentifierLCharFromUChar): Check for a
zero-length string input, like we do in the literal parser, since it is
not valid to dereference characters in a zero-length string.

A zero-length string is allowed in JavaScript -- for example, "".

4:40 PM Changeset in webkit [178310] by weinig@apple.com
  • 82 edits
    116 deletes in trunk

Remove support for SharedWorkers
https://bugs.webkit.org/show_bug.cgi?id=140344

Reviewed by Anders Carlsson.

.:

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsMac.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • CMakeLists.txt:
  • Configurations/FeatureDefines.xcconfig:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • PlatformGTK.cmake:
  • PlatformMac.cmake:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/generic/RuntimeEnabledFeatures.cpp:

(WebCore::RuntimeEnabledFeatures::sharedWorkerEnabled): Deleted.

  • bindings/generic/RuntimeEnabledFeatures.h:
  • bindings/js/JSBindingsAllInOne.cpp:
  • bindings/js/JSDOMWindowCustom.cpp:
  • bindings/js/JSSharedWorkerCustom.cpp: Removed.
  • bindings/js/JSWorkerGlobalScopeBase.cpp:

(WebCore::toJSWorkerGlobalScope):
(WebCore::toJSSharedWorkerGlobalScope): Deleted.

  • bindings/js/JSWorkerGlobalScopeBase.h:
  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::initScript):

  • bindings/scripts/IDLAttributes.txt:
  • bindings/scripts/preprocess-idls.pl:
  • dom/Document.cpp:

(WebCore::Document::prepareForDestruction):

  • dom/EventTarget.h:
  • dom/EventTargetFactory.in:
  • history/PageCache.cpp:

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

  • loader/FrameLoader.cpp:
  • page/SecurityOrigin.h:

(WebCore::SecurityOrigin::canAccessLocalStorage):
(WebCore::SecurityOrigin::canAccessSharedWorkers): Deleted.

  • platform/FeatureCounterKeys.h:
  • platform/PlatformStrategies.h:

(WebCore::PlatformStrategies::PlatformStrategies):
(WebCore::PlatformStrategies::sharedWorkerStrategy): Deleted.

  • workers/DefaultSharedWorkerRepository.cpp: Removed.
  • workers/DefaultSharedWorkerRepository.h: Removed.
  • workers/SharedWorker.cpp: Removed.
  • workers/SharedWorker.h: Removed.
  • workers/SharedWorker.idl: Removed.
  • workers/SharedWorkerGlobalScope.cpp: Removed.
  • workers/SharedWorkerGlobalScope.h: Removed.
  • workers/SharedWorkerGlobalScope.idl: Removed.
  • workers/SharedWorkerRepository.cpp: Removed.
  • workers/SharedWorkerRepository.h: Removed.
  • workers/SharedWorkerStrategy.h: Removed.
  • workers/SharedWorkerThread.cpp: Removed.
  • workers/SharedWorkerThread.h: Removed.
  • workers/WorkerGlobalScope.h:

(WebCore::WorkerGlobalScope::isSharedWorkerGlobalScope): Deleted.

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:
  • WebCoreSupport/WebPlatformStrategies.h:
  • WebCoreSupport/WebPlatformStrategies.mm:

(WebPlatformStrategies::createSharedWorkerStrategy): Deleted.

Source/WebKit/win:

  • WebCoreSupport/WebPlatformStrategies.cpp:

(WebPlatformStrategies::createSharedWorkerStrategy): Deleted.

  • WebCoreSupport/WebPlatformStrategies.h:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
  • NetworkProcess/NetworkProcessPlatformStrategies.cpp:

(WebKit::NetworkProcessPlatformStrategies::createSharedWorkerStrategy): Deleted.

  • NetworkProcess/NetworkProcessPlatformStrategies.h:
  • WebKit2Prefix.h:
  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::createSharedWorkerStrategy): Deleted.
(WebKit::WebPlatformStrategies::isAvailable): Deleted.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

Remove shared worker specific tests and update others to remove references to shared workers.

  • fast/constructors/constructor-as-function-crash-expected.txt:
  • fast/constructors/constructor-as-function-crash.html:
  • fast/dom/call-a-constructor-as-a-function-expected.txt:
  • fast/dom/call-a-constructor-as-a-function.html:
  • fast/workers/resources/create-shared-worker-frame.html: Removed.
  • fast/workers/resources/shared-worker-common.js: Removed.
  • fast/workers/resources/shared-worker-count-connections.js: Removed.
  • fast/workers/resources/shared-worker-create-common.js: Removed.
  • fast/workers/resources/shared-worker-exception.js: Removed.
  • fast/workers/resources/shared-worker-iframe.html: Removed.
  • fast/workers/resources/shared-worker-lifecycle.js: Removed.
  • fast/workers/resources/shared-worker-name.js: Removed.
  • fast/workers/resources/shared-worker-script-error.js: Removed.
  • fast/workers/shared-worker-constructor-expected.txt: Removed.
  • fast/workers/shared-worker-constructor.html: Removed.
  • fast/workers/shared-worker-context-gc-expected.txt: Removed.
  • fast/workers/shared-worker-context-gc.html: Removed.
  • fast/workers/shared-worker-event-listener-expected.txt: Removed.
  • fast/workers/shared-worker-event-listener.html: Removed.
  • fast/workers/shared-worker-exception-expected.txt: Removed.
  • fast/workers/shared-worker-exception.html: Removed.
  • fast/workers/shared-worker-frame-lifecycle-expected.txt: Removed.
  • fast/workers/shared-worker-frame-lifecycle.html: Removed.
  • fast/workers/shared-worker-gc-expected.txt: Removed.
  • fast/workers/shared-worker-gc.html: Removed.
  • fast/workers/shared-worker-in-iframe-expected.txt: Removed.
  • fast/workers/shared-worker-in-iframe.html: Removed.
  • fast/workers/shared-worker-lifecycle-expected.txt: Removed.
  • fast/workers/shared-worker-lifecycle.html: Removed.
  • fast/workers/shared-worker-load-error-expected.txt: Removed.
  • fast/workers/shared-worker-load-error.html: Removed.
  • fast/workers/shared-worker-location-expected.txt: Removed.
  • fast/workers/shared-worker-location.html: Removed.
  • fast/workers/shared-worker-messageevent-source-expected.txt: Removed.
  • fast/workers/shared-worker-messageevent-source.html: Removed.
  • fast/workers/shared-worker-name-expected.txt: Removed.
  • fast/workers/shared-worker-name.html: Removed.
  • fast/workers/shared-worker-navigator-expected.txt: Removed.
  • fast/workers/shared-worker-navigator.html: Removed.
  • fast/workers/shared-worker-replace-global-constructor-expected.txt: Removed.
  • fast/workers/shared-worker-replace-global-constructor.html: Removed.
  • fast/workers/shared-worker-replace-self-expected.txt: Removed.
  • fast/workers/shared-worker-replace-self.html: Removed.
  • fast/workers/shared-worker-script-error-expected.txt: Removed.
  • fast/workers/shared-worker-script-error.html: Removed.
  • fast/workers/shared-worker-shared-expected.txt: Removed.
  • fast/workers/shared-worker-shared.html: Removed.
  • fast/workers/shared-worker-simple-expected.txt: Removed.
  • fast/workers/shared-worker-simple.html: Removed.
  • fast/workers/shared-worker-storagequota-query-usage-expected.txt: Removed.
  • fast/workers/shared-worker-storagequota-query-usage.html: Removed.
  • fast/workers/worker-crash-with-invalid-location-expected.txt:
  • fast/workers/worker-crash-with-invalid-location.html:
  • http/tests/resources/js-test-pre.js:

(startWorker):
(.worker.port.onmessage): Deleted.
(.self.onconnect.workerPort.onmessage): Deleted.
(.self.onconnect): Deleted.

  • http/tests/security/contentSecurityPolicy/resources/shared-worker-make-xhr.js: Removed.
  • http/tests/security/contentSecurityPolicy/shared-worker-connect-src-allowed-expected.txt: Removed.
  • http/tests/security/contentSecurityPolicy/shared-worker-connect-src-allowed.html: Removed.
  • http/tests/security/contentSecurityPolicy/shared-worker-connect-src-blocked-expected.txt: Removed.
  • http/tests/security/contentSecurityPolicy/shared-worker-connect-src-blocked.html: Removed.
  • http/tests/security/cross-origin-shared-worker-allowed-expected.txt: Removed.
  • http/tests/security/cross-origin-shared-worker-allowed.html: Removed.
  • http/tests/security/cross-origin-shared-worker-expected.txt: Removed.
  • http/tests/security/cross-origin-shared-worker.html: Removed.
  • http/tests/security/resources/cross-origin-iframe-for-shared-worker.html: Removed.
  • http/tests/security/resources/iframe-for-storage-blocking-changed-shared-worker.html: Removed.
  • http/tests/security/resources/shared-worker.js: Removed.
  • http/tests/security/same-origin-shared-worker-blocked-expected.txt: Removed.
  • http/tests/security/same-origin-shared-worker-blocked.html: Removed.
  • http/tests/security/storage-blocking-loosened-shared-worker-expected.txt: Removed.
  • http/tests/security/storage-blocking-loosened-shared-worker.html: Removed.
  • http/tests/security/storage-blocking-strengthened-shared-worker-expected.txt: Removed.
  • http/tests/security/storage-blocking-strengthened-shared-worker.html: Removed.
  • http/tests/websocket/tests/hybi/workers/close-in-shared-worker-expected.txt: Removed.
  • http/tests/websocket/tests/hybi/workers/close-in-shared-worker.html: Removed.
  • http/tests/websocket/tests/hybi/workers/shared-worker-simple-expected.txt: Removed.
  • http/tests/websocket/tests/hybi/workers/shared-worker-simple.html: Removed.
  • http/tests/workers/shared-worker-importScripts-expected.txt: Removed.
  • http/tests/workers/shared-worker-importScripts.html: Removed.
  • http/tests/workers/shared-worker-invalid-url-expected.txt: Removed.
  • http/tests/workers/shared-worker-invalid-url.html: Removed.
  • http/tests/workers/shared-worker-redirect-expected.txt: Removed.
  • http/tests/workers/shared-worker-redirect.html: Removed.
  • http/tests/xmlhttprequest/workers/resources/shared-worker-create.js: Removed.
  • http/tests/xmlhttprequest/workers/shared-worker-access-control-basic-get-fail-non-simple-expected.txt: Removed.
  • http/tests/xmlhttprequest/workers/shared-worker-access-control-basic-get-fail-non-simple.html: Removed.
  • http/tests/xmlhttprequest/workers/shared-worker-close-expected.txt: Removed.
  • http/tests/xmlhttprequest/workers/shared-worker-close.html: Removed.
  • http/tests/xmlhttprequest/workers/shared-worker-methods-async-expected.txt: Removed.
  • http/tests/xmlhttprequest/workers/shared-worker-methods-async.html: Removed.
  • http/tests/xmlhttprequest/workers/shared-worker-methods-expected.txt: Removed.
  • http/tests/xmlhttprequest/workers/shared-worker-methods.html: Removed.
  • http/tests/xmlhttprequest/workers/shared-worker-referer-expected.txt: Removed.
  • http/tests/xmlhttprequest/workers/shared-worker-referer.html: Removed.
  • http/tests/xmlhttprequest/workers/shared-worker-xhr-file-not-found-expected.txt: Removed.
  • http/tests/xmlhttprequest/workers/shared-worker-xhr-file-not-found.html: Removed.
  • js/dom/constructor-length.html:
  • js/dom/global-constructors-attributes-expected.txt:
  • js/dom/global-constructors-attributes-shared-worker-expected.txt: Removed.
  • js/dom/global-constructors-attributes-shared-worker.html: Removed.
  • platform/efl/http/tests/xmlhttprequest/workers/shared-worker-methods-async-expected.txt: Removed.
  • platform/efl/http/tests/xmlhttprequest/workers/shared-worker-methods-expected.txt: Removed.
  • platform/efl/js/dom/constructor-length-expected.txt:
  • platform/efl/js/dom/global-constructors-attributes-expected.txt:
  • platform/efl/js/dom/global-constructors-attributes-shared-worker-expected.txt: Removed.
  • platform/gtk/http/tests/xmlhttprequest/workers/shared-worker-methods-async-expected.txt: Removed.
  • platform/gtk/http/tests/xmlhttprequest/workers/shared-worker-methods-expected.txt: Removed.
  • platform/gtk/js/dom/constructor-length-expected.txt:
  • platform/gtk/js/dom/global-constructors-attributes-expected.txt:
  • platform/ios-sim-deprecated/fast/dom/Window/window-property-descriptors-expected.txt:
  • platform/ios-sim-deprecated/fast/js/constructor-length-expected.txt:
  • platform/ios-sim-deprecated/fast/js/global-constructors-expected.txt:
  • platform/ios-sim-deprecated/fast/workers/shared-worker-storagequota-query-usage-expected.txt: Removed.
  • platform/ios-sim-deprecated/http/tests/security/cross-origin-shared-worker-allowed-expected.txt: Removed.
  • platform/ios-sim-deprecated/http/tests/security/cross-origin-shared-worker-expected.txt: Removed.
  • platform/ios-sim-deprecated/js/dom/global-constructors-attributes-expected.txt:
  • platform/ios-sim-deprecated/storage/indexeddb/basics-shared-workers-expected.txt: Removed.
  • platform/ios-simulator/js/dom/constructor-length-expected.txt:
  • platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/js/dom/constructor-length-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
  • platform/win/fast/dom/call-a-constructor-as-a-function-expected.txt:
  • platform/win/js/dom/global-constructors-attributes-expected.txt:
  • platform/win/js/dom/global-constructors-attributes-shared-worker-expected.txt: Removed.
  • resources/js-test-pre.js:

(startWorker):
(.worker.port.onmessage): Deleted.
(.self.onconnect.workerPort.onmessage): Deleted.
(.self.onconnect): Deleted.

  • resources/js-test.js:

(startWorker):
(.worker.port.onmessage): Deleted.
(.self.onconnect.workerPort.onmessage): Deleted.
(.self.onconnect): Deleted.

  • storage/indexeddb/basics-shared-workers-expected.txt: Removed.
  • storage/indexeddb/basics-shared-workers.html: Removed.
4:35 PM Changeset in webkit [178309] by andersca@apple.com
  • 2 edits
    6 moves in trunk/Source/WebKit2

Move a couple of API files to UIProcess/API.

Rubber-stamped by Tim Horton.

  • UIProcess/API/APINavigationData.cpp: Renamed from Source/WebKit2/UIProcess/APINavigationData.cpp.
  • UIProcess/API/APINavigationData.h: Renamed from Source/WebKit2/UIProcess/APINavigationData.h.
  • UIProcess/API/APIProcessPoolConfiguration.cpp: Renamed from Source/WebKit2/UIProcess/APIProcessPoolConfiguration.cpp.
  • UIProcess/API/APIProcessPoolConfiguration.h: Renamed from Source/WebKit2/UIProcess/APIProcessPoolConfiguration.h.
  • UIProcess/API/APISession.cpp: Renamed from Source/WebKit2/UIProcess/APISession.cpp.
  • UIProcess/API/APISession.h: Renamed from Source/WebKit2/UIProcess/APISession.h.
  • WebKit2.xcodeproj/project.pbxproj:
4:35 PM Changeset in webkit [178308] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION(r178029): [GTK][EFL] Caused no-backing-for-clip-overlap test failures
https://bugs.webkit.org/show_bug.cgi?id=140336

Patch by Byungseon Shin <sun.shin@lge.com> on 2015-01-12
Reviewed by Simon Fraser.

Avoid creating childClippingMaskLayer when renderer has not border radius nor clip path.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateChildClippingStrategy):

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

[iOS][WK2] Push content bounds on layer tree commit to prevent drawing stale fixed position rects
https://bugs.webkit.org/show_bug.cgi?id=140264
<rdar://problem/18873545>

Reviewed by Benjamin Poulain.

When a resize occurs, we need to push the new content bounds to the web
process or stale fixed position rects may draw incorrectly.

As an example, suppose that WKWebView in UIProcess performs
_frameOrBoundsChanged with new view bounds.
Meanwhile, we'll switch to WebContentProcess and perform layout.
Switching back to UIProcess, _frameOrBoundsChanged calls WKWebView
_updateVisibleContentRects.
_updateVisibleContentRects calls WKContentView didUpdateVisibleRect with
the new bounds.
didUpdateVisibleRects in turn calls WebPageProxyIOS
computeCustomFixedPositionRect.
computeCustomFixedPositionRect asks for the content bounds from
PageClientImplIOS contentsSize which queries WKContentView's bounds
size. But those bounds are stale because the layer tree commit hasn't
occurred yet.

By informing the WKWebView of the updated content size on layer tree
commit, we ensure that the fixed position rects will be drawn correctly.

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _didCommitLayerTree:]): Push new content bounds to the web process.

4:30 PM Changeset in webkit [178306] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[Apple] Squelch stderr log regarding negative stroke thickness
https://bugs.webkit.org/show_bug.cgi?id=140372
<rdar://problem/19426485>

Reviewed by Eric Carlson.

No new tests because there is no visible behavior change.

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::setPlatformStrokeThickness):

4:25 PM Changeset in webkit [178305] by timothy_horton@apple.com
  • 5 edits in trunk/Source

Get rid of unnecessary reimplementations of CGFloor/Ceiling
https://bugs.webkit.org/show_bug.cgi?id=140375

Reviewed by Simon Fraser.

  • platform/mac/DragImageMac.mm:

(WebCore::widthWithFont):
(WebCore::drawAtPoint):
(WebCore::webkit_CGCeiling): Deleted.

  • platform/mac/WebVideoFullscreenHUDWindowController.mm:

(-[WebVideoFullscreenHUDWindowController windowDidLoad]):
(webkit_CGFloor): Deleted.
Delete unnecessary code, use the real CGFloor/Ceiling instead.

  • Misc/WebKitNSStringExtras.mm:

(-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]):
(webkit_CGCeiling): Deleted.
Delete unnecessary code, use the real CGFloor/Ceiling instead.

3:57 PM Changeset in webkit [178304] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

REGRESSION (r177656): Text in find-in-page yellow bouncy rectangle is not crisp
https://bugs.webkit.org/show_bug.cgi?id=140373
<rdar://problem/19447156>

Reviewed by Simon Fraser.

  • page/mac/TextIndicatorWindow.mm:

(WebCore::TextIndicatorWindow::setTextIndicator):
Expand the window margin to the nearest integer.
The window was already being pixel-snapped, but then we'd translate by
the non-integral margin when building up the layer tree.
It's OK to do this on 2x because it's fine to have the margin be bigger
than needed.

  • platform/spi/cg/CoreGraphicsSPI.h:

Add a CGCeiling to match CGFloor.

3:53 PM Changeset in webkit [178303] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Guard web thread stuff with USE(WEB_THREAD) instead of PLATFORM(IOS).

Dan pointed out that we should guard WebThreadIsLockedOrDisabled() with
USE(WEB_THREAD) to communicate our ambitions to someday have an iOS
build of WebKit that doesn't need any of that.

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::resume):

3:42 PM Changeset in webkit [178302] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Fix build for non-iOS platforms. :|

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::resume):

3:32 PM Changeset in webkit [178301] by clopez@igalia.com
  • 2 edits in trunk/Source/WebCore

[Freetype] Don't use non-scalable fonts.
https://bugs.webkit.org/show_bug.cgi?id=31931

Reviewed by Martin Robinson.

No new tests needed.

  • platform/graphics/freetype/FontCacheFreeType.cpp:

(WebCore::FontCache::createFontPlatformData): Prefer scalable fonts.

3:14 PM Changeset in webkit [178300] by akling@apple.com
  • 5 edits
    2 moves
    1 add
    7 deletes in trunk

Geolocation objects shouldn't prevent page caching.
<https://webkit.org/b/140369>

Reviewed by Joseph Pecoraro.

Source/WebCore:

Enable the code for suspend/resume of Geolocation objects on all platforms
instead of just iOS. This allows pages using geolocation to use page cache
instead of reloading on back/forward navigation.

Test: fast/history/page-cache-geolocation.html

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::Geolocation):
(WebCore::Geolocation::resetAllGeolocationPermission):
(WebCore::Geolocation::stop):
(WebCore::Geolocation::setIsAllowed):
(WebCore::Geolocation::positionChanged):
(WebCore::Geolocation::setError):

  • Modules/geolocation/Geolocation.h:

LayoutTests:

Take the existing test for this and make it not-specific-to-iOS.
Also remove a test whose only purpose was confirming that we don't cache these pages.

  • fast/dom/Geolocation/no-page-cache-expected.txt: Removed.
  • fast/dom/Geolocation/no-page-cache.html: Removed.
  • fast/dom/Geolocation/script-tests/no-page-cache.js: Removed.
  • fast/history/page-cache-geolocation-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/fast/history/page-cache-geolocation-expected.txt.
  • fast/history/page-cache-geolocation.html: Renamed from LayoutTests/platform/ios-simulator/ios/fast/history/script-tests/page-cache-geolocation.js.
  • fast/history/resources/page-cache-helper.html: Added.
  • platform/ios-sim-deprecated/iphone/fast/history/page-cache-geolocation-expected.txt: Removed.
  • platform/ios-sim-deprecated/iphone/fast/history/page-cache-geolocation.html: Removed.
  • platform/ios-sim-deprecated/iphone/fast/history/script-tests/page-cache-geolocation.js: Removed.
  • platform/ios-simulator/TestExpectations:
  • platform/ios-simulator/ios/fast/history/page-cache-geolocation.html: Removed.
2:40 PM Changeset in webkit [178299] by Manuel Rego Casasnovas
  • 1 edit
    1 add
    9 deletes in trunk/LayoutTests

Make fast/css/first-letter-skip-out-of-flow.html a ref-test
https://bugs.webkit.org/show_bug.cgi?id=140324

Reviewed by Andreas Kling.

  • fast/css/first-letter-skip-out-of-flow-expected.html: Added.
  • platform/efl/fast/css/first-letter-skip-out-of-flow-expected.png: Removed.
  • platform/efl/fast/css/first-letter-skip-out-of-flow-expected.txt: Removed.
  • platform/gtk/fast/css/first-letter-skip-out-of-flow-expected.png: Removed.
  • platform/gtk/fast/css/first-letter-skip-out-of-flow-expected.txt: Removed.
  • platform/ios-sim-deprecated/fast/css/first-letter-skip-out-of-flow-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/css/first-letter-skip-out-of-flow-expected.txt: Removed.
  • platform/mac-mountainlion/fast/css/first-letter-skip-out-of-flow-expected.txt: Removed.
  • platform/mac/fast/css/first-letter-skip-out-of-flow-expected.png: Removed.
  • platform/mac/fast/css/first-letter-skip-out-of-flow-expected.txt: Removed.
2:30 PM Changeset in webkit [178298] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Log navigation types using DiagnosticLoggingClient
https://bugs.webkit.org/show_bug.cgi?id=140323

Reviewed by Darin Adler.

Log navigation types using DiagnosticLoggingClient to help us understand
what types of navigations are common and give us an estimate on the
total number of navigations.

  • loader/FrameLoader.cpp:

(WebCore::logNavigation):
(WebCore::FrameLoader::loadWithDocumentLoader):
(WebCore::logNavigationWithFeatureCounter): Deleted.

  • page/DiagnosticLoggingKeys.cpp:

(WebCore::DiagnosticLoggingKeys::navigationKey):

  • page/DiagnosticLoggingKeys.h:
2:02 PM Changeset in webkit [178297] by Brian Burg
  • 2 edits in trunk/Source/WebCore

Web Inspector: ASSERT under WebCore::InspectorResourceAgent::loadResource
https://bugs.webkit.org/show_bug.cgi?id=140367

Reviewed by Andreas Kling.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::loadResource): use copyRef() instead of move(),
since we check the callback after giving it to the loader client.

1:58 PM Changeset in webkit [178296] by andersca@apple.com
  • 10 edits in trunk/Source/WebCore

Move DatabaseBackend functions back to Database
https://bugs.webkit.org/show_bug.cgi?id=140368

Reviewed by Sam Weinig.

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::openAndVerifyVersion):
(WebCore::Database::close):
(WebCore::Database::performOpenAndVerify):
(WebCore::Database::scheduleTransaction):
(WebCore::Database::runTransaction):
(WebCore::Database::scheduleTransactionStep):
(WebCore::Database::inProgressTransactionCompleted):
(WebCore::Database::transactionClient):
(WebCore::Database::transactionCoordinator):

  • Modules/webdatabase/Database.h:
  • Modules/webdatabase/DatabaseBackend.cpp:

(WebCore::DatabaseBackend::openAndVerifyVersion): Deleted.
(WebCore::DatabaseBackend::performOpenAndVerify): Deleted.
(WebCore::DatabaseBackend::close): Deleted.
(WebCore::DatabaseBackend::runTransaction): Deleted.
(WebCore::DatabaseBackend::inProgressTransactionCompleted): Deleted.
(WebCore::DatabaseBackend::scheduleTransaction): Deleted.
(WebCore::DatabaseBackend::scheduleTransactionStep): Deleted.
(WebCore::DatabaseBackend::transactionClient): Deleted.
(WebCore::DatabaseBackend::transactionCoordinator): Deleted.

  • Modules/webdatabase/DatabaseBackend.h:
  • Modules/webdatabase/DatabaseThread.cpp:

(WebCore::DatabaseThread::recordDatabaseOpen):
(WebCore::DatabaseThread::recordDatabaseClosed):
(WebCore::SameDatabasePredicate::SameDatabasePredicate):
(WebCore::DatabaseThread::unscheduleDatabaseTasks):

  • Modules/webdatabase/DatabaseThread.h:
  • Modules/webdatabase/SQLTransactionBackend.cpp:

(WebCore::SQLTransactionBackend::create):
(WebCore::SQLTransactionBackend::SQLTransactionBackend):

  • Modules/webdatabase/SQLTransactionBackend.h:

(WebCore::SQLTransactionBackend::database):

1:41 PM Changeset in webkit [178295] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.15.1

New tag.

1:12 PM Changeset in webkit [178294] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Addressing post-review comment after r178292
https://bugs.webkit.org/show_bug.cgi?id=136769

Unreviewed.

  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::ensureCustomFontData):

1:07 PM Changeset in webkit [178293] by andersca@apple.com
  • 40 edits in trunk

Make delegates conform to formal delegate protocols
https://bugs.webkit.org/show_bug.cgi?id=140370

Reviewed by Dan Bernstein.

Source/WebKit/mac:

  • DefaultDelegates/WebDefaultPolicyDelegate.h:
  • WebCoreSupport/WebInspectorClient.mm:

Add protocols to the interface declarations.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController prepareForMenu:withEvent:]):
(-[WebActionMenuController _defaultMenuItemsForDataDetectedText]):

  • WebView/WebImmediateActionController.mm:

(-[WebImmediateActionController _updateImmediateActionItem]):
(-[WebImmediateActionController _menuItemForDataDetectedText]):
Cast to id when trying to invoke delegate methods that aren't on WebUIDelegate.

Tools:

  • DumpRenderTree/mac/TestRunnerMac.mm:

(TestRunner::numberOfPendingGeolocationPermissionRequests):
(TestRunner::setGeolocationPermission):

12:55 PM Changeset in webkit [178292] by mmaxfield@apple.com
  • 15 edits in trunk/Source

Allow targetting the SVG->OTF font converter with ENABLE(SVG_OTF_CONVERTER)
https://bugs.webkit.org/show_bug.cgi?id=136769

Reviewed by Antti Koivisto.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

If ENABLE(SVG_OTF_CONVERTER) is defined, use the converter. It can be defined at the same
time as ENABLE(SVG_FONTS) but, if so, the SVG font code will be dead code.

No new tests because the define is off by default. Tests will come soon, I promise.

  • Configurations/FeatureDefines.xcconfig:
  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::getFontData): When creating a font, if the ENABLE is on,
do the transcode and take the non-SVG path.
(WebCore::CSSFontFaceSource::ensureFontData): Pass extra arguments to
CachedFont::ensureCustomFontData()

  • css/CSSFontFaceSource.h: For the case of in-document SVG fonts, keep the transcoded

bytes around.

  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::ensureCustomFontData): For out-of-document SVG fonts, do the
transcode if the ENABLE is on, then treat as if the font is any old webfont.
(WebCore::CachedFont::getSVGFontById): This function looks up the relevant <font>
element. Modify it to take a pointer to a (possibly external) document within which
to search.

  • loader/cache/CachedFont.h: Extra arguments to CachedFont::ensureCustomFontData()

and CachedFont::getSVGFontById()

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
12:22 PM Changeset in webkit [178291] by zandobersek@gmail.com
  • 6 edits in trunk/Source

Clean up FrameTree::traverseNext() traversals of main frames
https://bugs.webkit.org/show_bug.cgi?id=140338

Reviewed by Andreas Kling.

There's no reason to pass the main frame as the stayWithin parameter
to FrameTree::traverseNext() when traversing over that same main frame.

Source/WebCore:

  • inspector/InspectorApplicationCacheAgent.cpp:

(WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::getCookies):
(WebCore::InspectorPageAgent::deleteCookie):
(WebCore::InspectorPageAgent::searchInResources):

  • replay/SerializationMethods.cpp:

(WebCore::frameIndexFromFrame):
(WebCore::frameFromFrameIndex):

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:

(WebKit::WebContextMenuClient::searchWithSpotlight):

12:22 PM Changeset in webkit [178290] by timothy_horton@apple.com
  • 10 edits in trunk/Source

Multi-rect TextIndicators are vertically flipped in WebKit1
https://bugs.webkit.org/show_bug.cgi?id=140350
<rdar://problem/19441243>

Reviewed by Beth Dakin.

  • page/TextIndicator.cpp:

(WebCore::TextIndicator::createWithSelectionInFrame):
(WebCore::TextIndicator::TextIndicator):

  • page/TextIndicator.h:

(WebCore::TextIndicator::selectionRectInRootViewCoordinates):
(WebCore::TextIndicator::textBoundingRectInRootViewCoordinates):
(WebCore::TextIndicator::selectionRectInWindowCoordinates): Deleted.
(WebCore::TextIndicator::textBoundingRectInWindowCoordinates): Deleted.

  • page/mac/TextIndicatorWindow.mm:

(-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
(WebCore::TextIndicatorWindow::setTextIndicator):
Compute, store, and use TextIndicator's selectionRect and textBoundingRect
in root view coordinates instead of window coordinates; this way, each
WebKit can do the conversion itself, and the rootView vs. window flipping
isn't wrongly factored into textRectsInBoundingRectCoordinates.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<TextIndicatorData>::encode):
(IPC::ArgumentCoder<TextIndicatorData>::decode):
Adjust to the field name changes.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _setTextIndicator:fadeOut:]):
Convert the textBoundingRect from root view to screen coordinates.

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::updateFindIndicator):
(WebKit::FindController::drawRect):
Adjust to the new name, and use contentsToRootView when comparing against
the stored m_findIndicatorRect.

  • WebView/WebView.mm:

(-[WebView _setTextIndicator:fadeOut:]):
Convert the textBoundingRect from root view to screen coordinates.

12:02 PM Changeset in webkit [178289] by commit-queue@webkit.org
  • 15 edits
    2 deletes in trunk

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

Broke many media tests (Requested by ap on #webkit).

Reverted changeset:

"defaultPlaybackRate not respected when set before source is
loaded"
https://bugs.webkit.org/show_bug.cgi?id=140282
http://trac.webkit.org/changeset/178281

11:43 AM Changeset in webkit [178288] by andersca@apple.com
  • 21 edits
    2 deletes in trunk/Source/WebCore

Merge DatabaseBackendContext into DatabaseContext
https://bugs.webkit.org/show_bug.cgi?id=140365

Reviewed by Antti Koivisto.

  • CMakeLists.txt:
  • Modules/webdatabase/AbstractDatabaseServer.h:
  • Modules/webdatabase/Database.cpp:

(WebCore::Database::Database):

  • Modules/webdatabase/Database.h:
  • Modules/webdatabase/DatabaseBackend.cpp:

(WebCore::DatabaseBackend::DatabaseBackend):

  • Modules/webdatabase/DatabaseBackend.h:
  • Modules/webdatabase/DatabaseBackendBase.cpp:

(WebCore::DatabaseBackendBase::DatabaseBackendBase):

  • Modules/webdatabase/DatabaseBackendBase.h:

(WebCore::DatabaseBackendBase::databaseContext):

  • Modules/webdatabase/DatabaseBackendContext.cpp: Removed.
  • Modules/webdatabase/DatabaseBackendContext.h: Removed.
  • Modules/webdatabase/DatabaseContext.cpp:

(WebCore::DatabaseContext::securityOrigin):
(WebCore::DatabaseContext::isContextThread):
(WebCore::DatabaseContext::backend): Deleted.

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

(WebCore::DatabaseManager::openDatabaseBackend):
(WebCore::DatabaseManager::interruptAllDatabasesForContext):

  • Modules/webdatabase/DatabaseServer.cpp:

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

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

(WebCore::DatabaseTracker::canEstablishDatabase):
(WebCore::DatabaseTracker::retryCanEstablishDatabase):
(WebCore::DatabaseTracker::interruptAllDatabasesForContext):

  • Modules/webdatabase/DatabaseTracker.h:
  • Modules/webdatabase/SQLTransactionBackend.cpp:
  • Modules/webdatabase/SQLTransactionClient.cpp:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
10:50 AM Changeset in webkit [178287] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Make WebResourceDelegate a formal protocol as well
https://bugs.webkit.org/show_bug.cgi?id=140364

Reviewed by Dan Bernstein.

  • WebView/WebResourceLoadDelegate.h:
10:47 AM Changeset in webkit [178286] by Carlos Garcia Campos
  • 4 edits
    1 add in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r176676 - Fixes inline cache fast path accessing nonexistant getters.
<rdar://problem/18416918>
https://bugs.webkit.org/show_bug.cgi?id=136961

Reviewed by Filip Pizlo.

Fixes a bug in inline caching where getters would have been able to
modify the property they are getting during
building the inline cache and then accessing that
property through the inline cache site causing a recursive
inline cache building and allowing the fast path of the cache to
try to load a getter for the property that no longer exists.

  • jit/JITOperations.cpp: Switched use of get to getPropertySlot.
  • runtime/JSCJSValue.h:

added getPropertySlot for when you don't want to perform the get quite yet but want
to fill out the slot.

  • runtime/JSCJSValueInlines.h: Added implementation for getPropertySlot

(JSC::JSValue::get): changed to simply call getPropertySlot
(JSC::JSValue::getPropertySlot): added.

  • tests/stress/recursive_property_redefine_during_inline_caching.js: Added test case for bug.

(test):

10:41 AM Changeset in webkit [178285] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit/mac

Delegates should be formal protocols
https://bugs.webkit.org/show_bug.cgi?id=140360
rdar://problem/17380856

Reviewed by Dan Bernstein.

This is the first half of this change. The second half involves actually changing the delegate properties to be protocols.

  • DefaultDelegates/WebDefaultUIDelegate.h:
  • Misc/WebDownload.h:
  • WebView/WebEditingDelegate.h:
  • WebView/WebFrameLoadDelegate.h:
  • WebView/WebPolicyDelegate.h:
  • WebView/WebUIDelegate.h:
10:26 AM Changeset in webkit [178284] by commit-queue@webkit.org
  • 5 edits in trunk/Source/JavaScriptCore

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

Broke a JSC test (Requested by ap on #webkit).

Reverted changeset:

"Local JSArray* "keys" in objectConstructorKeys() is not
marked during garbage collection"
https://bugs.webkit.org/show_bug.cgi?id=140348
http://trac.webkit.org/changeset/178266

10:20 AM Changeset in webkit [178283] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r176624 - Crash (integer overflow) beneath ByteCodeParser::handleGetById typing in search field on weather.com
https://bugs.webkit.org/show_bug.cgi?id=139165

Reviewed by Oliver Hunt.

If we don't have any getById or putById variants, emit non-cached versions of these operations.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::handlePutById):

10:17 AM Changeset in webkit [178282] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r176619 - Twitter avatar moves when hovering/unhovering the "follow" button.
https://bugs.webkit.org/show_bug.cgi?id=139147
rdar://problem/19096508

Reviewed by Simon Fraser.

This patch ensures that the out of flow positioned render boxes (RenderReplaced) do not
get repositioned when their inline box wrappers move.
Ideally, out of flow positioned renderers do not have inline wrappers by the time we start
placing inline boxes, but in certain case (optimized code path for descendantsHaveSameLineHeightAndBaseline()),
they are still part of the inline box tree.
This patch prevents those renderer boxes from getting positioned as part of the inline box placement.
They will get removed later at RenderBlockFlow::computeBlockDirectionPositionsForLine().

Source/WebCore:

Test: fast/inline/out-of-flow-positioned-render-replaced-box-moves.html

  • rendering/InlineBox.cpp:

(WebCore::InlineBox::adjustPosition):

LayoutTests:

  • fast/inline/out-of-flow-positioned-render-replaced-box-moves-expected.html: Added.
  • fast/inline/out-of-flow-positioned-render-replaced-box-moves.html: Added.
10:15 AM Changeset in webkit [178281] by jer.noble@apple.com
  • 15 edits
    2 adds in trunk

defaultPlaybackRate not respected when set before source is loaded
https://bugs.webkit.org/show_bug.cgi?id=140282

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/video-defaultplaybackrate-before-load.html

When the HTMLMediaElement is notified that the media player's rate has changed, it asks
for the rate from MediaPlayer. However, MediaPlayer never requests the playback rate
from the underlying MediaPlayerPrivate; it just returns the last rate which was set, or
1 if no rate was set. HTMLMediaElement then sets its playbackRate to the returned
value. So the end result is that the value from defaultPlaybackRate is overwritten by
the default value of 1 in MediaPlayer.

Rather than caching the requested rate in MediaPlayer, cache the value reported by
MediaPlayer inside HTMLMediaElement. And instead of returning the reported playback
rate from HTMLMediaElement.playbackRate, just return the last value set. The reported
value is still used for estimating the current time during playback.

Add MediaPlayerPrivate interface method to return the current playback rate.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_reportedPlaybackRate.
(WebCore::HTMLMediaElement::effectivePlaybackRate): Return m_reportedPlaybackRate.
(WebCore::HTMLMediaElement::requestedPlaybackRate): Return m_playbackRate.
(WebCore::HTMLMediaElement::updatePlaybackRate): Use requestedPlaybackRate() instead

of effectivePlaybackRate();

(WebCore::HTMLMediaElement::ended): Ditto.
(WebCore::HTMLMediaElement::playbackProgressTimerFired): Ditto.
(WebCore::HTMLMediaElement::endedPlayback): Ditto.
(WebCore::HTMLMediaElement::updatePlayState): Ditto.
(WebCore::HTMLMediaElement::mediaPlayerRateChanged): Set m_reportedPlaybackRate.
(WebCore::HTMLMediaElement::mediaPlayerRequestedPlaybackRate): Return

requestedPlaybackRate() if playing and 0 if not.

  • html/HTMLMediaElement.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::MediaPlayer): Removed m_rate.
(WebCore::MediaPlayer::rate): Pass to MediaPlayerPrivate.
(WebCore::MediaPlayer::setRate): Do not cache the rate.
(WebCore::MediaPlayer::requestedRate): Added; ask HTMLMediaElement.

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerRequestedPlaybackRate): Added.

  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::rate): Added.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):

Do not cache the requested rate.

(WebCore::MediaPlayerPrivateAVFoundation::requestedRate): Pass to MediaPlayer.
(WebCore::MediaPlayerPrivateAVFoundation::setRate): Deleted.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:

(WebCore::MediaPlayerPrivateAVFoundation::requestedRate): Deleted.

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

(WebCore::MediaPlayerPrivateAVFoundationCF::setRate): Renamed from updateRate.
(WebCore::MediaPlayerPrivateAVFoundationCF::rate): Fetch the rate from the player.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::setRateDouble): Renamed from updateRate.
(WebCore::MediaPlayerPrivateAVFoundationObjC::rate): Fetch the rate from the player.

  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::MediaPlayerPrivateQTKit::rate): Fetch the rate from the QTMovie.

LayoutTests:

  • media/video-defaultplaybackrate-before-load-expected.txt: Added.
  • media/video-defaultplaybackrate-before-load.html: Added.
10:10 AM Changeset in webkit [178280] by Carlos Garcia Campos
  • 6 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r176574 - Crash when calling WKPageClose on the originated page from within createNewPage callback
https://bugs.webkit.org/show_bug.cgi?id=139099
<rdar://problem/19052564>

Reviewed by Sam Weinig.

Source/WebKit2:

Null check the namespace ID.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::cloneSessionStorageNamespaceInternal):

Tools:

Add a test.

  • TestWebKitAPI/PlatformWebView.h:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/CloseFromWithinCreatePage.cpp: Added.

(TestWebKitAPI::runJavaScriptAlert):
(TestWebKitAPI::createNewPage):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/close-from-within-create-page.html: Added.
  • TestWebKitAPI/mac/PlatformWebViewMac.mm:

(TestWebKitAPI::PlatformWebView::PlatformWebView):

10:09 AM Changeset in webkit [178279] by andersca@apple.com
  • 9 edits
    2 deletes in trunk/Source/WebCore

Merge DatabaseBase into Database
https://bugs.webkit.org/show_bug.cgi?id=140345

Reviewed by Antti Koivisto.

  • CMakeLists.txt:
  • Modules/webdatabase/Database.cpp:

(WebCore::Database::Database):
(WebCore::Database::runTransaction):
(WebCore::Database::logErrorMessage):

  • Modules/webdatabase/Database.h:

(WebCore::Database::scriptExecutionContext):

  • Modules/webdatabase/DatabaseBackendBase.cpp:
  • Modules/webdatabase/DatabaseBackendBase.h:

(WebCore::DatabaseBackendBase::setFrontend):

  • Modules/webdatabase/DatabaseBase.cpp: Removed.
  • Modules/webdatabase/DatabaseBase.h: Removed.
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
10:06 AM Changeset in webkit [178278] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6

Merge r176565 - [CMake] Build failure against GStreamer git master
https://bugs.webkit.org/show_bug.cgi?id=138872

Reviewed by Csaba Osztrogon.

  • Source/cmake/FindGStreamer.cmake: Simplified the

FIND_GSTREAMER_COMPONENT macro. Trust pkg-config for include
headers lookup, there's no need to do this manually. Also
explicitely check the version specified in GStreamer_FIND_VERSION.

10:04 AM Changeset in webkit [178277] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r176561 - [GStreamer] HTTP source element lacks SCHEDULING query support
https://bugs.webkit.org/show_bug.cgi?id=139064

Reviewed by Carlos Garcia Campos.

No new tests, covered by http/tests/media/hls.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcQueryWithParent): Make the element handle SCHEDULING
queries with the BANDWIDTH_LIMITED flag. This helps uridecodebin
to configure itself for adaptive streaming playback scenarios.

10:02 AM Changeset in webkit [178276] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r176554 - CrashTracer: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::HTMLPlugInImageElement::updateSnapshot + 108
https://bugs.webkit.org/show_bug.cgi?id=139057

Reviewed by Anders Carlsson.

No test, don't know how to repro.

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::updateSnapshot): Null check the renderer.

9:57 AM Changeset in webkit [178275] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebInspectorUI

Merge r176548 - Web Inspector: Update NavigationItemProbes icon for the GTK+ port
https://bugs.webkit.org/show_bug.cgi?id=139074

Reviewed by Carlos Garcia Campos.

NavigationItemProbes was updated for the Mac port and we are now
having a similar ideogram in GTK+.

  • UserInterface/Images/gtk/NavigationItemProbes.svg: Updated.
9:56 AM Changeset in webkit [178274] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r176541 - [GStreamer] gstmpegts is not initialized
https://bugs.webkit.org/show_bug.cgi?id=139039

Reviewed by Carlos Garcia Campos.

  • platform/graphics/gstreamer/GStreamerUtilities.cpp:

(WebCore::initializeGStreamer): Initialize the gstmpegts library.

9:55 AM WebKitGTK/2.6.x edited by Carlos Garcia Campos
(diff)
9:54 AM Changeset in webkit [178273] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r176540 - [GTK] Use LD_LIBRARY_PATH to make g-ir-scanner use the newly-built
version of libraries when running the temporary executable
https://bugs.webkit.org/show_bug.cgi?id=138833

Patch by Ting-Wei Lan <Ting-Wei Lan> on 2014-11-25
Reviewed by Carlos Garcia Campos.

This patch modifies LD_LIBRARY_PATH to make sure the dynamic linker
find the correct version of libraries when running the temporary
executable to generate the .gir file.

  • PlatformGTK.cmake:
9:50 AM WebKitGTK/2.6.x edited by Carlos Garcia Campos
(diff)
9:48 AM Changeset in webkit [178272] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r176519 - Webkit2 doesnt build on powerpc 32 bits
https://bugs.webkit.org/show_bug.cgi?id=130837

Reviewed by Carlos Garcia Campos.

Check if libatomic is needed in order to use std::atomic, and add
it to the list of WebKit2 libraries.

  • PlatformGTK.cmake:
9:45 AM Changeset in webkit [178271] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r176506 - r176455: ASSERT(!m_vector.isEmpty()) in IntendedStructureChain.cpp(143)
https://bugs.webkit.org/show_bug.cgi?id=139000

Reviewed by Darin Adler.

Check that the chainCount is non-zero before using a StructureChain.

  • bytecode/ComplexGetStatus.cpp:

(JSC::ComplexGetStatus::computeFor):

9:28 AM Changeset in webkit [178270] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r176458 - Crash when setting 'transition-delay' CSS property to a calculated value
https://bugs.webkit.org/show_bug.cgi?id=138784

Reviewed by Sam Weinig.

Source/WebCore:

Update CSSPrimitiveValue::computeTime() to use primitiveType() instead
of m_primitiveUnitType so that it properly handles calculated values.
Without this, we would hit the ASSERT_NOT_REACHED() assertion in
computeTime() for calculated values.

Test: fast/css/transition-delay-calculated-value.html

  • css/CSSPrimitiveValue.h:

(WebCore::CSSPrimitiveValue::computeTime):

LayoutTests:

Add a layout test to check that setting the 'transition-delay' CSS
property to a calculated value does not crash and works as intended.

  • fast/css/transition-delay-calculated-value-expected.txt: Added.
  • fast/css/transition-delay-calculated-value.html: Added.
8:54 AM Changeset in webkit [178269] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r176171 - Crash when setting 'order' CSS property to a calculated value
https://bugs.webkit.org/show_bug.cgi?id=138780

Reviewed by Darin Adler.

Source/WebCore:

CSS Calculated values were not handled by the CSS parser for 'order'
CSS property. As a result, using calculated values wouldn't work in
release builds and would hit an assertion in debug builds.

This patch updates the CSS parser to directly convert the
CSS Calculated value into a simple integer CSSPrimitiveValue for
'order' property. We could have marked CSS Calculated values as
valid in the CSS Parser instead but this would have brought issues:

  • The calculated value needs to be adjusted to INT_MIN + 2 if it is less than that. This would force us to calculate the expression anyway.
  • The StyleBuilder would need updating to properly handle CSS Calculated values for 'order'.

Test: fast/css/order-calculated-value.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

LayoutTests:

Add a layout test to validate that setting a calculated value to the
'order' CSS property does not crash and behaves as expected.

  • fast/css/order-calculated-value-expected.txt: Added.
  • fast/css/order-calculated-value.html: Added.
8:50 AM Changeset in webkit [178268] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r176454 - Crash when setting 'font' CSS property to 'calc(2 * 3)'
https://bugs.webkit.org/show_bug.cgi?id=138933

Reviewed by Darin Adler.

Source/WebCore:

The CSS Parser was not handling calculated values when parsing the font
weight. This would lead us to hit an assertion when parsing a font
property whose weight is set to a calculated value.

This patch updates parseFontWeight() to properly handle calculated
values.

Test: fast/css/font-calculated-value.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseFontWeight):

LayoutTests:

Add a layout test to cover the case where the 'font' CSS property is
set to a value whose weight is a calculated value, to make sure it
does not crash and behaves as intended.

  • fast/css/font-calculated-value-expected.txt: Added.
  • fast/css/font-calculated-value.html: Added.
8:47 AM Changeset in webkit [178267] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r176432 - REGRESSION (174986): CSS clip property is ignored when border-radius is present.
https://bugs.webkit.org/show_bug.cgi?id=138935
rdar://problem/18965984

Reviewed by Simon Fraser.

Revert back to r163382 and fix bug 127729 properly. Save the graphics context when paint and clip rects are
the same, but the clip rect has radius.
Each iteration on ::clipRect() from r163382 onwards just introduced yet another regression.

Source/WebCore:

Test: fast/clip/css-clip-does-not-work-when-border-radius-is-present.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::clipToRect):

LayoutTests:

  • fast/clip/css-clip-does-not-work-when-border-radius-is-present-expected.html: Added.
  • fast/clip/css-clip-does-not-work-when-border-radius-is-present.html: Added.
8:29 AM Changeset in webkit [178266] by msaboff@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Local JSArray* "keys" in objectConstructorKeys() is not marked during garbage collection
https://bugs.webkit.org/show_bug.cgi?id=140348

Reviewed by Mark Lam.

Move the address of the local variable that is used to demarcate the top of the stack for
conservative roots down to MachineThreads::gatherFromCurrentThread() since it also gets
the register values using setjmp(). That way we don't lose any callee save register
contents between Heap::markRoots(), where it was set, and gatherFromCurrentThread().
If we lose any JSObject* that are only in callee save registers, they will be GC'ed
erroneously.

  • heap/Heap.cpp:

(JSC::Heap::markRoots):
(JSC::Heap::gatherStackRoots):

  • heap/Heap.h:
  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::gatherFromCurrentThread):
(JSC::MachineThreads::gatherConservativeRoots):

  • heap/MachineStackMarker.h:
8:22 AM Changeset in webkit [178265] by Darin Adler
  • 30 edits in trunk/Source

Modernize and streamline HTMLTokenizer
https://bugs.webkit.org/show_bug.cgi?id=140166

Reviewed by Sam Weinig.

Source/WebCore:

  • html/parser/AtomicHTMLToken.h:

(WebCore::AtomicHTMLToken::initializeAttributes): Removed unneeded assertions
based on fields I removed.

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::HTMLDocumentParser): Change to use updateStateFor
to set the initial state when parsing a fragment, since it implements the same
rule taht the tokenizerStateForContextElement function did.
(WebCore::HTMLDocumentParser::pumpTokenizer): Updated to use the revised
interfaces for HTMLSourceTracker and HTMLTokenizer.
(WebCore::HTMLDocumentParser::constructTreeFromHTMLToken): Changed to take a
TokenPtr instead of an HTMLToken, so we can clear out the TokenPtr earlier
for non-character tokens, and let them get cleared later for character tokens.
(WebCore::HTMLDocumentParser::insert): Pass references.
(WebCore::HTMLDocumentParser::append): Ditto.
(WebCore::HTMLDocumentParser::appendCurrentInputStreamToPreloadScannerAndScan): Ditto.

  • html/parser/HTMLDocumentParser.h: Updated argument type for constructTreeFromHTMLToken

and removed now-unneeded m_token data members.

  • html/parser/HTMLEntityParser.cpp: Removed unneeded uses of the inline keyword.

(WebCore::HTMLEntityParser::consumeNamedEntity): Replaced two uses of
advanceAndASSERT with just plain advance; there's really no need to assert the
character is the one we just got out of the string.

  • html/parser/HTMLInputStream.h: Moved the include of TextPosition.h here from

its old location since this class has two data members that are OrdinalNumber.

  • html/parser/HTMLMetaCharsetParser.cpp:

(WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser): Removed most of the
initialization, since it's now done by defaults.
(WebCore::extractCharset): Rewrote this to be a non-member function, and to
use a for loop, and to handle quote marks in a simpler way. Also changed it
to return a StringView so we don't have to allocate a new string.
(WebCore::HTMLMetaCharsetParser::processMeta): Use a modern for loop, and
also take a token argument since it's no longer a data member.
(WebCore::HTMLMetaCharsetParser::encodingFromMetaAttributes): Use a modern for
loop, StringView instead of string, and don't bother naming the local enum.
(WebCore::HTMLMetaCharsetParser::checkForMetaCharset): Updated for the new
way of getting tokens from the tokenizer.

  • html/parser/HTMLMetaCharsetParser.h: Got rid of some data members and

tightened up the formatting a little. Don't bother allocating the tokenizer
on the heap.

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::TokenPreloadScanner): Removed unneeded
initialization.
(WebCore::HTMLPreloadScanner::HTMLPreloadScanner): Ditto.
(WebCore::HTMLPreloadScanner::scan): Changed to take a reference.

  • html/parser/HTMLPreloadScanner.h: Removed unneeded includes, typedefs,

and forward declarations. Removed explicit declaration of the destructor,
since the default one works. Removed unused createCheckpoint and rewindTo
functions. Gave initial values for various data members. Marked the device
scale factor const beacuse it's set in the constructor and never changed.
Also removed the unneeded isSafeToSendToAnotherThread.

  • html/parser/HTMLResourcePreloader.cpp:

(WebCore::PreloadRequest::isSafeToSendToAnotherThread): Deleted.

  • html/parser/HTMLResourcePreloader.h:

(WebCore::PreloadRequest::PreloadRequest): Removed unneeded calls to
isolatedCopy. Also removed isSafeToSendToAnotherThread.

  • html/parser/HTMLSourceTracker.cpp:

(WebCore::HTMLSourceTracker::startToken): Renamed. Changed to keep state

in the source tracker itself, not the token.

(WebCore::HTMLSourceTracker::endToken): Ditto.
(WebCore::HTMLSourceTracker::source): Renamed. Changed to use the state
from the source tracker.

  • html/parser/HTMLSourceTracker.h: Removed unneeded include of HTMLToken.h.

Renamed functions, removed now-unneeded comment.

  • html/parser/HTMLToken.h: Cut down on the fields used by the source tracker.

It only needs to know the start and end of each attribute, not each part of
each attribute. Removed setBaseOffset, setEndOffset, length, addNewAttribute,
beginAttributeName, endAttributeName, beginAttributeValue, endAttributeValue,
m_baseOffset and m_length. Added beginAttribute and endAttribute.
(WebCore::HTMLToken::clear): No need to zero m_length or m_baseOffset any more.
(WebCore::HTMLToken::length): Deleted.
(WebCore::HTMLToken::setBaseOffset): Deleted.
(WebCore::HTMLToken::setEndOffset): Deleted.
(WebCore::HTMLToken::beginStartTag): Only null out m_currentAttribute if we
are compiling in assertions.
(WebCore::HTMLToken::beginEndTag): Ditto.
(WebCore::HTMLToken::addNewAttribute): Deleted.
(WebCore::HTMLToken::beginAttribute): Moved the code from addNewAttribute in
here and set the start offset.
(WebCore::HTMLToken::beginAttributeName): Deleted.
(WebCore::HTMLToken::endAttributeName): Deleted.
(WebCore::HTMLToken::beginAttributeValue): Deleted.
(WebCore::HTMLToken::endAttributeValue): Deleted.

  • html/parser/HTMLTokenizer.cpp:

(WebCore::HTMLToken::endAttribute): Added. Sets the end offset.
(WebCore::HTMLToken::appendToAttributeName): Updated assertion.
(WebCore::HTMLToken::appendToAttributeValue): Ditto.
(WebCore::convertASCIIAlphaToLower): Renamed from toLowerCase and changed
so it's legal to call on lower case letters too.
(WebCore::vectorEqualsString): Changed to take a string literal rather than
a WTF::String.
(WebCore::HTMLTokenizer::inEndTagBufferingState): Made this a member function.
(WebCore::HTMLTokenizer::HTMLTokenizer): Updated for data member changes.
(WebCore::HTMLTokenizer::bufferASCIICharacter): Added. Optimized version of
bufferCharacter for the common case where we know the character is ASCII.
(WebCore::HTMLTokenizer::bufferCharacter): Moved this function here from the
header since it's only used inside the class.
(WebCore::HTMLTokenizer::emitAndResumeInDataState): Moved this here, renamed
it and removed the state argument.
(WebCore::HTMLTokenizer::emitAndReconsumeInDataState): Ditto.
(WebCore::HTMLTokenizer::emitEndOfFile): More of the same.
(WebCore::HTMLTokenizer::saveEndTagNameIfNeeded): Ditto.
(WebCore::HTMLTokenizer::haveBufferedCharacterToken): Ditto.
(WebCore::HTMLTokenizer::flushBufferedEndTag): Updated since m_token is now
the actual token, not just a pointer.
(WebCore::HTMLTokenizer::flushEmitAndResumeInDataState): Renamed this and
removed the state argument.
(WebCore::HTMLTokenizer::processToken): This function, formerly nextToken,
is now the internal function used by nextToken. Updated its contents to use
simpler macros, changed code to set m_state when returning, rather than
constantly setting it when cycling through states, switched style to use
early return/goto rather than lots of else statements, took out unneeded
braces now that BEGIN/END_STATE handles the braces, collapsed upper and
lower case letter handling in many states, changed lookAhead call sites to
use the new advancePast function instead.
(WebCore::HTMLTokenizer::updateStateFor): Set m_state directly instead of
calling a setstate function.
(WebCore::HTMLTokenizer::appendToTemporaryBuffer): Moved here from header.
(WebCore::HTMLTokenizer::temporaryBufferIs): Changed argument type to
a literal instead of a WTF::String.
(WebCore::HTMLTokenizer::appendToPossibleEndTag): Renamed and changed type
to be a UChar instead of LChar, although all characters will be ASCII.
(WebCore::HTMLTokenizer::isAppropriateEndTag): Marked const, and changed
type from size_t to unsigned.

  • html/parser/HTMLTokenizer.h: Changed interface of nextToken so it returns

a TokenPtr so code doesn't have to understand special rules about when to
work with an HTMLToken and when to clear it. Made most functions private,
and made the State enum private as well. Replaced the state and setState
functions with more specific functions for the few states we need to deal
with outside the class. Moved function bodies outside the class definition
so it's easier to read the class definition.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::processStartTagForInBody): Updated to use the
new set state functions instead of setState.
(WebCore::HTMLTreeBuilder::processEndTag): Ditto.
(WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag): Ditto.
(WebCore::HTMLTreeBuilder::processGenericRawTextStartTag): Ditto.
(WebCore::HTMLTreeBuilder::processScriptStartTag): Ditto.

  • html/parser/InputStreamPreprocessor.h: Marked the constructor explicit,

and mde it take a reference rather than a pointer.

  • html/parser/TextDocumentParser.cpp:

(WebCore::TextDocumentParser::insertFakePreElement): Updated to use the
new set state functions instead of setState.

  • html/parser/XSSAuditor.cpp:

(WebCore::XSSAuditor::decodedSnippetForName): Updated for name change.
(WebCore::XSSAuditor::decodedSnippetForAttribute): Updated for changes to
attribute range tracking.
(WebCore::XSSAuditor::decodedSnippetForJavaScript): Updated for name change.
(WebCore::XSSAuditor::isSafeToSendToAnotherThread): Deleted.

  • html/parser/XSSAuditor.h: Deleted isSafeToSendToAnotherThread.
  • html/track/WebVTTTokenizer.cpp: Removed the local state variable from

WEBVTT_ADVANCE_TO; there is no need for it.
(WebCore::WebVTTTokenizer::WebVTTTokenizer): Use a reference instead of a
pointer for the preprocessor.
(WebCore::WebVTTTokenizer::nextToken): Ditto. Also removed the state local
variable and the switch statement, replacing with labels instead since we
go between states with goto.

  • platform/text/SegmentedString.cpp:

(WebCore::SegmentedString::operator=): Changed the return type to be non-const
to match normal C++ design rules.
(WebCore::SegmentedString::pushBack): Renamed from prepend since this is not a
general purpose prepend function. Also fixed assertions to not use the strangely
named "escaped" function, since we are deleting it.
(WebCore::SegmentedString::append): Ditto.
(WebCore::SegmentedString::advancePastNonNewlines): Renamed from advance, since
the function only works for non-newlines.
(WebCore::SegmentedString::currentColumn): Got rid of unneeded local variable.
(WebCore::SegmentedString::advancePastSlowCase): Moved here from header and
renamed. This function now consumes the characters if they match.

  • platform/text/SegmentedString.h: Made the changes mentioned above.

(WebCore::SegmentedString::excludeLineNumbers): Deleted.
(WebCore::SegmentedString::advancePast): Renamed from lookAhead. Also changed
behavior so the characters are consumed.
(WebCore::SegmentedString::advancePastIgnoringCase): Ditto.
(WebCore::SegmentedString::advanceAndASSERT): Deleted.
(WebCore::SegmentedString::advanceAndASSERTIgnoringCase): Deleted.
(WebCore::SegmentedString::escaped): Deleted.

  • xml/parser/CharacterReferenceParserInlines.h:

(WebCore::isHexDigit): Deleted.
(WebCore::unconsumeCharacters): Updated for name change.
(WebCore::consumeCharacterReference): Removed unneeded name for local enum,
renamed local variable "cc" to character. Changed code to use helpers like
isASCIIAlpha and toASCIIHexValue. Removed unneeded use of advanceAndASSERT,
since we don't really need to assert the character we just extracted.

  • xml/parser/MarkupTokenizerInlines.h:

(WebCore::isTokenizerWhitespace): Renamed argument to character.
(WebCore::advanceStringAndASSERTIgnoringCase): Deleted.
(WebCore::advanceStringAndASSERT): Deleted.
Changed all the macro implementations so they set m_state only when
returning from the function and just use goto inside the state machine.

Source/WTF:

  • wtf/Forward.h: Removed PassRef, added OrdinalNumber and TextPosition.
8:20 AM WebKitGTK/2.6.x edited by Michael Catanzaro
Propose devhelp fix for 2.6.5 (diff)
6:48 AM Changeset in webkit [178264] by Carlos Garcia Campos
  • 4 edits
    3 adds in releases/WebKitGTK/webkit-2.6

Merge r176399 - WTFCrashWithSecurityImplication under SpeculativeJIT::compile() when loading a page from theblaze.com.
<https://webkit.org/b/137642>

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

In the DFG, we have a ConstantFolding phase that occurs after all LocalCSE
phases have already transpired. Hence, Identity nodes introduced in the
ConstantFolding phase will be left in the node graph. Subsequently, the
DFG code generator asserts that CSE phases have consumed all Identity nodes.
This turns out to not be true. Hence, the crash. We fix this by teaching
the DFG code generator to emit code for Identity nodes.

Unlike the DFG, the FTL does not have this issue. That is because the FTL
plan has GlobalCSE phases that come after ConstantFolding and any other
phases that can generate Identity nodes. Hence, for the FTL, it is true that
CSE will consume all Identity nodes, and the code generator should not see any
Identity nodes.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

LayoutTests:

  • js/dfg-inline-identity-expected.txt: Added.
  • js/dfg-inline-identity.html: Added.
  • js/script-tests/dfg-inline-identity.js: Added.

(o.toKey):
(foo):
(test):

6:41 AM Changeset in webkit [178263] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r176384 - REGRESSION (r172854): Web Viewer in FileMaker does not render a Base64 encoded animated-GIF
https://bugs.webkit.org/show_bug.cgi?id=138807
<rdar://problem/18829540>

Reviewed by Simon Fraser.

Animation gets paused because WebKit thinks the GIF is outside of the view.

  • page/FrameView.cpp:

(WebCore::FrameView::windowClipRect):

We need to convert to window coordinates in paintsEntireContents mode too so these functions are consistent.
This matters with some WK1 API clients.

6:25 AM Changeset in webkit [178262] by Carlos Garcia Campos
  • 3 edits
    4 adds in releases/WebKitGTK/webkit-2.6

Merge r176301 - Crash when setting 'z-index' / 'flex-shrink' CSS properties to a calculated value
https://bugs.webkit.org/show_bug.cgi?id=138783

Reviewed by Andreas Kling.

Source/WebCore:

Update operators converting CSSPrimitiveValue to integer / floating
point types to properly handle calculated values (e.g. 'calc(2 * 3)').
Previously, this was not working in release builds and we would hit an
ASSERT_NOT_REACHED() in debug builds.

Tests: fast/css/flex-shrink-calculated-value.html

fast/css/z-index-calculated-value.html

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::operator unsigned short):
(WebCore::CSSPrimitiveValue::operator int):
(WebCore::CSSPrimitiveValue::operator unsigned):
(WebCore::CSSPrimitiveValue::operator float):

LayoutTests:

Add layout tests to check that settings 'z-index' / 'flex-shrink' CSS
properties to a calculated value does not crash and behaves as
expected.

  • fast/css/flex-shrink-calculated-value-expected.txt: Added.
  • fast/css/flex-shrink-calculated-value.html: Added.
  • fast/css/z-index-calculated-value-expected.txt: Added.
  • fast/css/z-index-calculated-value.html: Added.
6:22 AM Changeset in webkit [178261] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r176295 - REGRESSION (r167210): Invalid cast in WebCore::RenderBlock::blockSelectionGaps
https://bugs.webkit.org/show_bug.cgi?id=137590

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/block/selection-block-gaps-crash.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::blockSelectionGaps):
Check that we really are a RenderBlock before recurring.

LayoutTests:

  • fast/block/selection-block-gap-crash-expected.txt: Added.
  • fast/block/selection-block-gap-crash.html: Added.
6:20 AM Changeset in webkit [178260] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r176287 - REGRESSION(r152313): Inline-block element doesn't wrap properly
https://bugs.webkit.org/show_bug.cgi?id=138846 - <rdar://problem/18838703>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/inline-block/inline-block-empty-spans.html

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::canBreakAtThisPosition):

LayoutTests:

  • fast/inline-block/inline-block-empty-spans-expected.html: Added.
  • fast/inline-block/inline-block-empty-spans.html: Added.
6:16 AM Changeset in webkit [178259] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r176285 - Multicolumn layout with negative line spacing and orphans causes pieces of letters to be shown at the bottom of columns
https://bugs.webkit.org/show_bug.cgi?id=138204

Source/WebCore:

Reviewed by Dave Hyatt.

This code is responsible for pushing block elements to the next column if
the "orphans" CSS property is triggered. The mechanism by which this is
achieved is to push the block down such that the origin of the block is
at the origin of the next column. However, if there is negative line
spacing, the top portion of the text might actually be on top of the
origin of the block. Therefore, the block wasn't being pushed down enough
to entirely contain its text, so the top pieces were being drawn on the
previous column.

Test: fast/multicol/orphans-negative-line-spacing.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::adjustLinePositionForPagination):

LayoutTests:

Patch by Myles C. Maxfield <litherum@gmail.com> on 2014-11-18
Reviewed by Dave Hyatt.

Create a layout where the "orphans" css property causes a block element to
be pushed to the next column.

  • fast/multicol/orphans-negative-line-spacing-expected.html: Added.
  • fast/multicol/orphans-negative-line-spacing.html: Added.
6:14 AM Changeset in webkit [178258] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r176322 - Missing NULL-check in VideoTrack::setLanguage
https://bugs.webkit.org/show_bug.cgi?id=138867

Reviewed by Jer Noble.

  • html/track/VideoTrack.cpp:

(WebCore::VideoTrack::setLanguage): Prevent change event creation
on an empty video track list.

6:13 AM Changeset in webkit [178257] by Carlos Garcia Campos
  • 8 edits in releases/WebKitGTK/webkit-2.6

Merge r176311 - start/stop method for AudioBufferSourceNodes and OscillatorNodes can take no args
https://bugs.webkit.org/show_bug.cgi?id=138739

Reviewed by Darin Adler.

Source/WebCore:

The patch is inspired by the following Blink revision by
<Raymond Toy>:
<https://src.chromium.org/viewvc/blink?view=rev&revision=160845>

Test: webaudio/dom-exceptions.html

  • Modules/webaudio/AudioBufferSourceNode.cpp:

(WebCore::AudioBufferSourceNode::start):
(WebCore::AudioBufferSourceNode::startPlaying):
(WebCore::AudioBufferSourceNode::noteGrainOn):
(WebCore::AudioBufferSourceNode::startGrain): Deleted.

  • Modules/webaudio/AudioBufferSourceNode.h:
  • Modules/webaudio/AudioBufferSourceNode.idl:
  • Modules/webaudio/AudioScheduledSourceNode.cpp:

(WebCore::AudioScheduledSourceNode::start):
(WebCore::AudioScheduledSourceNode::stop):

  • Modules/webaudio/AudioScheduledSourceNode.h:
  • Modules/webaudio/OscillatorNode.idl:

LayoutTests:

  • webaudio/dom-exceptions-expected.txt: Added.
  • webaudio/dom-exceptions.html: Added.
6:06 AM Changeset in webkit [178256] by Carlos Garcia Campos
  • 10 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r176259 - HRTFDatabaseLoader is not an absolute condition to run audioContext
https://bugs.webkit.org/show_bug.cgi?id=138829

Reviewed by Jer Noble.

This patch is a port of the following Blink revision by
<keonho07.kim@samsung.com>:
<https://src.chromium.org/viewvc/blink?revision=167887&view=revision>

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::isRunnable): Deleted.

  • Modules/webaudio/AudioContext.h:

(WebCore::AudioContext::hrtfDatabaseLoader): Deleted.

  • Modules/webaudio/AudioDestinationNode.cpp:

(WebCore::AudioDestinationNode::render):

  • Modules/webaudio/OfflineAudioDestinationNode.cpp:

(WebCore::OfflineAudioDestinationNode::offlineRender):

  • Modules/webaudio/PannerNode.cpp:

(WebCore::PannerNode::PannerNode):
(WebCore::PannerNode::process):
(WebCore::PannerNode::initialize):
(WebCore::PannerNode::setPanningModel):

  • Modules/webaudio/PannerNode.h:
  • Modules/webaudio/RealtimeAnalyser.cpp:
  • Modules/webaudio/RealtimeAnalyser.h:
  • platform/audio/HRTFDatabaseLoader.cpp:

(WebCore::HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary):

5:50 AM Changeset in webkit [178255] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk/LayoutTests

AX: [ATK] Whether to show the title attribute, if there is a label with the attribute for?
https://bugs.webkit.org/show_bug.cgi?id=139986

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2015-01-12
Reviewed by Chris Fleizach.

  • accessibility/radio-button-title-label.html:

This test is also suitable for EFL and GTK port.

  • platform/efl/TestExpectations:
  • platform/efl/accessibility/radio-button-title-label-expected.txt: Added.
  • platform/gtk/TestExpectations:
  • platform/gtk/accessibility/radio-button-title-label-expected.txt: Added.
2:42 AM Changeset in webkit [178254] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

Fix lint-test-files warnings in TestExpectations files.
https://bugs.webkit.org/show_bug.cgi?id=140351

Unreviewed gardening.

Removed the test cases from TestExpectations files.

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2015-01-12

  • platform/efl/TestExpectations:
  • platform/wk2/TestExpectations:

Jan 11, 2015:

8:33 PM Changeset in webkit [178253] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Enable Vector bounds checking for ElementDescendantIterator.
<https://webkit.org/b/140346>

Reviewed by Sam Weinig.

I had originally disabled Vector bounds checking for
ElementDescendantIterator's internal ancestor stack, but upon
re-running performance benchmarks, it appears to have little-to-no
measurable benefit.

This change adds back the bounds checking.

  • dom/ElementDescendantIterator.h:
6:47 PM Changeset in webkit [178252] by ryuan.choi@navercorp.com
  • 3 edits in trunk/Source/WebKit2

[CoordinatedGraphics] Suspend or resume when visibility is changed
https://bugs.webkit.org/show_bug.cgi?id=140285

Reviewed by Gyuyoung Kim.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp: Copied the logic from TiledCoreAnimationDrawingArea.

(WebKit::CoordinatedDrawingArea::viewStateDidChange):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
4:17 PM Changeset in webkit [178251] by Chris Dumez
  • 10 edits
    1 delete in trunk/Source/WebCore

Drop legacy SVGCSSStyleSelector.cpp
https://bugs.webkit.org/show_bug.cgi?id=140342

Reviewed by Antti Koivisto.

Drop legacy SVGCSSStyleSelector.cpp by porting the remaining SVG CSS
properties to the generated StyleBuilder. This patch also removes
support for the "LegacyStyleBuilder" option in CSSPropertyNames.in
as all properties have now been ported over.

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:

Drop SVGCSSStyleSelector.cpp file as it was removed.

  • css/CSSPropertyNames.in:
  • css/SVGCSSStyleSelector.cpp: Removed.
  • css/StyleBuilder.h:

StyleBuilder::applyProperty() no longer need to return a boolean as
it now handles ALL CSS properties.

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyValueBaselineShift):
(WebCore::StyleBuilderCustom::applyInitialFill):
(WebCore::StyleBuilderCustom::applyInheritFill):
(WebCore::StyleBuilderCustom::applyValueFill):
(WebCore::StyleBuilderCustom::applyInitialStroke):
(WebCore::StyleBuilderCustom::applyInheritStroke):
(WebCore::StyleBuilderCustom::applyValueStroke):
(WebCore::StyleBuilderCustom::applyInitialWebkitSvgShadow):
(WebCore::StyleBuilderCustom::applyInheritWebkitSvgShadow):
(WebCore::StyleBuilderCustom::applyValueWebkitSvgShadow):
Move 'fill', 'stroke' and '-webkit-svg-shadow' to the new
StyleBuilder.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

  • css/makeprop.pl:
2:58 PM Changeset in webkit [178250] by Antti Koivisto
  • 23 edits in trunk/Source

Remove FontCachePurgePreventer
https://bugs.webkit.org/show_bug.cgi?id=139628

Reviewed by Anders Carlsson.

This stack type is bug prone and invasive. A missing FontCachePurgePreventer in a code that touches fonts is always
a hard-to-detect bug and there are many places that need it. Instead purge the font cache on top of the runloop.

The purge timer could in principle fire in a nested runloop. However we should never have unreferenced
SimpleFontData objects in the stack in such case (GlyphData objects don't currently ref the font) because those
only occur during layout and painting. Layout and painting can't trigger a nested runloops as there would be
bigger problems.

Purging may also be triggered synchronously by a memory notification. That case won't have any GlyphDatas in the stack either.

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::measureText):
(WebCore::CanvasRenderingContext2D::drawTextInternal):

  • page/FrameView.cpp:

(WebCore::FrameView::layout):
(WebCore::FrameView::paintContents):

  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::FontCache):
(WebCore::FontCache::fontForFamily):
(WebCore::FontCache::purgeTimerFired):
(WebCore::FontCache::purgeInactiveFontData):

  • platform/graphics/FontCache.h:

(WebCore::FontCache::disablePurging): Deleted.
(WebCore::FontCache::enablePurging): Deleted.
(WebCore::FontCachePurgePreventer::FontCachePurgePreventer): Deleted.
(WebCore::FontCachePurgePreventer::~FontCachePurgePreventer): Deleted.

  • platform/graphics/FontFastPath.cpp:

(WebCore::Font::emphasisMarkAscent):
(WebCore::Font::emphasisMarkDescent):
(WebCore::Font::emphasisMarkHeight):
(WebCore::Font::drawEmphasisMarks):

  • platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:

(PlatformCALayerWinInternal::displayCallback):

  • platform/mac/DragImageMac.mm:

(WebCore::widthWithFont):
(WebCore::drawAtPoint):
(WebCore::createDragImageForLink):

  • platform/win/DragImageWin.cpp:

(WebCore::createDragImageForLink):

  • platform/win/WebCoreTextRenderer.cpp:

(WebCore::doDrawTextAtPoint):
(WebCore::WebCoreTextFloatWidth):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::localSelectionRect):
(WebCore::InlineTextBox::offsetForPosition):
(WebCore::InlineTextBox::positionForOffset):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::setImageSizeForAltText):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::paintIntoLayer):

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::updateFromElement):
(WebCore::RenderListBox::paintItemForeground):

  • rendering/RenderMenuList.cpp:

(RenderMenuList::updateOptionsWidth):

  • rendering/RenderThemeIOS.mm:

(WebCore::adjustInputElementButtonStyle):

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::updateStyle):

  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::subtreeChildWasAdded):
(WebCore::RenderSVGText::subtreeStyleDidChange):
(WebCore::RenderSVGText::subtreeTextDidChange):
(WebCore::RenderSVGText::removeChild):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::selectionRectForTextFragment):

2:55 PM Changeset in webkit [178249] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[SVG -> OTF Converter] Implement ligatures
https://bugs.webkit.org/show_bug.cgi?id=137094

Reviewed by Dan Bernstein.

Use the "liga" OpenType feature to implement ligatures inside the GSUB table.

Tests: svg/W3C-SVG-1.1/fonts-glyph-04-t.svg

svg/W3C-SVG-1.1/text-text-06-t.svg
svg/text/kerning.svg
svg/text/multichar-glyph.svg

  • svg/SVGToOTFFontConversion.cpp:

(WebCore::SVGToOTFFontConverter::grow):
(WebCore::SVGToOTFFontConverter::appendCMAPTable): Use StringView::codePoints().
(WebCore::SVGToOTFFontConverter::firstGlyph): Returns the first element of the input
vector, along with some ASSERTs.
(WebCore::SVGToOTFFontConverter::appendLigatureSubtable):
(WebCore::SVGToOTFFontConverter::appendScriptSubtable): Used inside appendGSUBTable.
(WebCore::SVGToOTFFontConverter::appendGSUBTable): Updating for ligatures.
(WebCore::codepointToString): Wrapper around U16_APPEND().
(WebCore::SVGToOTFFontConverter::glyphsForCodepoint): Call codepointToString and look
in internal map.
(WebCore::SVGToOTFFontConverter::addCodepointRanges): Use glyphsForCodepoint().
(WebCore::SVGToOTFFontConverter::appendLigatureGlyphs): Ligatures are implemented as
mapping a sequence of glyphs to another glyph inside OpenType. However, SVG models
ligatures as mapping a sequence of codepoints to a glyph. This function makes dummy
glyphs for all the codepoints that we don't have glyphs for and appends them to
m_glyphs.
(WebCore::SVGToOTFFontConverter::compareCodepointsLexicographically):
(WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter): Use appendEmptyGlyph() and
call appendLigatureGlyphs().

2:39 PM Changeset in webkit [178248] by mark.lam@apple.com
  • 4 edits in branches/safari-600.1.4.15-branch/Source/JavaScriptCore

Update WebKit branch to build with newer LLVM.
<https://webkit.org/b/140341>

Reviewed by Filip Pizlo.

  • Configurations/LLVMForJSC.xcconfig:
  • Add the ability to pick up LLVM_LIBS_iphoneos from AspenLLVM.xcconfig.
  • llvm/LLVMAPIFunctions.h:
  • Removed some erroneous and unused APIs.
  • llvm/library/LLVMExports.cpp:

(initializeAndGetJSCLLVMAPI):

  • Removed an unneeded option that is also not supported by the new LLVM.
2:14 PM Changeset in webkit [178247] by eric.carlson@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix typo in testate.c error messages
https://bugs.webkit.org/show_bug.cgi?id=140305

Reviewed by Geoffrey Garen.

  • API/tests/testapi.c:

(main): "... script did not timed out ..." -> "... script did not time out ..."

12:04 PM Changeset in webkit [178246] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Move more SVG CSS properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140340

Reviewed by Antti Koivisto.

Move more SVG CSS properties to the new StyleBuilder by introducing
the necessary converters in StyleBuilderConverter.

  • css/CSSPropertyNames.in:
  • css/SVGCSSStyleSelector.cpp:

(WebCore::StyleResolver::applySVGProperty):
(WebCore::roundToNearestGlyphOrientationAngle): Deleted.
(WebCore::angleToGlyphOrientation): Deleted.
(WebCore::colorFromSVGColorCSSValue): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertNumber):
(WebCore::StyleBuilderConverter::convertNumberOrAuto):
(WebCore::StyleBuilderConverter::convertOpacity):
(WebCore::StyleBuilderConverter::convertSVGURIReference):
(WebCore::StyleBuilderConverter::convertSVGColor):
(WebCore::StyleBuilderConverter::convertGlyphOrientation):
(WebCore::StyleBuilderConverter::convertGlyphOrientationOrAuto):

  • rendering/style/RenderStyle.h:
10:20 AM Changeset in webkit [178245] by mitz@apple.com
  • 2 edits in trunk/Source/bmalloc

Geoff is organized, but he is not an organization.

Rubber-stamped by Anders Carlsson.

  • bmalloc.xcodeproj/project.pbxproj: Removed the ORGANIZATIONNAME project attribute.
1:17 AM Changeset in webkit [178244] by ap@apple.com
  • 2 edits in trunk/LayoutTests

editing/spelling/grammar-paste.html is flaky in debug after r177682
https://bugs.webkit.org/show_bug.cgi?id=139903

  • TestExpectations: The test if flaky on release bots too, updating expectations.
Note: See TracTimeline for information about the timeline view.