Timeline



Aug 1, 2015:

5:48 PM Changeset in webkit [187729] by mmaxfield@apple.com
  • 35 edits
    2 adds in trunk

[OS X] Font fallback is not language-sensitive
https://bugs.webkit.org/show_bug.cgi?id=147390

Reviewed by Dean Jackson.

Source/WebCore:

We need to make our font fallback code sensitive to locale.

Test: fast/text/fallback-language-han.html

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::lookupCTFont):
(WebCore::FontCache::systemFallbackForCharacters):

LayoutTests:

Updating tests.

  • css3/line-break/line-break-auto-centered-expected.html:
  • css3/line-break/line-break-auto-centered.html:
  • css3/line-break/line-break-auto-postfixes-expected.html:
  • css3/line-break/line-break-auto-postfixes.html:
  • css3/line-break/line-break-loose-centered-expected.html:
  • css3/line-break/line-break-loose-centered.html:
  • css3/line-break/line-break-loose-hyphens-expected.html:
  • css3/line-break/line-break-loose-hyphens.html:
  • css3/line-break/line-break-loose-postfixes-expected.html:
  • css3/line-break/line-break-loose-postfixes.html:
  • css3/line-break/line-break-loose-sound-marks-expected.html:
  • css3/line-break/line-break-loose-sound-marks.html:
  • css3/line-break/line-break-normal-centered-expected.html:
  • css3/line-break/line-break-normal-centered.html:
  • css3/line-break/line-break-normal-hyphens-expected.html:
  • css3/line-break/line-break-normal-hyphens.html:
  • css3/line-break/line-break-normal-postfixes-expected.html:
  • css3/line-break/line-break-normal-postfixes.html:
  • css3/line-break/line-break-normal-sound-marks-expected.html:
  • css3/line-break/line-break-normal-sound-marks.html:
  • css3/line-break/line-break-strict-centered-expected.html:
  • css3/line-break/line-break-strict-centered.html:
  • css3/line-break/line-break-strict-hyphens-expected.html:
  • css3/line-break/line-break-strict-hyphens.html:
  • css3/line-break/line-break-strict-postfixes-expected.html:
  • css3/line-break/line-break-strict-postfixes.html:
  • css3/line-break/line-break-strict-sound-marks-expected.html:
  • css3/line-break/line-break-strict-sound-marks.html:
  • fast/text/fallback-language-han-expected.html: Added.
  • fast/text/fallback-language-han.html: Added.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/win/TestExpectations:
4:49 PM Changeset in webkit [187728] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

CharacterFallbackMapKey should be locale-specific
https://bugs.webkit.org/show_bug.cgi?id=147532

Reviewed by Dean Jackson.

This is in preparation for locale-specific font fallback.

No new tests because there is no behavior change.

  • platform/graphics/Font.cpp:

(WebCore::CharacterFallbackMapKey::CharacterFallbackMapKey):
(WebCore::CharacterFallbackMapKey::operator==):
(WebCore::CharacterFallbackMapKeyHash::hash):
(WebCore::Font::systemFallbackFontForCharacter):

4:39 PM Changeset in webkit [187727] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1-branch/Source

Versioning.

2:53 PM Changeset in webkit [187726] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Fix 64-bit CMake build on Windows.

  • PlatformWin.cmake:

Win64 needs PaintHooks.asm.

1:43 PM Changeset in webkit [187725] by mmaxfield@apple.com
  • 2 edits in trunk/LayoutTests

[Win] Test gardening

Unreviewed

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-08-01

  • platform/win/TestExpectations:
1:15 PM Changeset in webkit [187724] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Expand CharacterFallbackMapKey to a struct
https://bugs.webkit.org/show_bug.cgi?id=147530

Reviewed by Dean Jackson.

This is in prepraration for making this struct locale-specific.

No new tests because there is no behavior change.

  • platform/graphics/Font.cpp:

(WebCore::CharacterFallbackMapKey::CharacterFallbackMapKey):
(WebCore::CharacterFallbackMapKey::isHashTableDeletedValue):
(WebCore::CharacterFallbackMapKey::operator==):
(WebCore::CharacterFallbackMapKeyHash::hash):
(WebCore::CharacterFallbackMapKeyHash::equal):
(WebCore::Font::systemFallbackFontForCharacter):

1:14 PM Changeset in webkit [187723] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WTF

HashTraits<AtomicString> can use SimpleClassHashTraits
https://bugs.webkit.org/show_bug.cgi?id=147528

Reviewed by Andreas Kling.

No point in duplicating the code inside SimpleClassHashTraits.

  • wtf/text/AtomicStringHash.h:

(WTF::HashTraits<WTF::AtomicString>::constructDeletedValue): Deleted.
(WTF::HashTraits<WTF::AtomicString>::isDeletedValue): Deleted.

1:08 PM Changeset in webkit [187722] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the build after r187721

Unreviewed.

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-08-01

  • bindings/js/JSDOMBinding.h:

(WebCore::createWrapper):

12:55 PM Changeset in webkit [187721] by achristensen@apple.com
  • 6 edits in trunk/Source

Fix compile errors with VS2015
https://bugs.webkit.org/show_bug.cgi?id=147526

Reviewed by Myles Maxfield.

Source/WebCore:

  • bindings/js/JSDOMBinding.h:

(WebCore::createWrapper):
Explicitly call the Ref constructor to avoid unresolved symbols with VS2015.
Otherwise, VS2015 tries to use CSSPrimitiveValue::operator<Ref<CSSPrimitiveValue> > which doesn't exist.

Source/WebKit/win:

  • WebKitDLL.cpp:

(shutDownWebKit):
(loadResourceIntoBuffer): Needs to be exported from WebKit.dll to link with CMake using VS2015.

Source/WTF:

  • wtf/StringExtras.h:

(snprintf):
(wtf_vsnprintf):
VS2015 has an implementation of snprintf.

11:16 AM Changeset in webkit [187720] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.46

New tag.

10:11 AM WebKitGTK/2.8.x edited by Michael Catanzaro
Propose some merges (diff)
10:06 AM Changeset in webkit [187719] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebCore

Merged r187686. rdar://problem/22083354

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

Merged r187687. rdar://problem/21939014

8:27 AM Changeset in webkit [187717] by saambarati1@gmail.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed. Remove unintentional "print" statement in test case.
https://bugs.webkit.org/show_bug.cgi?id=142567

  • tests/stress/class-syntax-definition-semantics.js:

(shouldBeSyntaxError):

8:23 AM Changeset in webkit [187716] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1-branch/Source

Versioning.

3:55 AM Changeset in webkit [187715] by Nikita Vasilyev
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Replace "unknown-mac" CSS class with "el-capitan"
https://bugs.webkit.org/show_bug.cgi?id=147524

Reviewed by Timothy Hatcher.

  • UserInterface/Base/Platform.js:

No need to repeat WebInspector.Platform.version.release for every possible case.

  • UserInterface/Views/Toolbar.css:

(body:not(.el-capitan) .toolbar .dashboard-container):
(body:not(.el-capitan) .toolbar .search-bar > input[type="search"]):
(body:not(.el-capitan) .toolbar .search-bar > input[type="search"]:focus):
(body:not(.el-capitan) .toolbar .item.button:active):
(body.window-inactive:not(.el-capitan) .toolbar .dashboard-container):
(body.el-capitan .toolbar .dashboard-container):
(body.el-capitan .toolbar .search-bar > input[type="search"]):
(body.el-capitan .toolbar .search-bar > input[type="search"]:focus):
(@media (-webkit-min-device-pixel-ratio: 2)):
(body.el-capitan .toolbar .item.button:active):
(body.el-capitan.window-inactive .toolbar .dashboard-container):
(body:not(.unknown-mac) .toolbar .dashboard-container): Deleted.
(body:not(.unknown-mac) .toolbar .search-bar > input[type="search"]): Deleted.
(body:not(.unknown-mac) .toolbar .search-bar > input[type="search"]:focus): Deleted.
(body:not(.unknown-mac) .toolbar .item.button:active): Deleted.
(body.window-inactive:not(.unknown-mac) .toolbar .dashboard-container): Deleted.
(body.unknown-mac .toolbar .dashboard-container): Deleted.
(body.unknown-mac .toolbar .search-bar > input[type="search"]): Deleted.
(body.unknown-mac .toolbar .search-bar > input[type="search"]:focus): Deleted.
(body.unknown-mac .toolbar .item.button:active): Deleted.
(body.unknown-mac.window-inactive .toolbar .dashboard-container): Deleted.

Jul 31, 2015:

11:48 PM Changeset in webkit [187714] by Devin Rousso
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: inherited CSS rules disappear from Styles sidebar while editing
https://bugs.webkit.org/show_bug.cgi?id=147441

Reviewed by Timothy Hatcher.

If the user edits a style declaration such that it would dissapear mid-edit, prevent
the rules panel from refreshing until that editor is blurred.

  • UserInterface/Views/CSSStyleDeclarationSection.js:

(WebInspector.CSSStyleDeclarationSection):
(WebInspector.CSSStyleDeclarationSection.prototype.get editorActive):
(WebInspector.CSSStyleDeclarationSection.prototype.get _hasInvalidSelector):
(WebInspector.CSSStyleDeclarationSection.prototype._editorContentChanged):
(WebInspector.CSSStyleDeclarationSection.prototype._editorBlurred):

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype._editorBlured):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._contentChanged):

  • UserInterface/Views/RulesStyleDetailsPanel.js:

(WebInspector.RulesStyleDetailsPanel):
(WebInspector.RulesStyleDetailsPanel.prototype._removeSectionWithActiveEditor):

  • UserInterface/Views/StyleDetailsPanel.js:

(WebInspector.StyleDetailsPanel.prototype._refreshPreservingScrollPosition):

11:47 PM Changeset in webkit [187713] by mrajca@apple.com
  • 9 edits in trunk/Source

Media Session: inform the UI process when the focused Content media element changes
https://bugs.webkit.org/show_bug.cgi?id=147323

Reviewed by Tim Horton.

WebCore:

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::playInternal): Eventually tell the UI process that the focused Content media element changed.

  • page/ChromeClient.h:

WebKit2:

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::isPlayingMediaDidChange):

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

(WebKit::WebChromeClient::focusedContentMediaElementDidChange):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
11:39 PM Changeset in webkit [187712] by mrajca@apple.com
  • 3 edits in trunk/Source/WebCore

Media Session: give media elements unique IDs https://bugs.webkit.org/show_bug.cgi?id=147322

Reviewed by Eric Carlson.

  • html/HTMLMediaElement.cpp:

(WebCore::elementIDsToElements): Create a global map of element IDs to elements.
(WebCore::HTMLMediaElement::elementWithID): Retrieve the element with the given ID.
(WebCore::HTMLMediaElement::HTMLMediaElement): Give the element a unique ID.
(WebCore::HTMLMediaElement::playInternal): Removed whitespace.
(WebCore::HTMLMediaElement::pauseInternal): Ditto.

  • html/HTMLMediaElement.h:

(WebCore::HTMLMediaElement::elementID):

11:27 PM Changeset in webkit [187711] by mmaxfield@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

Adding -expected.png for fast/text/international/arabic-justify.html

  • platform/mac-yosemite/fast/text/international/arabic-justify-expected.png: Added
10:33 PM Changeset in webkit [187710] by mrajca@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Media Session: add test to ensure that switching media sessions pauses elements
https://bugs.webkit.org/show_bug.cgi?id=147493

Reviewed by Eric Carlson.

  • media/session/switching-sessions-expected.txt: Added.
  • media/session/switching-sessions.html: Added.
  • platform/mac/TestExpectations: Media Session support is disabled by default.
9:27 PM Changeset in webkit [187709] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the build

Unreviewed.

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::lookupCTFont):

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

Web Inspector: Autocomplete: Undo (Cmd+Z) doesn't work as expected
https://bugs.webkit.org/show_bug.cgi?id=147316

Reviewed by Timothy Hatcher.

Instead of replacing the text for a completion, which messes up the undo history, add
a unique marker that contains the remaining text for the current completion.

  • UserInterface/Controllers/CodeMirrorCompletionController.js:

(WebInspector.CodeMirrorCompletionController.prototype._createCompletionHintMarker):
(WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint.update):
(WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint):
(WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint.update):
(WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint):

9:06 PM Changeset in webkit [187707] by mmaxfield@apple.com
  • 6 edits in trunk/Source/WebCore

[OS X] Migrate to CTFontCreateForCharactersWithLanguage from [NSFont findFontLike:forString:withRange:inLanguage]
https://bugs.webkit.org/show_bug.cgi?id=147483

Reviewed by Dean Jackson.

[NSFont findFontLike:forString:withRange:inLanguage] doesn't properly handle its last argument. In
addition, we want to be moving away from NSFont in the first place and on to Core Text. This new
CoreText function correctly handles its language argument, which is required for language-specific
font fallback.

No new tests because there is no behavior change.

  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::purgeInactiveFontData):

  • platform/graphics/FontCache.h:

(WebCore::FontCache::platformPurgeInactiveFontData):

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::fallbackDedupSet):
(WebCore::FontCache::platformPurgeInactiveFontData):
(WebCore::lookupCTFont):
(WebCore::FontCache::systemFallbackForCharacters):

  • platform/spi/cocoa/CoreTextSPI.h:
  • platform/spi/mac/NSFontSPI.h:
8:41 PM Changeset in webkit [187706] by Chris Dumez
  • 31 edits in trunk/Source

Drop dummy Timer callbacks
https://bugs.webkit.org/show_bug.cgi?id=147516

Reviewed by Alexey Proskuryakov.

Drop dummy Timer callbacks in the code base. A lot of Timer callbacks
do nothing else beside calling a particular method. In such case, we
can use the called method as Timer callback instead.

Source/WebCore:

  • css/FontLoader.cpp:

(WebCore::FontLoader::FontLoader):

  • css/FontLoader.h:
  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::styleRecalcTimerFired): Deleted.
(WebCore::Document::domCookieCacheExpiryTimerFired): Deleted.

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

(MediaController::MediaController):
(MediaController::timeupdateTimerFired): Deleted.

  • html/MediaController.h:
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::CachedResource):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::CachedResourceLoader):
(WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired): Deleted.

  • loader/cache/CachedResourceLoader.h:
  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::MemoryCache):
(WebCore::MemoryCache::pruneTimerFired): Deleted.

  • loader/cache/MemoryCache.h:
  • page/EventSource.cpp:

(WebCore::EventSource::EventSource):
(WebCore::EventSource::connectTimerFired): Deleted.

  • page/EventSource.h:
  • page/FrameView.cpp:

(WebCore::FrameView::FrameView):
(WebCore::FrameView::delayedScrollEventTimerFired): Deleted.
(WebCore::FrameView::postLayoutTimerFired): Deleted.

  • page/FrameView.h:
  • page/scrolling/ios/ScrollingCoordinatorIOS.h:
  • page/scrolling/ios/ScrollingCoordinatorIOS.mm:

(WebCore::ScrollingCoordinatorIOS::ScrollingCoordinatorIOS):
(WebCore::ScrollingCoordinatorIOS::scrollingStateTreeCommitterTimerFired): Deleted.

  • page/scrolling/mac/ScrollingCoordinatorMac.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::ScrollingCoordinatorMac):
(WebCore::ScrollingCoordinatorMac::scrollingStateTreeCommitterTimerFired): Deleted.

  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::FontCache):
(WebCore::FontCache::purgeTimerFired): Deleted.

  • platform/graphics/FontCache.h:
  • platform/graphics/ShadowBlur.cpp:

(WebCore::ScratchBuffer::ScratchBuffer):
(WebCore::ScratchBuffer::timerFired): Deleted.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekTimerFired): Deleted.

Source/WebKit/mac:

  • Plugins/WebNetscapePluginStream.h:
  • Plugins/WebNetscapePluginStream.mm:

(WebNetscapePluginStream::WebNetscapePluginStream):
(WebNetscapePluginStream::deliverDataTimerFired): Deleted.

Source/WebKit2:

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

(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::layerFlushTimerFired): Deleted.

8:03 PM Changeset in webkit [187705] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.45

New tag.

7:39 PM Changeset in webkit [187704] by mdaiter@apple.com
  • 2 edits in trunk/Source/WebCore

Removed pointSize from _addMarkersToList
https://bugs.webkit.org/show_bug.cgi?id=147515

Reviewed by Eric Carlson.

  • editing/cocoa/HTMLConverter.mm:

(HTMLConverter::_addMarkersToList): Deleted.

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

Roll out r187466. rdar://problem/21960398

6:56 PM Changeset in webkit [187702] by achristensen@apple.com
  • 8 edits in trunk

Prepare for VS2015
https://bugs.webkit.org/show_bug.cgi?id=146579

Reviewed by Jon Honeycutt.

Source/JavaScriptCore:

  • heap/Heap.h:

Fix compiler error by explicitly casting zombifiedBits to the size of a pointer.

Source/WebCore:

  • WebCore.vcxproj/build-generated-files.pl:

Find a correct preprocessor when using VS2015.

Source/WTF:

  • wtf/StdLibExtras.h:

(std::exchange):
Added preprocessor macros around functions implemented in VS2015's standard library.

Tools:

  • WinLauncher/stdafx.h:

Define STDC_LIMIT_MACROS to have access to INTMAX_MAX.

6:36 PM Changeset in webkit [187701] by Joseph Pecoraro
  • 4 edits in trunk/LayoutTests

Unreviewed gardening. Skip Media Sessions tests, the feature is not yet enabled.

  • TestExpectations:
  • platform/efl/TestExpectations:
  • platform/mac/TestExpectations:
6:32 PM Changeset in webkit [187700] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Scrolling "jumps" in console
https://bugs.webkit.org/show_bug.cgi?id=147482

Reviewed by Joseph Pecoraro.

Removed focus call on messageElement.

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView):
(WebInspector.LogContentView.prototype._mousedown): Deleted.
(WebInspector.LogContentView.prototype._didFocus): Deleted.
(WebInspector.LogContentView.prototype._didBlur): Deleted.

6:22 PM Changeset in webkit [187699] by Joseph Pecoraro
  • 4 edits in trunk/LayoutTests

Unreviewed gardening. Update inspector test skips based on bots.

  • TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/win/TestExpectations:
5:43 PM Changeset in webkit [187698] by Chris Dumez
  • 4 edits in trunk/Source/WebKit2

[WK2][NetworkCache] Drop HTTP method from NetworkCache::Key
https://bugs.webkit.org/show_bug.cgi?id=143348

Reviewed by Antti Koivisto.

Drop HTTP method from NetworkCache::Key as we only cache GET responses
for now. Even when we start caching HEAD responses, we likely will not
want the method to be part of the key because:

  • A HEAD response can be used to update the headers of a previously cached response to GET
  • A cached GET response may be used to satisfy subsequent HEAD requests
  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::makeCacheKey):

  • NetworkProcess/cache/NetworkCacheKey.cpp:

(WebKit::NetworkCache::Key::Key):
(WebKit::NetworkCache::Key::operator==):
(WebKit::NetworkCache::Key::decode):
(WebKit::NetworkCache::Key::operator=): Deleted.
(WebKit::NetworkCache::Key::computeHash): Deleted.
(WebKit::NetworkCache::Key::encode): Deleted.

  • NetworkProcess/cache/NetworkCacheKey.h:

(WebKit::NetworkCache::Key::method): Deleted.

5:29 PM Changeset in webkit [187697] by bshafiei@apple.com
  • 3 edits in branches/safari-601.1-branch/Source/WebCore

Merged r187694. rdar://problem/22015509

5:27 PM Changeset in webkit [187696] by bshafiei@apple.com
  • 6 edits in branches/safari-601.1-branch/Source/WebCore

Merged r187688. rdar://problem/22015509

5:19 PM Changeset in webkit [187695] by bshafiei@apple.com
  • 3 edits in branches/safari-601.1-branch/Source/WebCore

Merged r187684. rdar://problem/22000865

5:09 PM Changeset in webkit [187694] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

[iOS] use a media-specific user gesture check
https://bugs.webkit.org/show_bug.cgi?id=147509

Reviewed by Tim Horton.

Change an enum name added in r187688.

  • dom/UserGestureIndicator.cpp:

(WebCore::isDefinite): DefinitelyProcessingMediaUserGesture -> DefinitelyProcessingPotentialUserGesture
(WebCore::UserGestureIndicator::processingUserGestureForMedia): Ditto.

  • dom/UserGestureIndicator.h: Ditto.
5:00 PM Changeset in webkit [187693] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[Cocoa] Latin quotes are used with the system font on Chinese devices
https://bugs.webkit.org/show_bug.cgi?id=147504

Reviewed by Dean Jackson.

The system font has some fancy logic regarding character selection which requires
using Core Text for glyph selection.

No new tests because tests can't change the system language of the device.

  • platform/graphics/mac/GlyphPageMac.cpp:

(WebCore::shouldUseCoreText):

4:57 PM Changeset in webkit [187692] by Joseph Pecoraro
  • 10 edits
    1 move
    1 add in trunk

Web Inspector: Unskip / Unflake inspector tests after r187627
https://bugs.webkit.org/show_bug.cgi?id=147503

Reviewed by Brian Burg.

Source/WebInspectorUI:

  • UserInterface/Base/Test.js:

(InspectorTest.completeTest):
(InspectorTest.completeTest.signalCompletionToTestPage): Deleted.
(InspectorTest.testPageDidLoad):
Instead of immediately resending results if completeTest was called
during a reload before the load has completed, we just set a flag
to complete the test when the load completes. This consistently
resends the output to the new page for test output.

(InspectorTest._resendResults):
Delete clear results. If the page had logged anything directly on
the page side (using InspectorTestProxy) this clearMessages would
have deleted those messages and not been able to recreate them.
Clearing messages wasn't really serving a purpose.

LayoutTests:

  • TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:

Unskip and unflake inspector tests.

  • http/tests/inspector/inspector-test.js:

(InspectorTestProxy.addResult):
Simplify with the new append API.

(InspectorTestProxy.clearResults): Deleted.
Delete, as it is no longer used.

  • inspector/debugger/probe-manager-add-remove-actions-expected.txt:

Include output that was getting erronously cleared by clearResults
which we removed.

  • inspector/dom/highlightSelector-expected.txt:
  • inspector/dom/highlightSelector.html:

Make this test more reliable when run with other tests.
Never assume the frame id for the main frame or sub frame,
instead compute them and mask them in the output.

  • inspector/dom/resources/highlightSelector-iframe.html: Renamed from LayoutTests/inspector/dom/highlightSelector-iframe.html.

Move the non-test iframe html resource into a sub-folder
so it won't be treated like an actual test.

4:56 PM Changeset in webkit [187691] by Chris Dumez
  • 5 edits in trunk/Source

Source/WebCore:
Coalesce authentication credential requests
https://bugs.webkit.org/show_bug.cgi?id=128006
<rdar://problem/16839069>

Reviewed by Alexey Proskuryakov.

Export symbol for ProtectionSpace::compare() so it can be called from
WebKit2.

  • platform/network/ProtectionSpaceBase.h:

Source/WebKit2:
Coalesce concurrent authentication challenges for the same ProtectionSpace
https://bugs.webkit.org/show_bug.cgi?id=147496
<rdar://problem/16839069>

Reviewed by Alexey Proskuryakov.

Coalesce concurrent authentication challenges for the same ProtectionSpace.
Ideally, this would be done in the network layer but short term, this will
make sure the user no longer gets repeating authentication dialogs for the
same protection space.

This gets rid of a long-standing bug in WebKit / Safari where visiting a
site using HTTP authentication would pop up one authentication dialog for
each subresource being loaded from the network (especially when the main
resource is loaded from the cache).

  • Shared/Authentication/AuthenticationManager.cpp:

(WebKit::canCoalesceChallenge):
(WebKit::AuthenticationManager::addChallengeToChallengeMap):
(WebKit::AuthenticationManager::shouldCoalesceChallenge):
(WebKit::AuthenticationManager::coalesceChallengesMatching):
(WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
(WebKit::AuthenticationManager::useCredentialForChallenge):
(WebKit::AuthenticationManager::useCredentialForSingleChallenge):
(WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
(WebKit::AuthenticationManager::continueWithoutCredentialForSingleChallenge):
(WebKit::AuthenticationManager::cancelChallenge):
(WebKit::AuthenticationManager::cancelSingleChallenge):
(WebKit::AuthenticationManager::performDefaultHandling):
(WebKit::AuthenticationManager::performDefaultHandlingForSingleChallenge):
(WebKit::AuthenticationManager::rejectProtectionSpaceAndContinue):
(WebKit::AuthenticationManager::rejectProtectionSpaceAndContinueForSingleChallenge):
(WebKit::AuthenticationManager::AuthenticationManager): Deleted.

  • Shared/Authentication/AuthenticationManager.h:
4:50 PM Changeset in webkit [187690] by Joseph Pecoraro
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Skip more inspector tests on Windows.

It may be that no inspector tests are working on Windows,
if that is the case we may move to skipping all of them
and investigate unskipping in chunks.

  • platform/win/TestExpectations:
4:27 PM Changeset in webkit [187689] by Brian Burg
  • 20 edits in trunk/Source/WebInspectorUI

Web Inspector: Convert timeline view classes to ES6 classes
https://bugs.webkit.org/show_bug.cgi?id=147381

Reviewed by Joseph Pecoraro.

Along the way, inline a few style class names.

Elided mechanical changes from the Changelog.

  • UserInterface/Views/LayoutTimelineOverviewGraph.js:
  • UserInterface/Views/LayoutTimelineView.js:
  • UserInterface/Views/LinearTimelineOverview.js:
  • UserInterface/Views/NetworkTimelineOverviewGraph.js:
  • UserInterface/Views/NetworkTimelineView.js:
  • UserInterface/Views/OverviewTimelineView.js:
  • UserInterface/Views/RenderingFrameTimelineOverview.js:
  • UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
  • UserInterface/Views/RenderingFrameTimelineView.js:
  • UserInterface/Views/ScriptTimelineOverviewGraph.js:
  • UserInterface/Views/ScriptTimelineView.js:
  • UserInterface/Views/TimelineOverview.js:
  • UserInterface/Views/TimelineOverviewGraph.js:
  • UserInterface/Views/TimelineRecordBar.js:
  • UserInterface/Views/TimelineRecordFrame.js:
  • UserInterface/Views/TimelineRecordingContentView.js:
  • UserInterface/Views/TimelineRuler.js:
  • UserInterface/Views/TimelineTabContentView.js:
  • UserInterface/Views/TimelineView.js:
3:59 PM Changeset in webkit [187688] by eric.carlson@apple.com
  • 6 edits in trunk/Source/WebCore

[iOS] use a media-specific user gesture check
https://bugs.webkit.org/show_bug.cgi?id=147509

Reviewed by Jer Noble.

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::processingUserGestureForMedia): New.

  • bindings/js/ScriptController.h:
  • dom/UserGestureIndicator.cpp:

(WebCore::isDefinite): Allow DefinitelyProcessingMediaUserGesture.
(WebCore::UserGestureIndicator::processingUserGestureForMedia): New.

  • dom/UserGestureIndicator.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::load): Use ScriptController::processingUserGestureForMedia instead of

ScriptController::processingUserGesture

(WebCore::HTMLMediaElement::play): Ditto.

3:43 PM Changeset in webkit [187687] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Crashes under HTMLMediaElement::updateActiveTextTrackCues() when destroying CachedPage.
<https://webkit.org/b/147506>
<rdar://problem/21939014>

Reviewed by Chris Dumez.

Don't mess with the media element's text tracks below its ActiveDOMObject::stop()
implementation, since that may cause DOM mutations.

I don't have a repro or a test for this, but plenty of crash logs to indicate that
we're getting ourselves into trouble by modifying the DOM during CachedPage teardown.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::configureTextTrackDisplay):

3:34 PM Changeset in webkit [187686] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] DOMNode preview snapshot rects are wrong for user-select: none links
https://bugs.webkit.org/show_bug.cgi?id=147513
<rdar://problem/22083354>

Reviewed by Simon Fraser.

  • bindings/objc/DOM.mm:

(-[DOMNode getPreviewSnapshotImage:andRects:]):
Use the same code as WebKit2 to compute the fallback rect (if TextIndicator fails),
asking the RenderObject (or RenderImage) for its bounding box instead of using the
(often wrong) Range bounding rect.

Make sure to use the fallback rect *any* time TextIndicator fails (before
we would return no rects at all if TextIndicator::createWithRange returned null,
and the fallback rect if it returned with an empty image).

Inverse-page-scale the margin, to match the appearance in WebKit2.

3:24 PM Changeset in webkit [187685] by mmaxfield@apple.com
  • 3 edits
    3 adds in trunk

[SVG -> OTF Converter] Crash when converting Arabic fonts
https://bugs.webkit.org/show_bug.cgi?id=147510

Reviewed by Anders Carlsson.

Source/WebCore:

SVGToOTFFontConverter::compareCodepointsLexicographically() wasn't transitive.

Test: fast/text/arabic-duplicate-glyph-font.html

  • svg/SVGToOTFFontConversion.cpp:

(WebCore::SVGToOTFFontConverter::compareCodepointsLexicographically):

LayoutTests:

  • fast/text/arabic-duplicate-glyph-font-expected.txt: Added.
  • fast/text/arabic-duplicate-glyph-font.html: Added.
  • fast/text/resources/arabic-duplicate-glyph-font.svg: Added.
3:20 PM Changeset in webkit [187684] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Rename AVPlayerLayerView to _AVPlayerLayerView.
https://bugs.webkit.org/show_bug.cgi?id=147399

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-07-31
Reviewed by Eric Carlson.

Change class name AVPlayerLayerView to match change in AVKit SPI.
This prevents conflicts with 3rd party apps.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebAVPlayerLayerView_dealloc):
(getWebAVPlayerLayerViewClass):

  • platform/spi/cocoa/AVKitSPI.h:
2:40 PM Changeset in webkit [187683] by msaboff@apple.com
  • 2 edits in branches/jsc-tailcall/Source/JavaScriptCore

jsc-tailcall: REGRESSION(r187676): Broke stress/tail-call-no-stack-overflow.js
https://bugs.webkit.org/show_bug.cgi?id=147507

Reviewed by Basile Clement.

Changed strictLoopArityFixup1 and strictLoopArityFixup2 to recursively call
themselves instead of nonexistent strictLoopArityFixup.

  • tests/stress/tail-call-no-stack-overflow.js:

(strictLoopArityFixup1):
(strictLoopArityFixup2):

2:26 PM Changeset in webkit [187682] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebKit2

Unreviewed parameter name typo fix.

  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _setHiddenPageDOMTimerThrottlingEnabled:]):

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

ImageBufferDataCG should not add IOSurfaces to the pool
https://bugs.webkit.org/show_bug.cgi?id=147494

Reviewed by Tim Horton.

ImageBufferDataCG should not add IOSurfaces to the pool as it is not
safe. IOSurfaceIsInUse() does not return accurate result for those
surfaces.

This is a partial revert of r181301.

  • platform/graphics/cg/ImageBufferDataCG.cpp:

(WebCore::ImageBufferData::~ImageBufferData): Deleted.

  • platform/graphics/cg/ImageBufferDataCG.h:
2:05 PM Changeset in webkit [187680] by saambarati1@gmail.com
  • 25 edits
    2 adds in trunk

ES6 class syntax should use block scoping
https://bugs.webkit.org/show_bug.cgi?id=142567

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

We treat class declarations like we do "let" declarations.
The class name is under TDZ until the class declaration
statement is evaluated. Class declarations also follow
the same rules as "let": No duplicate definitions inside
a lexical environment.

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createClassDeclStatement):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseClassDeclaration):

  • tests/stress/class-syntax-block-scoping.js: Added.

(assert):
(truth):
(.):

  • tests/stress/class-syntax-definition-semantics.js: Added.

(shouldBeSyntaxError):
(shouldNotBeSyntaxError):
(truth):

  • tests/stress/class-syntax-tdz.js:

(assert):
(shouldThrowTDZ):
(truth):
(.):

LayoutTests:

  • js/class-constructor-return-expected.txt:
  • js/class-syntax-call-expected.txt:
  • js/class-syntax-declaration-expected.txt:
  • js/class-syntax-default-constructor-expected.txt:
  • js/class-syntax-extends-expected.txt:
  • js/class-syntax-name-expected.txt:
  • js/class-syntax-super-expected.txt:
  • js/script-tests/class-constructor-return.js:

(shouldThrow):
(shouldNotThrow):
(shouldBeTrue):
(shouldBeFalse):

  • js/script-tests/class-syntax-call.js:

(A):
(B):
(shouldThrow):
(shouldNotThrow):

  • js/script-tests/class-syntax-declaration.js:

(shouldThrow):
(shouldNotThrow):
(shouldBe):

  • js/script-tests/class-syntax-default-constructor.js:

(shouldThrow):
(shouldBe):
(shouldBeTrue):
(assert):
(A):
(B):

  • js/script-tests/class-syntax-extends.js:

(shouldThrow):
(shouldNotThrow):
(shouldBe):
(shouldBeTrue):
(Base):
(Base.prototype.baseMethod):

  • js/script-tests/class-syntax-name.js:

(shouldThrow):
(shouldNotThrow):
(shouldBe):
(shouldBeTrue):
(runTestShouldBe):

  • js/script-tests/class-syntax-super.js:

(shouldThrow):
(shouldNotThrow):
(shouldBe):
(shouldBeTrue):
(shouldBeFalse):

1:38 PM Changeset in webkit [187679] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebCore

Merged r187675. rdar://problem/21632211

1:36 PM Changeset in webkit [187678] by basile_clement@apple.com
  • 3 edits in branches/jsc-tailcall/Source/JavaScriptCore

jsc-tailcall: Emit a single callee-save restoration for fast and slow tail call paths
https://bugs.webkit.org/show_bug.cgi?id=147501

Reviewed by Michael Saboff.

We are currently emitting this twice for no reason.

  • jit/JITCall.cpp:

(JSC::JIT::compileOpCall):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileOpCall):

1:34 PM Changeset in webkit [187677] by commit-queue@webkit.org
  • 9 edits
    5 adds in trunk/Source/JavaScriptCore

Implement WebAssembly module parser
https://bugs.webkit.org/show_bug.cgi?id=147293

Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-07-31
Reviewed by Mark Lam.

Re-landing after fix for the "..\..\jsc.cpp(46): fatal error C1083: Cannot open
include file: 'JSWASMModule.h'" issue on Windows.

Implement WebAssembly module parser for WebAssembly files produced by pack-asmjs
<https://github.com/WebAssembly/polyfill-prototype-1>. This patch only checks
the magic number at the beginning of the files. Parsing of the rest will be
implemented in a subsequent patch.

(GlobalObject::finishCreation):
(functionLoadWebAssembly):

  • parser/SourceProvider.h:

(JSC::WebAssemblySourceProvider::create):
(JSC::WebAssemblySourceProvider::data):
(JSC::WebAssemblySourceProvider::WebAssemblySourceProvider):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::wasmModuleStructure):

  • wasm/WASMMagicNumber.h: Added.
  • wasm/WASMModuleParser.cpp: Added.

(JSC::WASMModuleParser::WASMModuleParser):
(JSC::WASMModuleParser::parse):
(JSC::WASMModuleParser::parseModule):
(JSC::parseWebAssembly):

  • wasm/WASMModuleParser.h: Added.
  • wasm/WASMReader.cpp: Added.

(JSC::WASMReader::readUnsignedInt32):
(JSC::WASMReader::readFloat):
(JSC::WASMReader::readDouble):

  • wasm/WASMReader.h: Added.

(JSC::WASMReader::WASMReader):

1:31 PM Changeset in webkit [187676] by basile_clement@apple.com
  • 6 edits in branches/jsc-tailcall/Source/JavaScriptCore

jsc-tailcall: Don't waste stack space when arity fixup was performed
https://bugs.webkit.org/show_bug.cgi?id=147447

Reviewed by Michael Saboff.

r187618 tried to handle this, but did not include the LLInt and did it
wrong anyway. When making a call, the caller first aligns the callee's
frame, then makes the call. If the callee later performs arity fixup,
it does not try to reuse the potential slot left empty by the caller's
frame alignment: instead, it aligns the parameters - arguments delta.
So when trying to find out where our frame starts, we should replicate
this behavior, which we were previously not doing and was the cause of
https://bugs.webkit.org/show_bug.cgi?id=147491.

While here, I also removed the extra slot that used to save the
returnPC for the arity fixup return thunk (that we got rid of in
https://bugs.webkit.org/show_bug.cgi?id=146847) and was now just
wasting stack space.

  • jit/CCallHelpers.h:
  • jit/ThunkGenerators.cpp:

(JSC::arityFixupGenerator):

  • llint/LowLevelInterpreter.asm:
  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::arityCheckFor):

  • tests/stress/tail-call-no-stack-overflow.js:

(strictLoopArityFixup1):
(strictLoopArityFixup2):

1:21 PM Changeset in webkit [187675] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

CRASH at WebCore::TaskDispatcher<WebCore::ScriptExecutionContext>::postTask + 38
https://bugs.webkit.org/show_bug.cgi?id=147485

Rubber-stamped by Joseph Pecoraro.

Follow-up test crash fix: call superclass's contextDestroyed() which allows the
m_scriptExecutionContext variable to be cleared.

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::contextDestroyed):
1:17 PM Changeset in webkit [187674] by msaboff@apple.com
  • 2 edits in branches/jsc-tailcall/Source/JavaScriptCore

jsc-tailcall: REGRESSION(r187639): Need to restore callee saves in LLInt before tail call
https://bugs.webkit.org/show_bug.cgi?id=147500

Reviewed by Basile Clement.

Restore callee saves at the head of the prepareForTailCall() macro.

  • llint/LowLevelInterpreter.asm:
1:15 PM Changeset in webkit [187673] by matthew_hanson@apple.com
  • 4 edits in branches/safari-601.1-branch/Source/WebCore

Merge r187655. rdar://problem/21632211

1:15 PM Changeset in webkit [187672] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebCore

Merge r187630. rdar://problem/18835799

1:15 PM Changeset in webkit [187671] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merge r187614. rdar://problem/22064327

1:01 PM Changeset in webkit [187670] by msaboff@apple.com
  • 2 edits in branches/jsc-tailcall/Source/JavaScriptCore

jsc-tailcall:Eliminate the unsafe use of regT5 in arityFixupGenerator() for X86-64 Windows
https://bugs.webkit.org/show_bug.cgi?id=147499

Reviewed by Basile Clement.

For X86-64, Windows, regT0 is free so use that register instead of regT5.

  • jit/ThunkGenerators.cpp:

(JSC::arityFixupGenerator):

12:43 PM Changeset in webkit [187669] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit/mac

REGRESSION (r174791): Returning a zombie NSImage from sharingService:transitionImageForShareItem:contentRect:
<rdar://problem/22060183> and https://bugs.webkit.org/show_bug.cgi?id=147497

Reviewed by Tim Horton.

  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::imageForCurrentSharingServicePickerItem): Don't return what is basically a temporary NSImage.

Instead do a [[retain] autorelease] on it while still valid.

12:25 PM Changeset in webkit [187668] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Only generate "themeWin*" UserAgentStyleSheet constants for Windows builds
https://bugs.webkit.org/show_bug.cgi?id=147378

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-31
Reviewed by Alex Christensen.

  • DerivedSources.make:

Only include windows user agent style sheets for Windows OSes.

11:41 AM Changeset in webkit [187667] by Lucas Forschler
  • 2 edits
    1 copy in branches/safari-601.1-branch/Source/JavaScriptCore

Merged r187579. rdar://problem/21668986

11:38 AM Changeset in webkit [187666] by Lucas Forschler
  • 3 edits in branches/safari-601.1-branch/Source/WebCore

Merged r187557. rdar://problem/21412186

11:33 AM Changeset in webkit [187665] by Lucas Forschler
  • 8 edits in branches/safari-601.1-branch

Merged r187556. rdar://problem/21771620

11:30 AM Changeset in webkit [187664] by Lucas Forschler
  • 5 edits
    2 copies in branches/safari-601.1-branch

Merged r187535. rdar://problem/21852603

11:22 AM Changeset in webkit [187663] by Lucas Forschler
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merged r187530. rdar://problem/21833987

11:19 AM Changeset in webkit [187662] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-601.1-branch

Merged r187525. rdar://problem/22022011

11:10 AM Changeset in webkit [187661] by Lucas Forschler
  • 26 edits in branches/safari-601.1-branch/LayoutTests

Merged r187523. rdar://problem/22010303

11:08 AM Changeset in webkit [187660] by Lucas Forschler
  • 13 edits in branches/safari-601.1-branch/Source

Merged r187522. rdar://problem/19892014

11:07 AM Changeset in webkit [187659] by achristensen@apple.com
  • 18 edits in trunk

Prepare for debug CMake builds on Windows.
https://bugs.webkit.org/show_bug.cgi?id=147484

Reviewed by Tim Horton.

.:

  • Source/cmake/OptionsWindows.cmake:

Don't use debug runtimes in debug builds because the dependencies are only built with multithreaded runtimes.

Source/WebCore:

In order to get debug builds to link on Windows with CMake, we will need to use AllInOnes.
This patch includes more files in the AllInOnes and removes some duplicate code.

  • WebCore.vcxproj/WebCore.vcxproj:
  • bindings/js/JSBindingsAllInOne.cpp:
  • css/CSSAllInOne.cpp:

Many files were added to the AllInOne files. They should not be included in the Visual Studio solutions.

  • css/CSSCalculationValue.cpp:

(WebCore::CSSCalcValue::create):
Use CSSParserString::equalIgnoringCase to avoid ambiguous calls to overloaded functions.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::pseudoStyleRulesForElement):
(WebCore::shouldApplyPropertyInParseOrder):
(WebCore::convertToFloatLength): Deleted.

  • css/TransformFunctions.cpp:

(WebCore::transformOperationType):
(WebCore::convertToFloatLength):

  • css/TransformFunctions.h:

Removed duplicate convertToFloatLength function.

  • html/HTMLElementsAllInOne.cpp:
  • rendering/FlowThreadController.cpp:

(WebCore::FlowThreadController::updateNamedFlowsLayerListsIfNeeded):
(WebCore::compareZIndexFlowThreadController): Renamed from compareZIndex to prevent naming conflicts.
(WebCore::FlowThreadController::collectFixedPositionedLayers):
(WebCore::compareZIndex): Deleted.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::shouldRepaintAfterLayout):
(WebCore::compositedWithOwnBackingStore):

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

(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
(WebCore::descendantLayerPaintsIntoAncestor):
(WebCore::RenderLayerBacking::paintIntoLayer):
(WebCore::RenderLayerBacking::paintContents):
(WebCore::compositedWithOwnBackingStore): Deleted.
Removed duplicate compositedWithOwnBackingStore.
(WebCore::paintScrollbar): Deleted duplicate function.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresScrollLayer):
(WebCore::paintScrollbar):

  • rendering/RenderLayerCompositor.h:
  • rendering/RenderingAllInOne.cpp:
11:01 AM Changeset in webkit [187658] by Lucas Forschler
  • 4 edits in branches/safari-601.1-branch/Source/WebCore

Merged r187521. rdar://problem/22038421

10:56 AM Changeset in webkit [187657] by Lucas Forschler
  • 4 edits in branches/safari-601.1-branch/Source/WebCore

Merged r187516. rdar://problem/20847009

10:49 AM Changeset in webkit [187656] by Lucas Forschler
  • 2 edits in branches/safari-601.1-branch/LayoutTests

Merged r187512. rdar://problem/22010303

10:49 AM Changeset in webkit [187655] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebCore

CRASH at WebCore::TaskDispatcher<WebCore::ScriptExecutionContext>::postTask + 38
https://bugs.webkit.org/show_bug.cgi?id=147485

Reviewed by Eric Carlson.

CrashLogs indicate a use-after-free of the ScriptExecutionContext (i.e., Document) used by
the GenericTaskQueue objects owned by HTMLMediaElement. When the ScriptExecutionContext
notifies its ActiveDOMObjects that it is about to be destroyed, close() the
GenericTaskQueues so that they can no longer accept new tasks.

Previously, enqueueing a task on a closed GenericTaskQueue ASSERTed in debug builds, but
silently succeeded in release builds. Calling enqueueTask() on a closed GenericTaskQueue is
now a no-op.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::contextDestroyed):

  • html/HTMLMediaElement.h:
  • platform/GenericTaskQueue.h:

(WebCore::GenericTaskQueue::enqueueTask):

10:08 AM Changeset in webkit [187654] by mrajca@apple.com
  • 2 edits
    2 adds in trunk/LayoutTests

Media Session: add test for MediaSession.releaseSession()
https://bugs.webkit.org/show_bug.cgi?id=147478

Reviewed by Eric Carlson.

  • media/session/releasing-sessions-expected.txt: Added.
  • media/session/releasing-sessions.html: Added.
  • platform/mac/TestExpectations: Media Session support is disabled by default.
9:59 AM Changeset in webkit [187653] by mrajca@apple.com
  • 2 edits
    2 adds in trunk/LayoutTests

Media Session: add test to ensure next/previous-track event handlers are not fired when they are disabled
https://bugs.webkit.org/show_bug.cgi?id=147477

Reviewed by Eric Carlson.

  • media/session/track-media-events-disabled-expected.txt: Added.
  • media/session/track-media-events-disabled.html: Added.
  • platform/mac/TestExpectations: Media Session support is disabled by default.
9:51 AM Changeset in webkit [187652] by mrajca@apple.com
  • 2 edits
    2 adds in trunk/LayoutTests

Media Session: add test to ensure media sessions are in an Idle state after creation
https://bugs.webkit.org/show_bug.cgi?id=147471

Reviewed by Eric Carlson.

  • media/session/session-creation-expected.txt: Added.
  • media/session/session-creation.html: Added.
  • platform/mac/TestExpectations: Media Session support is disabled by default.
9:44 AM Changeset in webkit [187651] by Lucas Forschler
  • 12 edits in branches/safari-601.1-branch/Source

Merged r187491. rdar://problem/21718407

9:42 AM Changeset in webkit [187650] by Lucas Forschler
  • 18 edits
    34 copies
    2 deletes in branches/safari-601.1-branch

Merged r187489. rdar://problem/22010303

9:35 AM Changeset in webkit [187649] by Lucas Forschler
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merged r187471. rdar://problem/22021772

9:33 AM Changeset in webkit [187648] by Lucas Forschler
  • 4 edits in branches/safari-601.1-branch/Source/WebCore

Merged r187466. rdar://problem/21960398

9:25 AM Changeset in webkit [187647] by Lucas Forschler
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merged r187462. rdar://problem/22020770

9:05 AM Changeset in webkit [187646] by Lucas Forschler
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merged r187459. rdar://problem/21701858

9:01 AM Changeset in webkit [187645] by Lucas Forschler
  • 2 edits in branches/safari-601.1-branch/Source/WebCore

Merged r187448. rdar://problem/21948230

9:00 AM Changeset in webkit [187644] by Lucas Forschler
  • 2 edits in branches/safari-601.1-branch/Source/WebCore

Merged r187379. rdar://problem/21948230

8:58 AM Changeset in webkit [187643] by Lucas Forschler
  • 9 edits in branches/safari-601.1-branch/Source

Merged r187375. rdar://problem/21948230

7:28 AM Changeset in webkit [187642] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[EFL] Fix pixman build on ARM with GCC 4.9.3
https://bugs.webkit.org/show_bug.cgi?id=147224

Reviewed by Gyuyoung Kim.

  • efl/jhbuild.modules: Disable ARM IWMMXT fast paths as workarounding a GCC bug.
5:24 AM Changeset in webkit [187641] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[GTK] NPAPI code crashes on Wayland
https://bugs.webkit.org/show_bug.cgi?id=147297

Reviewed by Žan Doberšek.

Do not crete NPAPI plugins when runing on Wayland, since they are
not supported. ENABLE_NETSCAPE_PLUGIN_API option used to be
incompatible with building with the Wayland target, but now that
we allow to build X11 and Wayland targets at the same time, we
need runtime checks to avoid creating NPAPI plugins in Wayland.

  • UIProcess/API/gtk/WebKitSettings.cpp:

(webkit_settings_set_enable_plugins): Do not allow to change the
setting when running in Wayland.

  • UIProcess/gtk/WebPreferencesGtk.cpp:

(WebKit::WebPreferences::platformInitializeStore): Initialize
EnablePlugins preference to false when running in Wayland.

1:06 AM Changeset in webkit [187640] by zandobersek@gmail.com
  • 5 edits in trunk/Source/WebCore

[GTK] Have DataObjectGtk::unknownTypes() return a reference to the HashMap object
https://bugs.webkit.org/show_bug.cgi?id=147401

Reviewed by Carlos Garcia Campos.

Don't copy the DataObjectGtk::m_unknownTypes HashMap on every retrieval through
DataObjectGtk::unknownTypes(). The range-based for-loops that iterate over the
map in PasteboardGtk.cpp and PasteboardHelper.cpp are also cleaned up.

  • platform/gtk/DataObjectGtk.cpp:

(WebCore::DataObjectGtk::unknownTypes):

  • platform/gtk/DataObjectGtk.h:
  • platform/gtk/PasteboardGtk.cpp:

(WebCore::Pasteboard::writePasteboard):
(WebCore::Pasteboard::types):

  • platform/gtk/PasteboardHelper.cpp:

(WebCore::PasteboardHelper::fillSelectionData):

Jul 30, 2015:

11:02 PM Changeset in webkit [187639] by msaboff@apple.com
  • 33 edits
    2 adds in branches/jsc-tailcall/Source/JavaScriptCore

jsc-tailcall: LLint, Baseline and DFG JIT should save & restore platform's callee-save registers
https://bugs.webkit.org/show_bug.cgi?id=146946

Reviewed by Basile Clement.

We save platform callee save registers right below the call frame header, in the location(s)
starting with VirtualRegister 0. Allocated local space in the bytecode compiler.
This space is the maximum space needed for the callee registers that the LLInt or baseline JIT
will used, rounded up to number of VirtualRegisters. The LLInt explicitly saves and restores
the registers in the functions preserveCalleeSavesUsedByLLInt and restoreCalleeSavesUsedByLLInt.
The baseline and DFG JITs saves and restores callee saves registers by what registers are included
in m_calleeSaveRegisters in the code block.

Added code to transition callee saves from one VM's format to the another as part of OSR entry and
OSR exit. Added a helper class RegisterSaveMap that has the cannonical locations for a set of
saved registers. This is used not only to save and restore registers on function entry and exit,
but also to handle OSR entry and exit cases.

Added RegisterSaveMap to build configurations.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::setCalleeSaveRegisters):
(JSC::roundCalleeSaveSpaceAsVirtualRegisters):
(JSC::CodeBlock::llintBaselineCalleeSaveSpaceAsVirtualRegisters):
(JSC::CodeBlock::calleeSaveSpaceAsVirtualRegisters):
(JSC::CodeBlock::countReoptimization):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::numberOfLLIntBaselineCalleeSaveRegisters):
(JSC::CodeBlock::calleeSaveRegisters):
(JSC::CodeBlock::llintBaselineCalleeSaveSpaceAsVirtualRegisters):
(JSC::CodeBlock::optimizeAfterWarmUp):
(JSC::CodeBlock::numberOfDFGCompiles):
Methods to manage a set of callee save registers. Also to allocate the appropriate
number of VritualRegisters for callee saves.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::allocateCalleeSaveSpace):

  • bytecompiler/BytecodeGenerator.h:

Allocate the appropriate number of VritualRegisters for callee saves needed by LLInt or baseline JIT.

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compileEntry):
(JSC::DFG::JITCompiler::compileSetupRegistersForEntry):
(JSC::DFG::JITCompiler::compileBody):
(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::compileFunction):

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

(JSC::DFG::prepareOSREntry):

  • dfg/DFGOSRExitCompiler64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::reifyInlinedCallFrames):
(JSC::DFG::adjustAndJumpToTarget):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGStackLayoutPhase.cpp:

(JSC::DFG::StackLayoutPhase::run):
Properly handle VirtualRegisters set aside for LLInt or baseline JIT callee saves.

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::storeTrustedValue):
(JSC::AssemblyHelpers::emitSaveCalleeSavesFor):
(JSC::AssemblyHelpers::emitRestoreCalleeSavesFor):
(JSC::AssemblyHelpers::emitSaveCalleeSaves):
(JSC::AssemblyHelpers::emitRestoreCalleeSaves):
(JSC::AssemblyHelpers::copyCalleeSavesFromFrameOrRegisterToVMCalleeSavesBuffer):
(JSC::AssemblyHelpers::emitMaterializeTagCheckRegisters):
(JSC::AssemblyHelpers::prologueStackPointerDelta):
Functions to save and restore callee save registers in a stack frame or other buffer.

(JSC::AssemblyHelpers::emitMaterializeTagCheckRegisters):
Helper to populate tagTypeNumberRegister and tagMaskRegister with the appropriate
constants.

  • jit/GPRInfo.h:

(JSC::GPRInfo::numberOfLLIntBaselineCalleeSaveRegisters):
Added this constant to hold the maximum number of callee save registers that we use in
the LLInt or baseline JIT.

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/JITCall.cpp:

(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):

  • jit/JITCall32_64.cpp:

(JSC::JIT::emit_op_ret):
(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_end):
(JSC::JIT::emit_op_ret):
(JSC::JIT::emit_op_enter):
(JSC::JIT::emitSlow_op_loop_hint):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_end):

  • jit/JITOperations.cpp:
  • jit/Repatch.cpp:

(JSC::linkPolymorphicCall):
Emit code to save and restore callee save registers and materialize tagTypeNumberRegister
and tagMaskRegister. Also handle callee saves when tiering up to the DFG.

  • jit/RegisterSaveMap.cpp: Added.

(JSC::RegisterSaveMap::RegisterSaveMap):
(JSC::RegisterSaveMap::getIndexFor):

  • jit/RegisterSaveMap.h: Added.

(JSC::RegisterSaveMap::size):
(JSC::RegisterSaveMap::has):
(JSC::RegisterSaveMap::maxOffset):
(JSC::RegisterSaveMap::getOffsetFor):
New class to track register offsets in the stack or other memory.

  • jit/RegisterSet.cpp:

(JSC::RegisterSet::allVMCalleeSaveRegisters):
(JSC::RegisterSet::baselineCalleeSaveRegisters):
(JSC::RegisterSet::dfgCalleeSaveRegisters):

  • jit/RegisterSet.h:

Fixed set of callee save registers for callee save regsiters in any VM, for the baseline JIT and for the
DFG.

  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:

Save and restor callee saves used by the LLInt. Added code to handle OSR entry.
Changed the LLInt arity fixup to always use the LLInt supplied loop as the LLInt needs to include
callee saves as they need to be saved before calling the slow path that does arity checking since the
PC register is derived from the value in a callee save register. Therefore that callee save needs to
be used before arity fixup, meaning that we need to save the prior contents.

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

(JSC::VM::calleeSaveRegistersBufferOffset):
(JSC::VM::getAllCalleeSaveRegistersMap):
Provide a RegisterSaveMap that has all registers that might be saved. Added a callee save buffer to be
used for OSR exit and for exception processing in a future patch.

8:48 PM Changeset in webkit [187638] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

RenderTheme::paintBorderOnly and paintDecorations should take RenderBox instead of RenderObject.
https://bugs.webkit.org/show_bug.cgi?id=147470

Reviewed by Simon Fraser.

Tighten the code so that RenderTheme paint functions take RenderBox instead of RenderObject.

No change in functionality.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):

  • rendering/RenderTheme.h:
8:40 PM Changeset in webkit [187637] by msaboff@apple.com
  • 6 edits in branches/jsc-tailcall/Source/JavaScriptCore

jsc-tailcall: Eliminate rdi from temp register list for X86-64 Windows
https://bugs.webkit.org/show_bug.cgi?id=147461

Reviewed by Basile Clement.

Eliminated rdi from the list of temporary registers for X86-64 Windows as it
is a callee saves register. This reduced the number of temporary registers
for X86-64 Windows. Since the LLInt needs 6 available registers in a couple
of places, added a register alias called extraTempReg which is t0 on X86-64
Windows and t5 on all other platforms.

As a result of this change, I changed the "PC" register in the LLInt from t5
to t4.

  • jit/GPRInfo.h:

(JSC::GPRInfo::toRegister):
(JSC::GPRInfo::toIndex):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • offlineasm/x86.rb:
7:07 PM Changeset in webkit [187636] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.8.9

New tag.

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

New tag.

6:55 PM Changeset in webkit [187634] by Matt Baker
  • 7 edits in trunk/Source/WebInspectorUI

Web Inspector: Better share objects generated from timeline events (Records)
https://bugs.webkit.org/show_bug.cgi?id=147029

Reviewed by Brian Burg.

This patch changes the way TimelineManager processes events, preserving the event hierarchy after
converting payloads to TimelineRecord objects by retaining parent-child relationships between records.
This eliminates the need for RenderingFrameTimelineRecord objects to create a separate copy of their child
records, and provides richer data for the Timelines UI.

  • UserInterface/Controllers/TimelineManager.js:

(WebInspector.TimelineManager.prototype.eventRecorded):
Track the parent TimelineRecord as child record payloads are unpacked, and create
a hierarchy of TimelineRecords that mirrors the original event payload hierarchy.
(WebInspector.TimelineManager.prototype._processRecord):
RenderingFrameTimelineRecord is now processed like any other event.
(WebInspector.TimelineManager.prototype._processNestedRecords): Deleted.
Reverted back to a single pass over the incoming timeline event payload.

  • UserInterface/Models/LayoutTimelineRecord.js:

(WebInspector.LayoutTimelineRecord):
(WebInspector.LayoutTimelineRecord.prototype.get duringComposite): Deleted.
Removed duringComposite property and constructor parameter. No longer needed.

  • UserInterface/Models/RenderingFrameTimelineRecord.js:

(WebInspector.RenderingFrameTimelineRecord.prototype.get children): Deleted.
Removed children property. It now exists on the base class TimelineRecord.
Also removed code that was needed to prevent paint time from being added twice.

  • UserInterface/Models/ScriptTimelineRecord.js:

(WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload):
(WebInspector.ScriptTimelineRecord):
Removed workaround added in:
<https://webkit.org/b/147025> Web Inspector: REGRESSION (r186218) ScriptTimelineRecord attempts to access null property

  • UserInterface/Models/TimelineRecord.js:

(WebInspector.TimelineRecord):
(WebInspector.TimelineRecord.prototype.get children):
Added children property.

  • UserInterface/Views/RenderingFrameTimelineView.js:

(WebInspector.RenderingFrameTimelineView.prototype._processPendingRecords):
Now that we preserve the frame's child record hierarchy, we process the entire tree,
yielding richer data grid output:

Frame X

Styles Recalculated

Layout Invalidated

Composite

Paint
Paint

Compared to the previous output:

Frame X

Styles Recalculated
Layout Invalidated
Composite
Paint
Paint

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

Roll out r186895. rdar://problem/21714851

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

Roll out r187048. rdar://problem/21714851

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

Roll out r187490. rdar://problem/22035036

5:52 PM Changeset in webkit [187630] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

[CF] Web process continually eating memory on simple, shared Google Docs spreadsheet.
<https://webkit.org/b/147403>
<rdar://problem/18835799>

Reviewed by Geoffrey Garen.

Make sure we service the CFRunLoop on worker threads, since ports using CoreFoundation
will be scheduling garbage collections and heap sweeps using CFRunLoop timers.

This fix is a stopgap. Long term we need a better design for integrating GC tasks with
with the web worker run loop.

  • workers/WorkerRunLoop.cpp:

(WebCore::WorkerRunLoop::runInMode): Instead of sleeping forever, calculate a better
wakeup deadline by asking the CFRunLoop when its next timer will fire. Then, when a
timeout occurs, call CFRunLoopRunInMode (with seconds=0) to service pending timers.

5:43 PM Changeset in webkit [187629] by basile_clement@apple.com
  • 12 edits
    2 adds in branches/jsc-tailcall/Source/JavaScriptCore

jsc-tailcall: Add enums for type-safety
https://bugs.webkit.org/show_bug.cgi?id=147475

Reviewed by Michael Saboff.

This adds:

  • A CallMode enum to distinguish tail calls from regular calls from construct
  • A FrameAction enum to indicate whether to keep or reuse the call frame. It also changes JITOperations.h to correctly use this to tell slowPathFor to *not* trash the frame on a regular call (before r187505, this was statically known in slowPathFor).

(JSC::AbstractMacroAssembler::repatchNearCall):

  • assembler/CodeLocation.h:

(JSC::CodeLocationNearCall::CodeLocationNearCall):
(JSC::CodeLocationNearCall::callMode):
(JSC::CodeLocationCommon::nearCallAtOffset):

  • assembler/LinkBuffer.h:

(JSC::LinkBuffer::locationOfNearCall):

  • bytecode/CallLinkInfo.h:

(JSC::CallLinkInfo::callModeFor):
(JSC::CallLinkInfo::callMode):
(JSC::CallLinkInfo::isTailCall):
(JSC::CallLinkInfo::isVarargs):

  • bytecode/CallMode.cpp: Added.

(WTF::printInternal):

  • bytecode/CallMode.h: Added.
  • jit/JITOperations.cpp:
  • jit/Repatch.cpp:

(JSC::linkPolymorphicCall):

  • jit/ThunkGenerators.cpp:

(JSC::slowPathFor):
(JSC::virtualThunkFor):

5:37 PM Changeset in webkit [187628] by bshafiei@apple.com
  • 2 edits in branches/safari-600.8-branch/Source/WebCore

Roll out r186863. rdar://problem/21714843

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

LayoutTests/inspector frequently run slow and timeout when run in WebKit2 but not WebKit1
https://bugs.webkit.org/show_bug.cgi?id=147456

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-30
Reviewed by Timothy Hatcher.

By default, WebKit2 WebPage's on PLATFORM(COCOA) enabling DOM Timer
throttling. Under testing, this ends up impacting Web Inspector
tests that create their own WKWebView which never gets displayed
and so gets throttled. Disable throttling on the Inspector's view
during testing.

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _hiddenPageDOMTimerThrottlingEnabled]):
(-[WKPreferences _setHiddenPageDOMTimerThrottlingEnabled:]):
SPI to toggle DOM timer throttling.

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::createInspectorPage):

  • UIProcess/WebInspectorProxy.h:

(WebKit::WebInspectorProxy::isUnderTest):
Provide a way to get if we are under test, and set it before
calling into the platform method.

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):
When testing, disable timer throttling.

5:12 PM Changeset in webkit [187626] by mmaxfield@apple.com
  • 13 edits in trunk/Source/WebCore

Move locale information into FontDescription
https://bugs.webkit.org/show_bug.cgi?id=147457

Reviewed by Andreas Kling.

Currently, the "lang" attribute on a node sets locale information in RenderStyle.
Font selection is sensitive to this locale information, and occurs deep within
platform/ code, far away from RenderStyle. Because every RenderStyle owns a
FontDescription, and font selection can consult with FontDescriptions, it makes
sense to move the variable from RenderStyle to FontDescription, and provide
convenience methods on RenderStyle which inspect its FontDescription for locale
information.

This patch is in preparation for correctly obeying locale information when
performing font fallback.

No new tests because there is no behavior change.

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

(WebCore::StyleBuilderCustom::applyValueWebkitLocale):

  • platform/graphics/FontCache.h:

(WebCore::FontDescriptionKey::FontDescriptionKey):
(WebCore::FontDescriptionKey::operator==):

  • platform/graphics/FontCascade.cpp:
  • platform/graphics/FontDescription.cpp:

(WebCore::FontDescription::FontDescription):
(WebCore::FontDescription::setLocale):

  • platform/graphics/FontDescription.h:

(WebCore::FontDescription::locale):
(WebCore::FontDescription::initialLocale):
(WebCore::FontDescription::operator==):
(WebCore::FontDescription::FontDescription): Deleted.
(WebCore::FontDescription::setScript): Deleted.

  • platform/text/LocaleToScriptMappingDefault.cpp:

(WebCore::localeToScriptCodeForFontSelection):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayout): Deleted.

  • rendering/style/RenderStyle.h:
  • rendering/style/StyleRareInheritedData.cpp:

(WebCore::StyleRareInheritedData::StyleRareInheritedData): Deleted.
(WebCore::StyleRareInheritedData::operator==): Deleted.

  • rendering/style/StyleRareInheritedData.h:
  • style/StyleResolveForDocument.cpp:

(WebCore::Style::resolveForDocument):

4:56 PM Changeset in webkit [187625] by Devin Rousso
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Support smart-pasting in the Rules sidebar panel
https://bugs.webkit.org/show_bug.cgi?id=147362

Reviewed by Timothy Hatcher.

When pasting over the selector, if the pasted text matches CSS rule
formatting, replace the selected rule with the selector and text in
the pasted data.

  • UserInterface/Models/DOMNodeStyles.js:

(WebInspector.DOMNodeStyles.prototype.changeRule.changeCompleted):
(WebInspector.DOMNodeStyles.prototype.changeRule.styleChanged):
(WebInspector.DOMNodeStyles.prototype.changeRule.changeText):
(WebInspector.DOMNodeStyles.prototype.changeRule.ruleSelectorChanged):
(WebInspector.DOMNodeStyles.prototype.changeRule):

  • UserInterface/Views/CSSStyleDeclarationSection.js:

(WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste.parseTextForRule):
(WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste):
(WebInspector.CSSStyleDeclarationSection):

4:51 PM Changeset in webkit [187624] by andersca@apple.com
  • 2 edits in trunk/Tools

Add support for window.open to WK1BrowserWindowController
https://bugs.webkit.org/show_bug.cgi?id=147474

Reviewed by Dan Bernstein.

  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController awakeFromNib]):
Set javaScriptCanOpenWindowsAutomatically to YES.
If this becomes a nuisance, we can always add a menu item to toggle this.

(-[WK1BrowserWindowController webView:createWebViewWithRequest:]):
Implement this UI delegate method.

4:47 PM Changeset in webkit [187623] by andersca@apple.com
  • 2 edits in trunk/Tools

Undo stray commit.

  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController awakeFromNib]):
(-[WK1BrowserWindowController webView:createWebViewWithRequest:]):

4:46 PM Changeset in webkit [187622] by andersca@apple.com
  • 3 edits in trunk

Remove stray printf.

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::requestObject):

4:41 PM Changeset in webkit [187621] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Make Path::apply() take a function reference
https://bugs.webkit.org/show_bug.cgi?id=147472

Reviewed by Anders Carlsson.

Path::apply() should take a const reference to a std::function.

  • platform/graphics/Path.h:
  • platform/graphics/cairo/PathCairo.cpp:
  • platform/graphics/cg/PathCG.cpp:

(WebCore::CGPathApplierToPathApplier):
(WebCore::Path::apply):

4:38 PM Changeset in webkit [187620] by andersca@apple.com
  • 9 edits
    3 adds in trunk

Assertion failure when a plug-in loads a resource that redirects somewhere
https://bugs.webkit.org/show_bug.cgi?id=147469

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test: http/tests/plugins/get-url-redirect.html

r186597 moved the call to addPlugInStreamLoader to willSendRequest. This is wrong since
willSendRequest can be invoked more than once.

Fix this by making the initialization phase of NetscapePlugInStreamLoader be more like
SubresourceLoader where we only call addPlugInStreamLoader once we've successfully initialized
the loader, and only call removePlugInStreamLoader if we've called addPlugInStreamLoader.

Also change addPlugInStreamLoader and removePlugInStreamLoader to take references.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::addPlugInStreamLoader):
(WebCore::DocumentLoader::removePlugInStreamLoader):

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

(WebCore::NetscapePlugInStreamLoader::create):
(WebCore::NetscapePlugInStreamLoader::init):
(WebCore::NetscapePlugInStreamLoader::didFinishLoading):
(WebCore::NetscapePlugInStreamLoader::didFail):
(WebCore::NetscapePlugInStreamLoader::didCancel):
(WebCore::NetscapePlugInStreamLoader::notifyDone):

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

(WebCore::ResourceLoader::willSendRequest): Deleted.

  • loader/ResourceLoader.h:

(WebCore::ResourceLoader::isPlugInStreamLoader): Deleted.

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::requestObject):

LayoutTests:

Add a test.

  • http/tests/plugins/get-url-redirect-expected.txt: Added.
  • http/tests/plugins/get-url-redirect.html: Added.
  • http/tests/plugins/resources/redirection-response.php: Added.
4:25 PM Changeset in webkit [187619] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Fix typo in frame duration filtering console.assert message
https://bugs.webkit.org/show_bug.cgi?id=147458

Rubber-stamped by Joseph Pecoraro.

  • UserInterface/Views/RenderingFrameTimelineView.js:

(WebInspector.RenderingFrameTimelineView.displayNameForDurationFilter):

4:19 PM Changeset in webkit [187618] by basile_clement@apple.com
  • 8 edits in branches/jsc-tailcall/Source/JavaScriptCore

jsc-tailcall: Don't waste stack space when arity fixup was performed
https://bugs.webkit.org/show_bug.cgi?id=147447

Reviewed by Michael Saboff.

When doing a tail call, we overwrite an amount of stack space based on
the number of arguments in the call frame. If we entered the tail
caller by performing an arity fixup, this is incorrect and leads to
wasted stack space - we must use the CodeBlock's number of parameters
instead in that case.

This patch is also moving the prepareForTailCall() function from
jit/ThunkGenerators.h to the place where it should have always been,
namely jit/CCallHelpers.h

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::prepareForTailCallSlow):

  • jit/JITCall.cpp:

(JSC::JIT::compileOpCall):

  • jit/Repatch.cpp:

(JSC::linkPolymorphicCall):

  • jit/ThunkGenerators.cpp:

(JSC::slowPathFor):
(JSC::virtualThunkFor):

  • jit/ThunkGenerators.h:
  • tests/stress/tail-call-no-stack-overflow.js:

(strictLoopArityFixup):

4:17 PM Changeset in webkit [187617] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

[iOS] Pressing 'done' in fullscreen video sometimes does nothing; stuck in fullscreen
https://bugs.webkit.org/show_bug.cgi?id=147367

Reviewed by Eric Carlson.

During the request to exit fullscreen, the video element's m_videoFullscreenMode variable
is set, but no exitFullscreen() request is sent up to the UIProcess. Previous threading
issues have been discovered and fixed, but may have been re-introduced (or never fully
fixed in the first place). To solve the bad behavior this threading issue creates, add
a watchdog timer, similar to the one used in the desktop fullscreen controller, to ensure
that if an exit fullscreen request is not acted upon, the UIProcess forcibly exits fullscreen
anyway.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::WebVideoFullscreenInterfaceAVKit): Initialize the timer.
(WebVideoFullscreenInterfaceAVKit::exitFullscreen): Cancel the timer.
(WebVideoFullscreenInterfaceAVKit::shouldExitFullscreenWithReason): Set the timer.
(WebVideoFullscreenInterfaceAVKit::watchdogTimerFired): Forcibly exit fullscreen mode.

4:08 PM Changeset in webkit [187616] by basile_clement@apple.com
  • 2 edits in branches/jsc-tailcall/Source/JavaScriptCore

jsc-tailcall: We should consider a tail call as an exit in the LLInt for the purpose of switching to the JIT
https://bugs.webkit.org/show_bug.cgi?id=147449

Reviewed by Michael Saboff.

  • llint/LowLevelInterpreter.asm:
4:07 PM Changeset in webkit [187615] by mmaxfield@apple.com
  • 3 edits in trunk/Source/WebCore

Clean up makeFontCascadeCacheKey()
https://bugs.webkit.org/show_bug.cgi?id=147430

Reviewed by Benjamin Poulain.

FontDescriptionKey is designed to encapsulate all the cacheable properties of a FontDescription.
However, a higher-level cache, FontCascadeCacheKey, was taking some values from FontDescriptions.
The fact that there wasn't a bug before is just a happy coincidence. This patch moves those bits
from the higher-level cache and puts them into FontDescriptionKey where they belong.

No new tests because there is no behavior change.

  • platform/graphics/FontCache.h:

(WebCore::FontDescriptionKey::makeFlagKey):

  • platform/graphics/FontCascade.cpp:

(WebCore::operator==):
(WebCore::makeFontSelectorFlags): Deleted.
(WebCore::makeFontCascadeCacheKey): Deleted.
(WebCore::computeFontCascadeCacheHash): Deleted.

3:56 PM Changeset in webkit [187614] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] Set AirPlay discovery mode to disabled when page is hidden
https://bugs.webkit.org/show_bug.cgi?id=147455

Reviewed by Enrica Casucci.

  • UIProcess/ios/forms/WKAirPlayRoutePicker.mm:

(-[WKAirPlayRoutePicker _dismissAirPlayRoutePickerIPad]): Set discovery mode to disabled after

the picker has been closed.

(-[WKAirPlayRoutePicker showAirPlayPickerIPhone:]): Ditto.

3:26 PM Changeset in webkit [187613] by mrajca@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] Media Session: add support for more telephony interruptions
https://bugs.webkit.org/show_bug.cgi?id=147079

Reviewed by Eric Carlson.

  • platform/mediasession/mac/MediaSessionInterruptionProviderMac.mm:

(WebCore::callDidEndRinging): End 'Transient' interruptions.
(WebCore::callDidConnect): Forward this event to media sessions as a 'Content' interruption.
(WebCore::MediaSessionInterruptionProviderMac::beginListeningForInterruptions): Register observers for new

notification types.

(WebCore::MediaSessionInterruptionProviderMac::stopListeningForInterruptions): Unregister all observers.

3:13 PM Changeset in webkit [187612] by mrajca@apple.com
  • 2 edits
    2 adds in trunk/LayoutTests

Media Session: test Play/Pause media control events delivered to non-Content media sessions https://bugs.webkit.org/show_bug.cgi?id=147414

Reviewed by Eric Carlson.

  • media/session/play-pause-media-events-in-non-content-sessions-expected.txt: Added.
  • media/session/play-pause-media-events-in-non-content-sessions.html: Added.
  • platform/mac/TestExpectations: Media Session support is disabled by default.
2:58 PM Changeset in webkit [187611] by mrajca@apple.com
  • 2 edits
    2 adds in trunk/LayoutTests

Media Session: test Play/Pause media control events delivered to Content media sessions
https://bugs.webkit.org/show_bug.cgi?id=147413

Reviewed by Eric Carlson.

  • media/session/play-pause-media-events-in-content-sessions-expected.txt: Added.
  • media/session/play-pause-media-events-in-content-sessions.html: Added.
  • platform/mac/TestExpectations: Media Session support is disabled by default.
2:50 PM Changeset in webkit [187610] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebCore

Merge r187490. rdar://problem/21995928

2:22 PM Changeset in webkit [187609] by dino@apple.com
  • 45 edits
    3 copies in trunk

Don't use (Details) when exposing SPI
https://bugs.webkit.org/show_bug.cgi?id=147426
<rdar://problem/22062407>

Reviewed by Dan Bernstein.

If we are declaring the interface without any implementation,
we should use class extensions.

Source/WebCore:

Added three new SPI.h files for NSButtonCell, NSURLConnection and
NSURLRequest.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/mac/ScrollViewMac.mm:
  • platform/mac/ThemeMac.mm:
  • platform/network/mac/ResourceHandleMac.mm:
  • platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
  • platform/spi/cf/CFNetworkSPI.h:
  • platform/spi/cocoa/AVKitSPI.h:
  • platform/spi/cocoa/CFNSURLConnectionSPI.h:
  • platform/spi/cocoa/NSButtonCellSPI.h: Copied from Source/WebCore/platform/spi/cocoa/NSColorSPI.h.
  • platform/spi/cocoa/NSCalendarDateSPI.h:
  • platform/spi/cocoa/NSColorSPI.h:
  • platform/spi/cocoa/NSFileManagerSPI.h:
  • platform/spi/cocoa/NSStringSPI.h:
  • platform/spi/cocoa/NSURLConnectionSPI.h: Copied from Source/WebCore/platform/spi/cocoa/NSStringSPI.h.
  • platform/spi/cocoa/NSURLDownloadSPI.h:
  • platform/spi/cocoa/NSURLRequestSPI.h: Copied from Source/WebCore/platform/spi/cocoa/NSStringSPI.h.
  • platform/spi/cocoa/QuartzCoreSPI.h:
  • platform/spi/cocoa/WebFilterEvaluatorSPI.h:
  • platform/spi/ios/CoreUISPI.h:
  • platform/spi/ios/LaunchServicesSPI.h:
  • platform/spi/ios/MediaPlayerSPI.h:
  • platform/spi/ios/QuickLookSPI.h:
  • platform/spi/ios/UIColorSPI.h:
  • platform/spi/mac/QuickLookMacSPI.h:
  • rendering/RenderThemeMac.mm:

Source/WebKit/mac:

  • WebView/WebFrameView.mm:
  • WebView/WebPDFView.mm:

Source/WebKit2:

  • Platform/spi/ios/AssertionServicesSPI.h:
  • Platform/spi/ios/CorePDFSPI.h:
  • Platform/spi/ios/DataDetectorsUISPI.h:
  • Platform/spi/ios/ManagedConfigurationSPI.h:
  • Platform/spi/ios/UIKitSPI.h:
  • Shared/API/Cocoa/WKRemoteObjectCoder.mm:
  • Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm:
  • UIProcess/_WKWebViewPrintFormatter.mm:
  • UIProcess/mac/WebPageProxyMac.mm:

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:
  • DumpRenderTree/mac/EventSendingController.mm:
  • DumpRenderTree/mac/PixelDumpSupportMac.mm:
  • WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
  • WebKitTestRunner/ios/PlatformWebViewIOS.mm:
  • WebKitTestRunner/mac/PlatformWebViewMac.mm:
  • WebKitTestRunner/mac/TestControllerMac.mm:
2:20 PM Changeset in webkit [187608] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merge r187565. rdar://problem/22061043

2:20 PM Changeset in webkit [187607] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merge r187517. rdar://problem/21645007

2:20 PM Changeset in webkit [187606] by matthew_hanson@apple.com
  • 9 edits
    2 adds in branches/safari-601.1-branch

Merge r187278. rdar://problem/19908029

1:57 PM Changeset in webkit [187605] by ap@apple.com
  • 23 edits in trunk

Replace Google App Engine with AppScale
https://bugs.webkit.org/show_bug.cgi?id=147178

Patch by Aakash Jain <aakash_jain@apple.com> on 2015-07-30
Reviewed by Daniel Bates.

Tools:

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(RunWebKitTests):

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results.js:

(.):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:

(BubbleQueueServer):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitTestHistory.js:

(TestHistory):

  • BuildSlaveSupport/build.webkit.org-config/templates/root.html:
  • QueueStatusServer/app.yaml: We must explicitly define threadsafe property when using the Python 2.7 runtime. We set threadsafe to be false because the status server code was written to be run in AppEngine's CGI environment and AppEngine's CGI programming model handles requests serially per section "Concurrent Requests and WSGI" of <https://cloud.google.com/appengine/docs/python/python25/migrate27>.
  • TestResultServer/app.yaml: Ditto
  • Scripts/webkitpy/common/config/urls.py:
  • TestResultServer/main.py:
  • TestResultServer/static-dashboards/dashboard_base.js:
  • TestResultServer/static-dashboards/loader.js:

Websites/bugs.webkit.org:

  • code-review.js:
  • template/en/default/attachment/edit.html.tmpl:
  • template/en/default/attachment/list.html.tmpl:
  • template/en/default/attachment/reviewform.html.tmpl:

LayoutTests:

  • fast/harness/results.html:
1:23 PM Changeset in webkit [187604] by matthew_hanson@apple.com
  • 4 edits
    2 adds in branches/safari-601.1-branch

Merge r187504. rdar://problem/21915355

1:23 PM Changeset in webkit [187603] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merge r187478. rdar://problem/21838764

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

Remove LegacyCACFLayerTreeHost
https://bugs.webkit.org/show_bug.cgi?id=147388

Reviewed by Geoffrey Garen.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • platform/graphics/ca/win/CACFLayerTreeHost.cpp:

(WebCore::CACFLayerTreeHost::create):

  • platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp: Removed.
  • platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: Removed.
1:15 PM Changeset in webkit [187601] by achristensen@apple.com
  • 5 edits in trunk/Source/WebCore

Fix Windows build after r187587.

  • loader/SubresourceLoader.h:
  • loader/cache/CachedResource.h:
  • platform/graphics/Font.h:

(WebCore::Font::DerivedFontData::DerivedFontData):

  • rendering/RenderLayerFilterInfo.h:

Visual Studio doesn't like making std::unique_ptrs of private nested classes.
It tries to make a std::default_delete with the private class as a template parameter.

12:40 PM Changeset in webkit [187600] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

[WK2][NetworkCache] Stop closing files on the main thread
https://bugs.webkit.org/show_bug.cgi?id=147410

Reviewed by Andreas Kling.

After r186510, we no longer open cache files on the main thread.
However, we still close them on the main thread. This patch makes
sure we close the files on another thread instead.

  • NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:

(WebKit::NetworkCache::IOChannel::IOChannel):

12:26 PM Changeset in webkit [187599] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Regression: %c is broken for console.group
https://bugs.webkit.org/show_bug.cgi?id=147436

Reviewed by Timothy Hatcher.

  • UserInterface/Views/ConsoleMessageView.js:

(WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):

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

Web Inspector: Add special case for deleting the next character when editing rules in the CSS Sidebar
https://bugs.webkit.org/show_bug.cgi?id=147442

Reviewed by Timothy Hatcher.

If the cursor is on the first position of the first line in a CSS Rule and that line
has no content, delete the line instead of doing nothing.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange):

12:13 PM Changeset in webkit [187597] by Simon Fraser
  • 15 edits in trunk/Source

Convert Path applier to use std::function
https://bugs.webkit.org/show_bug.cgi?id=147368

Reviewed by Sam Weinig.

Use std::function for Path::apply().

Source/WebCore:

  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

(convertPathToScreenSpaceFunction):
(-[WebAccessibilityObjectWrapperBase convertPathToScreenSpace:]):
(ConvertPathToScreenSpaceFunction): Deleted.

  • inspector/InspectorOverlay.cpp:

(WebCore::appendPathSegment):
(WebCore::buildObjectForShapeOutside):

  • platform/graphics/Path.cpp:

(WebCore::Path::length):
(WebCore::Path::traversalStateAtLength):
(WebCore::pathLengthApplierFunction): Deleted.

  • platform/graphics/Path.h:
  • platform/graphics/cairo/FontCairo.cpp:

(WebCore::findPathIntersections):
(WebCore::FontCascade::dashesForIntersectionsWithRect):

  • platform/graphics/cairo/PathCairo.cpp:

(WebCore::Path::apply):

  • platform/graphics/cg/PathCG.cpp:

(WebCore::CGPathApplierToPathApplier):
(WebCore::Path::apply):

  • rendering/svg/RenderSVGPath.cpp:

(WebCore::RenderSVGPath::updateZeroLengthSubpaths):

  • rendering/svg/RenderSVGShape.cpp:

(WebCore::RenderSVGShape::processMarkerPositions):

  • rendering/svg/SVGMarkerData.h:

(WebCore::SVGMarkerData::updateFromPathElement):

  • rendering/svg/SVGSubpathData.h:

(WebCore::SVGSubpathData::updateFromPathElement):
(WebCore::SVGSubpathData::SVGSubpathData): Deleted.

  • svg/SVGPathUtilities.cpp:

(WebCore::pathIteratorForBuildingString):
(WebCore::buildStringFromPath):

Source/WebKit2:

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::pathEncodeApplierFunction):
(IPC::ArgumentCoder<Path>::encode):
(IPC::pathPointCountApplierFunction): Deleted.

11:47 AM Changeset in webkit [187596] by commit-queue@webkit.org
  • 12 edits in trunk

[EFL] Enable IndexedDB based on DatabaseProcess
https://bugs.webkit.org/show_bug.cgi?id=147221

Patch by Joonghun Park <jh718.park@samsung.com> on 2015-07-30
Reviewed by Csaba Osztrogonác.

.:

  • Source/cmake/OptionsEfl.cmake:

Source/WebKit2:

  • DatabaseProcess/efl/DatabaseProcessMainEfl.cpp: Add ecore_init().

Without this call, it leads to crash when launching DatabaseProcess.

  • PlatformEfl.cmake: Add missing include_directory.
  • Shared/efl/ProcessExecutablePathEfl.cpp:

(WebKit::executablePathOfDatabaseProcess):

  • UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:

(WebKit::ProcessLauncher::launchProcess):

  • UIProcess/efl/WebProcessPoolEfl.cpp:

(WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory):
Add default path for indexedDB sqlite3 db file.

Tools:

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

  • platform/efl/TestExpectations: Update IndexedDB test expectations.
11:39 AM Changeset in webkit [187595] by commit-queue@webkit.org
  • 6 edits in trunk/LayoutTests

aria-liveregions-notifications tests are very flaky
https://bugs.webkit.org/show_bug.cgi?id=147299
<rdar://problem/21998675>

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

These tests were flaky because they relied on timer notification callbacks.
Fixed these tests by using different objects to capture the notifications instead.

  • platform/mac/TestExpectations:
  • platform/mac/accessibility/aria-liveregions-notifications-always-sent-expected.txt:
  • platform/mac/accessibility/aria-liveregions-notifications-always-sent.html:
  • platform/mac/accessibility/aria-liveregions-notifications-expected.txt:
  • platform/mac/accessibility/aria-liveregions-notifications.html:
11:36 AM Changeset in webkit [187594] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

Minimize children vector capacity changes in PlatformCALayerRemote::recursiveBuildTransaction()
https://bugs.webkit.org/show_bug.cgi?id=147446

Reviewed by Simon Fraser.

Minimize children vector capacity changes in PlatformCALayerRemote::recursiveBuildTransaction()
by leveraging the fact that we know in advance how many layer IDs are going to be added. We
now set the Vector size from the start, instead of clearing it and then growing the vector
capacity when appending the layer IDs one by one.

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::recursiveBuildTransaction):

11:32 AM Changeset in webkit [187593] by Simon Fraser
  • 4 edits
    2 adds in trunk

Selecting in an iframe can cause main page scrolling
https://bugs.webkit.org/show_bug.cgi?id=147431
rdar://problem/19244589

Reviewed by Zalan Bujtas.

Source/WebCore:

The RenderLayer auatoscroll code walks up the RenderLayer hierarchy, crossing
frame boundaries. However, as it crosses into an ancestor frame it failed to
map the target rect into the coordinate space of the new frame, which caused
us to scroll to an incorrect location in that parent frame.

Test: fast/events/autoscroll-in-iframe.html

  • rendering/RenderLayer.cpp:

(WebCore::parentLayerCrossFrame): Make the layer a reference, and pass in
an optional rect. When crossing frame boundaries, map the rect from the
contents of the child frame to the contents of the parent frame.
(WebCore::RenderLayer::enclosingScrollableLayer): Pass optional rect.
(WebCore::RenderLayer::scrollRectToVisible):
(WebCore::RenderLayer::hasScrollableOrRubberbandableAncestor):

  • rendering/RenderLayer.h:

LayoutTests:

Test that uses eventSender to select in an iframe after scrolling the
main page.

  • fast/events/autoscroll-in-iframe-expected.txt: Added.
  • fast/events/autoscroll-in-iframe.html: Added.
11:31 AM Changeset in webkit [187592] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Improve the history logging output
https://bugs.webkit.org/show_bug.cgi?id=147429

Reviewed by Alexey Proskuryakov.

Improve the History log channel output to show which frame is navigating,
print the addresses of the HistoryController and Frame, and print URLs
for everything.

Remove the BackForward log channel which had just one calling location,
and log for pushState/replaceState.

  • loader/HistoryController.cpp:

(WebCore::HistoryController::updateForBackForwardNavigation):
(WebCore::HistoryController::updateForReload):
(WebCore::HistoryController::updateForStandardLoad):
(WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
(WebCore::HistoryController::updateForClientRedirect):
(WebCore::HistoryController::updateForCommit):
(WebCore::HistoryController::updateBackForwardListClippedAtTarget):
(WebCore::HistoryController::pushState):
(WebCore::HistoryController::replaceState):

  • platform/Logging.h:
11:29 AM Changeset in webkit [187591] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Add the "wasm" directory to the Additional Include Directories for jsc.exe
https://bugs.webkit.org/show_bug.cgi?id=147443

Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-07-30
Reviewed by Mark Lam.

This patch should fix the "..\..\jsc.cpp(46): fatal error C1083:
Cannot open include file: 'JSWASMModule.h'" error in the Windows build.

11:21 AM Changeset in webkit [187590] by basile_clement@apple.com
  • 14 edits in branches/jsc-tailcall/Source/JavaScriptCore

Merged r187505 from trunk.

Simplify call linking
https://bugs.webkit.org/show_bug.cgi?id=147363

Reviewed by Filip Pizlo.

Previously, we were passing both the CallLinkInfo and a
(CodeSpecializationKind, RegisterPreservationMode) pair to the
different call linking slow paths. However, the CallLinkInfo already
has all of that information, and we don't gain anything by having them
in additional static parameters - except possibly a very small
performance gain in presence of inlining. However since those are
already slow paths, this performance loss (if it exists) will not be
visible in practice.

This patch removes the various specialized thunks and JIT operations
for regular and polymorphic call linking with a single thunk and
operation for each case. Moreover, it removes the four specialized
virtual call thunks and operations with one virtual call thunk for each
call link info, allowing for better branch prediction by the CPU and
fixing a pre-existing FIXME.

  • bytecode/CallLinkInfo.cpp: (JSC::CallLinkInfo::unlink): (JSC::CallLinkInfo::dummy): Deleted.
  • bytecode/CallLinkInfo.h: (JSC::CallLinkInfo::CallLinkInfo): (JSC::CallLinkInfo::registerPreservationMode): (JSC::CallLinkInfo::setUpCallFromFTL): (JSC::CallLinkInfo::setSlowStub): (JSC::CallLinkInfo::clearSlowStub): (JSC::CallLinkInfo::slowStub):
  • dfg/DFGDriver.cpp: (JSC::DFG::compileImpl):
  • dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link):
  • ftl/FTLJSCallBase.cpp: (JSC::FTL::JSCallBase::link):
  • jit/JITCall.cpp: (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCall): (JSC::JIT::compileOpCallSlowCase):
  • jit/JITCall32_64.cpp: (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCall): (JSC::JIT::compileOpCallSlowCase):
  • jit/JITOperations.cpp:
  • jit/JITOperations.h: (JSC::operationLinkFor): Deleted. (JSC::operationVirtualFor): Deleted. (JSC::operationLinkPolymorphicCallFor): Deleted.
  • jit/Repatch.cpp: (JSC::generateByIdStub): (JSC::linkSlowFor): (JSC::linkFor): (JSC::revertCall): (JSC::unlinkFor): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall):
  • jit/Repatch.h:
  • jit/ThunkGenerators.cpp: (JSC::linkCallThunkGenerator): (JSC::linkPolymorphicCallThunkGenerator): (JSC::virtualThunkFor): (JSC::linkForThunkGenerator): Deleted. (JSC::linkConstructThunkGenerator): Deleted. (JSC::linkCallThatPreservesRegsThunkGenerator): Deleted. (JSC::linkConstructThatPreservesRegsThunkGenerator): Deleted. (JSC::linkPolymorphicCallForThunkGenerator): Deleted. (JSC::linkPolymorphicCallThatPreservesRegsThunkGenerator): Deleted. (JSC::virtualForThunkGenerator): Deleted. (JSC::virtualCallThunkGenerator): Deleted. (JSC::virtualConstructThunkGenerator): Deleted. (JSC::virtualCallThatPreservesRegsThunkGenerator): Deleted. (JSC::virtualConstructThatPreservesRegsThunkGenerator): Deleted.
  • jit/ThunkGenerators.h: (JSC::linkThunkGeneratorFor): Deleted. (JSC::linkPolymorphicCallThunkGeneratorFor): Deleted. (JSC::virtualThunkGeneratorFor): Deleted.
10:19 AM Changeset in webkit [187589] by mrajca@apple.com
  • 2 edits
    2 adds in trunk/LayoutTests

Media Session: test Next/Previous Track media control events delivered to Content media sessions https://bugs.webkit.org/show_bug.cgi?id=147416

Reviewed by Eric Carlson.

  • media/session/track-media-events-in-content-sessions-expected.txt: Added.
  • media/session/track-media-events-in-content-sessions.html: Added.
  • platform/mac/TestExpectations: Media Session support is disabled by default.
10:02 AM Changeset in webkit [187588] by mrajca@apple.com
  • 5 edits in trunk/Source/WebCore

Media Session: add infrastructure for testing media control events
https://bugs.webkit.org/show_bug.cgi?id=147412

Reviewed by Eric Carlson.

  • Modules/mediasession/MediaSessionManager.h:
  • testing/Internals.cpp:

(WebCore::Internals::sendMediaControlEvent): Let tests simulate media control events.

  • testing/Internals.h:
  • testing/Internals.idl:
9:25 AM Changeset in webkit [187587] by Chris Dumez
  • 48 edits in trunk/Source

Mark more classes as fast allocated
https://bugs.webkit.org/show_bug.cgi?id=147440

Reviewed by Sam Weinig.

Mark more classes as fast allocated for performance. We heap-allocate
objects of those types throughout the code base.

Source/JavaScriptCore:

  • API/JSCallbackObject.h:
  • API/ObjCCallbackFunction.mm:
  • bytecode/BytecodeKills.h:
  • bytecode/BytecodeLivenessAnalysis.h:
  • bytecode/CallLinkStatus.h:
  • bytecode/FullBytecodeLiveness.h:
  • bytecode/SamplingTool.h:
  • bytecompiler/BytecodeGenerator.h:
  • dfg/DFGBasicBlock.h:
  • dfg/DFGBlockMap.h:
  • dfg/DFGInPlaceAbstractState.h:
  • dfg/DFGThreadData.h:
  • heap/HeapVerifier.h:
  • heap/SlotVisitor.h:
  • parser/Lexer.h:
  • runtime/ControlFlowProfiler.h:
  • runtime/TypeProfiler.h:
  • runtime/TypeProfilerLog.h:
  • runtime/Watchdog.h:

Source/WebCore:

  • editing/Editor.h:
  • history/CachedFrame.h:
  • history/CachedPage.h:
  • html/parser/HTMLResourcePreloader.h:
  • loader/PolicyChecker.h:
  • loader/SubresourceLoader.h:
  • loader/cache/CachedResource.h:
  • page/animation/AnimationController.h:
  • page/scrolling/ScrollingConstraints.h:
  • page/scrolling/ScrollingStateTree.h:
  • platform/graphics/Font.h:
  • platform/graphics/GraphicsLayerUpdater.h:
  • rendering/FilterEffectRenderer.h:
  • rendering/ImageQualityController.h:
  • rendering/RenderLayerFilterInfo.h:
  • rendering/SimpleLineLayoutResolver.h:
  • rendering/shapes/RasterShape.h:
  • rendering/shapes/Shape.h:

Source/WebKit2:

  • NetworkProcess/cache/NetworkCacheStorage.cpp:
  • NetworkProcess/cache/NetworkCacheStorage.h:
  • Platform/IPC/MessageRecorder.h:
  • Platform/mac/LayerHostingContext.h:

Source/WTF:

  • wtf/Bag.h:
  • wtf/SegmentedVector.h:
  • wtf/SentinelLinkedList.h:
9:21 AM Changeset in webkit [187586] by Michael Catanzaro
  • 3 edits in trunk/Source/WebCore

[GTK] Crashes when SoupSession is destroyed in exit handler
https://bugs.webkit.org/show_bug.cgi?id=145347

Reviewed by Carlos Garcia Campos.

Leak the default SoupSession with NeverDestroyed to avoid races at program exit.

  • platform/network/soup/SoupNetworkSession.cpp:

(WebCore::SoupNetworkSession::defaultSession):

  • platform/network/soup/SoupNetworkSession.h:
9:16 AM Changeset in webkit [187585] by achristensen@apple.com
  • 11 edits in trunk

Build AppleWin port with CMake
https://bugs.webkit.org/show_bug.cgi?id=147385

Reviewed by Martin Robinson.

.:

  • Source/cmake/OptionsWindows.cmake:

Use the static multithreaded runtime. Based on
http://www.cmake.org/Wiki/CMake_FAQ#How_can_I_build_my_MSVC_application_with_a_static_runtime.3F

Source/WebCore:

  • CMakeLists.txt:

Add makesafeseh.asm to 32-bit build. It needs to be after the ADD_PRECOMPILED_HEADER macro
because CMake can only set COMPILE_FLAGS once with set_source_files_properties, and we want
to use that to add /safeseh instead of a precompiled header (which wouldn't be used anyway in assembly).

  • PlatformAppleWin.cmake:
  • PlatformWin.cmake:
  • PlatformWinCairo.cmake:

Added missing source files and libraries.

Source/WebKit:

  • PlatformWin.cmake:

Added missing source files and libraries.

Tools:

  • WinLauncher/CMakeLists.txt:

Link to CoreFoundation.lib and added /NODEFAULTLIB:LIBCMT to get it to link successfully.

8:56 AM Changeset in webkit [187584] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed build fix after r187582.

  • accessibility/AccessibilityAllInOne.cpp:

Include new files.

7:51 AM Changeset in webkit [187583] by Michael Catanzaro
  • 6 edits
    2 adds in trunk

Web Inspector: [Freetype] Allow inspector to retrieve a list of system fonts
https://bugs.webkit.org/show_bug.cgi?id=147018

Reviewed by Carlos Garcia Campos.

Source/WebCore:

No new tests; unskipped inspector/css/get-system-fonts.html

  • platform/graphics/freetype/FontCacheFreeType.cpp:

(WebCore::patternToFamilies): Added.
(WebCore::FontCache::systemFontFamilies): Implemented.
(WebCore::strongAliasesForFamily): Split some code off to patternToFamilies.

LayoutTests:

  • inspector/css/get-system-fonts-expected.txt: Expect some free fonts to be missing....
  • inspector/css/get-system-fonts.html: Check for some free fonts.
  • platform/gtk/TestExpectations: Unskip the test.
  • platform/gtk/inspector/css/get-system-fonts-expected.txt: Added.
4:10 AM Changeset in webkit [187582] by commit-queue@webkit.org
  • 12 edits
    6 adds in trunk

AX: VoiceOver unable to access content in malformed trees
https://bugs.webkit.org/show_bug.cgi?id=147295
<rdar://problem/14862892>

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

Source/WebCore:

VoiceOver is skipping the content of malformed trees. This fixes the problem
by having the tree check if it has valid children (treeitems) and makes treeitems
check if they are inside trees.

Test: platform/mac/accessibility/malformed-tree.html

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • accessibility/AXObjectCache.cpp:

(WebCore::createFromRenderer):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::addChildren):
(WebCore::AccessibilityObject::addChild):
(WebCore::AccessibilityObject::insertChild):
(WebCore::AccessibilityObject::shouldIgnoreAttributeRole):
(WebCore::AccessibilityObject::canHaveChildren):
(WebCore::AccessibilityObject::hasChildren):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineAccessibilityRole):

  • accessibility/AccessibilityTree.cpp: Added.

(WebCore::AccessibilityTree::AccessibilityTree):
(WebCore::AccessibilityTree::~AccessibilityTree):
(WebCore::AccessibilityTree::create):
(WebCore::AccessibilityTree::computeAccessibilityIsIgnored):
(WebCore::AccessibilityTree::determineAccessibilityRole):
(WebCore::AccessibilityTree::isTreeValid):

  • accessibility/AccessibilityTree.h: Added.
  • accessibility/AccessibilityTreeItem.cpp: Added.

(WebCore::AccessibilityTreeItem::AccessibilityTreeItem):
(WebCore::AccessibilityTreeItem::~AccessibilityTreeItem):
(WebCore::AccessibilityTreeItem::create):
(WebCore::AccessibilityTreeItem::determineAccessibilityRole):

  • accessibility/AccessibilityTreeItem.h: Added.

LayoutTests:

  • accessibility/aria-mappings.html:
  • accessibility/treeitem-child-exposed-expected.txt:
  • accessibility/treeitem-child-exposed.html:
  • platform/mac/accessibility/malformed-tree-expected.txt: Added.
  • platform/mac/accessibility/malformed-tree.html: Added.
2:52 AM Changeset in webkit [187581] by benjamin@webkit.org
  • 2 edits in trunk/LayoutTests

Update JSC's standalone-pre.js for r187575
https://bugs.webkit.org/show_bug.cgi?id=147444

Unreviewed.

  • resources/standalone-pre.js:

(shouldBeType):
Copy shouldBeType() from the non-standalone version.

Jul 29, 2015:

11:39 PM Changeset in webkit [187580] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebCore

[GTK] Paste data is removed from clipboard when closing browser tab
https://bugs.webkit.org/show_bug.cgi?id=144549

Reviewed by Martin Robinson.

GTK+ stores all clipboards in gtk_main or gtk_application_shutdown
when the main loop finishes. We don't use gtk_main() in the web
process, so we need to do the same and store all clipboards on
process shutdown.

  • platform/gtk/PasteboardGtk.cpp:

(WebCore::Pasteboard::Pasteboard): Register the GtkClipboard.

  • platform/gtk/PasteboardHelper.cpp:

(WebCore::PasteboardHelper::singleton): Make it destructible.
(WebCore::PasteboardHelper::~PasteboardHelper): Call
gtk_clipboard_store for every registered GtkClipboard.
(WebCore::PasteboardHelper::registerClipboard): Save the given
GtkClipboard.

  • platform/gtk/PasteboardHelper.h:
11:26 PM Changeset in webkit [187579] by fpizlo@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

DFG::ArgumentsEliminationPhase should emit a PutStack for all of the GetStacks that the ByteCodeParser emitted
https://bugs.webkit.org/show_bug.cgi?id=147433
rdar://problem/21668986

Reviewed by Mark Lam.

Ideally, the ByteCodeParser would only emit SetArgument nodes for named arguments. But
currently that's not what it does - it emits a SetArgument for every argument that a varargs
call may pass. Each SetArgument gets turned into a GetStack. This means that if
ArgumentsEliminationPhase optimizes away PutStacks for those varargs arguments that didn't
get passed or used, we get degenerate IR where we have a GetStack of something that didn't
have a PutStack.

This fixes the bug by removing the code to optimize away PutStacks in
ArgumentsEliminationPhase.

  • dfg/DFGArgumentsEliminationPhase.cpp:
  • tests/stress/varargs-inlining-underflow.js: Added.

(baz):
(bar):
(foo):

10:47 PM Changeset in webkit [187578] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Improve styles of debugger popovers
https://bugs.webkit.org/show_bug.cgi?id=147437

Reviewed by Timothy Hatcher.

Use non-monospace font and improve spacing.

  • UserInterface/Views/SourceCodeTextEditor.css:

(.popover .debugger-popover-content > .title):
(.popover .debugger-popover-content > .body):

9:59 PM Changeset in webkit [187577] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Border line in the debug popover should be semi-transparent black, not dark yellow
https://bugs.webkit.org/show_bug.cgi?id=147435

Reviewed by Timothy Hatcher.

  • UserInterface/Views/SourceCodeTextEditor.css:

(.popover .debugger-popover-content > .body):
(@media (-webkit-min-device-pixel-ratio: 2)): Use hairline borders on retina.

9:40 PM Changeset in webkit [187576] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: " = $0" text in the Elements panel should anti-aliased
https://bugs.webkit.org/show_bug.cgi?id=147432

Reviewed by Timothy Hatcher.

  • UserInterface/Views/DOMTreeOutline.css:

(.dom-tree-outline li.selected > span::after):
(.dom-tree-outline:focus li.selected > span::after):
Decrease the opacity just slightly to make " = $0" more distinct from DOM nodes.

8:33 PM Changeset in webkit [187575] by commit-queue@webkit.org
  • 27 edits
    9 copies
    18 adds in trunk

Implement basic types for ECMAScript Internationalization API
https://bugs.webkit.org/show_bug.cgi?id=146926

Patch by Andy VanWagoner <thetalecrafter@gmail.com> on 2015-07-29
Reviewed by Benjamin Poulain.

.:

Enable flag now that the basic objects are in place.

  • Source/cmake/WebKitFeatures.cmake: enable INTL

Source/JavaScriptCore:

Adds basic types for ECMA-402 2nd edition, but does not implement the full locale-aware features yet.
http://www.ecma-international.org/ecma-402/2.0/ECMA-402.pdf

  • CMakeLists.txt: Added new Intl files.
  • Configurations/FeatureDefines.xcconfig: Enable INTL.
  • DerivedSources.make: Added Intl files.
  • JavaScriptCore.xcodeproj/project.pbxproj: Added Intl files.
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Added Intl files.
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Added Intl files.
  • runtime/CommonIdentifiers.h: Added Collator, NumberFormat, and DateTimeFormat.
  • runtime/DateConstructor.cpp: Made Date.now public.
  • runtime/DateConstructor.h: Made Date.now public.
  • runtime/IntlCollator.cpp: Added.

(JSC::IntlCollator::create):
(JSC::IntlCollator::createStructure):
(JSC::IntlCollator::IntlCollator):
(JSC::IntlCollator::finishCreation):
(JSC::IntlCollator::destroy):
(JSC::IntlCollator::visitChildren):
(JSC::IntlCollator::setBoundCompare):
(JSC::IntlCollatorFuncCompare): Added placeholder implementation using codePointCompare.

  • runtime/IntlCollator.h: Added.

(JSC::IntlCollator::constructor):
(JSC::IntlCollator::boundCompare):

  • runtime/IntlCollatorConstructor.cpp: Added.

(JSC::IntlCollatorConstructor::create):
(JSC::IntlCollatorConstructor::createStructure):
(JSC::IntlCollatorConstructor::IntlCollatorConstructor):
(JSC::IntlCollatorConstructor::finishCreation):
(JSC::constructIntlCollator): Added Collator constructor (10.1.2).
(JSC::callIntlCollator): Added Collator constructor (10.1.2).
(JSC::IntlCollatorConstructor::getConstructData):
(JSC::IntlCollatorConstructor::getCallData):
(JSC::IntlCollatorConstructor::getOwnPropertySlot):
(JSC::IntlCollatorConstructorFuncSupportedLocalesOf): Added placeholder implementation returning [].
(JSC::IntlCollatorConstructor::visitChildren):

  • runtime/IntlCollatorConstructor.h: Added.

(JSC::IntlCollatorConstructor::collatorStructure):

  • runtime/IntlCollatorPrototype.cpp: Added.

(JSC::IntlCollatorPrototype::create):
(JSC::IntlCollatorPrototype::createStructure):
(JSC::IntlCollatorPrototype::IntlCollatorPrototype):
(JSC::IntlCollatorPrototype::finishCreation):
(JSC::IntlCollatorPrototype::getOwnPropertySlot):
(JSC::IntlCollatorPrototypeGetterCompare): Added compare getter (10.3.3)
(JSC::IntlCollatorPrototypeFuncResolvedOptions): Added placeholder implementation returning {}.

  • runtime/IntlCollatorPrototype.h: Added.
  • runtime/IntlDateTimeFormat.cpp: Added.

(JSC::IntlDateTimeFormat::create):
(JSC::IntlDateTimeFormat::createStructure):
(JSC::IntlDateTimeFormat::IntlDateTimeFormat):
(JSC::IntlDateTimeFormat::finishCreation):
(JSC::IntlDateTimeFormat::destroy):
(JSC::IntlDateTimeFormat::visitChildren):
(JSC::IntlDateTimeFormat::setBoundFormat):
(JSC::IntlDateTimeFormatFuncFormatDateTime): Added placeholder implementation returning new Date(value).toString().

  • runtime/IntlDateTimeFormat.h: Added.

(JSC::IntlDateTimeFormat::constructor):
(JSC::IntlDateTimeFormat::boundFormat):

  • runtime/IntlDateTimeFormatConstructor.cpp: Added.

(JSC::IntlDateTimeFormatConstructor::create):
(JSC::IntlDateTimeFormatConstructor::createStructure):
(JSC::IntlDateTimeFormatConstructor::IntlDateTimeFormatConstructor):
(JSC::IntlDateTimeFormatConstructor::finishCreation):
(JSC::constructIntlDateTimeFormat): Added DateTimeFormat constructor (12.1.2).
(JSC::callIntlDateTimeFormat): Added DateTimeFormat constructor (12.1.2).
(JSC::IntlDateTimeFormatConstructor::getConstructData):
(JSC::IntlDateTimeFormatConstructor::getCallData):
(JSC::IntlDateTimeFormatConstructor::getOwnPropertySlot):
(JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): Added placeholder implementation returning [].
(JSC::IntlDateTimeFormatConstructor::visitChildren):

  • runtime/IntlDateTimeFormatConstructor.h: Added.

(JSC::IntlDateTimeFormatConstructor::dateTimeFormatStructure):

  • runtime/IntlDateTimeFormatPrototype.cpp: Added.

(JSC::IntlDateTimeFormatPrototype::create):
(JSC::IntlDateTimeFormatPrototype::createStructure):
(JSC::IntlDateTimeFormatPrototype::IntlDateTimeFormatPrototype):
(JSC::IntlDateTimeFormatPrototype::finishCreation):
(JSC::IntlDateTimeFormatPrototype::getOwnPropertySlot):
(JSC::IntlDateTimeFormatPrototypeGetterFormat): Added format getter (12.3.3).
(JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): Added placeholder implementation returning {}.

  • runtime/IntlDateTimeFormatPrototype.h: Added.
  • runtime/IntlNumberFormat.cpp: Added.

(JSC::IntlNumberFormat::create):
(JSC::IntlNumberFormat::createStructure):
(JSC::IntlNumberFormat::IntlNumberFormat):
(JSC::IntlNumberFormat::finishCreation):
(JSC::IntlNumberFormat::destroy):
(JSC::IntlNumberFormat::visitChildren):
(JSC::IntlNumberFormat::setBoundFormat):
(JSC::IntlNumberFormatFuncFormatNumber): Added placeholder implementation returning Number(value).toString().

  • runtime/IntlNumberFormat.h: Added.

(JSC::IntlNumberFormat::constructor):
(JSC::IntlNumberFormat::boundFormat):

  • runtime/IntlNumberFormatConstructor.cpp: Added.

(JSC::IntlNumberFormatConstructor::create):
(JSC::IntlNumberFormatConstructor::createStructure):
(JSC::IntlNumberFormatConstructor::IntlNumberFormatConstructor):
(JSC::IntlNumberFormatConstructor::finishCreation):
(JSC::constructIntlNumberFormat): Added NumberFormat constructor (11.1.2).
(JSC::callIntlNumberFormat): Added NumberFormat constructor (11.1.2).
(JSC::IntlNumberFormatConstructor::getConstructData):
(JSC::IntlNumberFormatConstructor::getCallData):
(JSC::IntlNumberFormatConstructor::getOwnPropertySlot):
(JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): Added placeholder implementation returning [].
(JSC::IntlNumberFormatConstructor::visitChildren):

  • runtime/IntlNumberFormatConstructor.h: Added.

(JSC::IntlNumberFormatConstructor::numberFormatStructure):

  • runtime/IntlNumberFormatPrototype.cpp: Added.

(JSC::IntlNumberFormatPrototype::create):
(JSC::IntlNumberFormatPrototype::createStructure):
(JSC::IntlNumberFormatPrototype::IntlNumberFormatPrototype):
(JSC::IntlNumberFormatPrototype::finishCreation):
(JSC::IntlNumberFormatPrototype::getOwnPropertySlot):
(JSC::IntlNumberFormatPrototypeGetterFormat): Added format getter (11.3.3).
(JSC::IntlNumberFormatPrototypeFuncResolvedOptions): Added placeholder implementation returning {}.

  • runtime/IntlNumberFormatPrototype.h: Added.
  • runtime/IntlObject.cpp:

(JSC::IntlObject::create):
(JSC::IntlObject::finishCreation): Added Collator, NumberFormat, and DateTimeFormat properties (8.1).
(JSC::IntlObject::visitChildren):

  • runtime/IntlObject.h:

(JSC::IntlObject::collatorConstructor):
(JSC::IntlObject::collatorPrototype):
(JSC::IntlObject::collatorStructure):
(JSC::IntlObject::numberFormatConstructor):
(JSC::IntlObject::numberFormatPrototype):
(JSC::IntlObject::numberFormatStructure):
(JSC::IntlObject::dateTimeFormatConstructor):
(JSC::IntlObject::dateTimeFormatPrototype):
(JSC::IntlObject::dateTimeFormatStructure):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig: Enabled INTL.

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig: Enabled INTL.

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig: Enabled INTL.

Tools:

Enable flag now that the basic objects are in place.

  • Scripts/webkitperl/FeatureList.pm: Enabled INTL

LayoutTests:

Add tests for Intl.Collator, Intl.NumberFormat, and Intl.DateTimeFormat

  • TestExpectations: Enabled intl tests.
  • js/intl-collator-expected.txt: Added.
  • js/intl-collator.html: Added.
  • js/intl-datetimeformat-expected.txt: Added.
  • js/intl-datetimeformat.html: Added.
  • js/intl-expected.txt: Updated.
  • js/intl-numberformat-expected.txt: Added.
  • js/intl-numberformat.html: Added.
  • js/script-tests/intl-collator.js: Added.
  • js/script-tests/intl-datetimeformat.js: Added.
  • js/script-tests/intl-numberformat.js: Added.
  • js/script-tests/intl.js: Added tests for Collator, NumberFormat, and DateTimeFormat.
8:04 PM Changeset in webkit [187574] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Make TextLayout fast allocated
https://bugs.webkit.org/show_bug.cgi?id=147428

Reviewed by Simon Fraser.

Make TextLayout fast allocated as it is allocated frequently and on the
heap.

  • platform/graphics/mac/ComplexTextController.cpp:
7:54 PM Changeset in webkit [187573] by mmaxfield@apple.com
  • 3 edits in trunk/Source/WebCore

Fix iOS build

Unreviewed.

  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::FontCascade): Deleted.

  • platform/graphics/FontCascade.h:
7:34 PM Changeset in webkit [187572] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

[WK2] Use FastMalloc in IPC::MessageDecoder
https://bugs.webkit.org/show_bug.cgi?id=147425

Reviewed by Sam Weinig.

Use FastMalloc in IPC::MessageDecoder instead of system malloc, for
performance reasons and consistency.

  • Platform/IPC/ArgumentDecoder.cpp:

(IPC::ArgumentDecoder::~ArgumentDecoder):
(IPC::ArgumentDecoder::initialize):

7:00 PM Changeset in webkit [187571] by Gyuyoung Kim
  • 2 edits in trunk/Source/WebCore

[EFL][CoordinatedGraphics] fixed position banner is moved when enabling delegateScrolling
https://bugs.webkit.org/show_bug.cgi?id=146959

Reviewed by Simon Fraser.

Don't update fixed visible content area in ScrollingCoordinatorCoordinatedGraphics::requestScrollPositionUpdate
because PageViewportController and WebView on CoordinatedGraphics also update the visible content area according
to the scrolling. So this problem has been caused by duplicated fixed visible rect update.

EFL WTR doesn't work with fixed layout and delegatesScrolling yet. So no test for this issue.

  • page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:

(WebCore::ScrollingCoordinatorCoordinatedGraphics::requestScrollPositionUpdate): Deleted.

6:18 PM Changeset in webkit [187570] by Matt Baker
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Allow record filtering by frame duration in Rendering Frames timeline
https://bugs.webkit.org/show_bug.cgi?id=147419

Reviewed by Timothy Hatcher.

  • Localizations/en.lproj/localizedStrings.js:

New scope bar item labels.

  • UserInterface/Views/RenderingFrameTimelineView.js:

(WebInspector.RenderingFrameTimelineView):
New scope bar for frame duration filtering.
(WebInspector.RenderingFrameTimelineView.displayNameForDurationFilter):
(WebInspector.RenderingFrameTimelineView.prototype.matchTreeElementAgainstCustomFilters):
Overridden for view specific filtering. Filtering applies to RenderingFrameTimelineRecords only.
(WebInspector.RenderingFrameTimelineView.prototype._scopeBarSelectionDidChange):
Force sidebar filtering when duration filter changes.

5:47 PM Changeset in webkit [187569] by mmaxfield@apple.com
  • 6 edits in trunk/Source/WebCore

Use rvalue references in FontCascade
https://bugs.webkit.org/show_bug.cgi?id=147427

Reviewed by Simon Fraser.

No new tests because there is no behavior change.

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::resolvesFamilyFor):

  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::FontCascade):
(WebCore::retrieveOrAddCachedFonts):
(WebCore::FontCascade::update):

  • platform/graphics/FontCascade.h:
  • platform/graphics/FontCascadeFonts.cpp:

(WebCore::FontCascadeFonts::FontCascadeFonts):

  • platform/graphics/FontCascadeFonts.h:

(WebCore::FontCascadeFonts::create):

4:38 PM Changeset in webkit [187568] by mmaxfield@apple.com
  • 5 edits in trunk/Source/WebCore

Rename FontDescriptionFontDataCacheKey to FontDescriptionKey
https://bugs.webkit.org/show_bug.cgi?id=147424

Reviewed by Simon Fraser.

This struct holds information about a FontDescription.

No new tests because there is no behavior change.

  • css/CSSSegmentedFontFace.cpp:

(WebCore::CSSSegmentedFontFace::fontRanges):

  • platform/graphics/FontCache.cpp:

(WebCore::FontPlatformDataCacheKeyHash::hash):
(WebCore::computeHash): Deleted.

  • platform/graphics/FontCache.h:

(WebCore::FontDescriptionKey::FontDescriptionKey):
(WebCore::FontDescriptionKey::operator==):
(WebCore::FontDescriptionKey::operator!=):
(WebCore::FontDescriptionKey::computeHash):
(WebCore::FontDescriptionFontDataCacheKey::FontDescriptionFontDataCacheKey): Deleted.
(WebCore::FontDescriptionFontDataCacheKey::operator==): Deleted.
(WebCore::FontDescriptionFontDataCacheKey::operator!=): Deleted.
(WebCore::FontDescriptionFontDataCacheKey::computeHash): Deleted.

  • platform/graphics/FontCascade.cpp:

(WebCore::operator==):
(WebCore::makeFontCascadeCacheKey):
(WebCore::computeFontCascadeCacheHash):

4:29 PM Changeset in webkit [187567] by bshafiei@apple.com
  • 5 edits in branches/safari-600.8-branch/Source

Versioning.

4:28 PM Changeset in webkit [187566] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.17-branch/Source

Versioning.

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

Preview should not start if touch handler prevents default.
https://bugs.webkit.org/show_bug.cgi?id=147423
rdar://problem/22061043

Reviewed by Tim Horton.

We need to check if _highlightLongPressCanClick has not been reset before
we allow the preview. It can be reset by a touch handler preventing default.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]):

3:17 PM Changeset in webkit [187564] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Remove the spanner placeholder from m_spannerMap when the placeholder object
gets transferred to a descendant flow.
https://bugs.webkit.org/show_bug.cgi?id=147380
rdar://problem/21981078

Reviewed by David Hyatt.

Before r180328, the spanner placeholder was removed from m_spannerMap through
RenderMultiColumnFlowThread::removeFlowChildInfo() by calling flowThreadRelativeWillBeRemoved()
when the placeholder renderer got transferred to the descendant flow.
Now we just remove it from the map when the renderer is being detached.

Source/WebCore:

Test: fast/multicol/newmulticol/spanner-crash-with-embedded-columns.html

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):

LayoutTests:

  • fast/multicol/newmulticol/spanner-crash-with-embedded-columns-expected.txt: Added.
  • fast/multicol/newmulticol/spanner-crash-with-embedded-columns.html: Added.
3:00 PM Changeset in webkit [187563] by Chris Fleizach
  • 2 edits in trunk/Source/WebKit2

AX: iOS: VoiceOver hangs indefinitely when an JS alert appears
https://bugs.webkit.org/show_bug.cgi?id=147386

Reviewed by Dan Bernstein.

Make sure this also builds on iOS8.

  • Platform/IPC/mac/ConnectionMac.mm:
2:52 PM Changeset in webkit [187562] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.8.8

New tag.

2:52 PM Changeset in webkit [187561] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.17.7

New tag.

2:34 PM Changeset in webkit [187560] by commit-queue@webkit.org
  • 9 edits
    5 deletes in trunk/Source/JavaScriptCore

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

Broke Windows build (again) (Requested by smfr on #webkit).

Reverted changeset:

"Implement WebAssembly module parser"
https://bugs.webkit.org/show_bug.cgi?id=147293
http://trac.webkit.org/changeset/187550

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

Review feedback followup to: Crash in WebCore::DocumentLoader::stopLoadingForPolicyChange.
https://bugs.webkit.org/show_bug.cgi?id=147418

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::cancelPolicyCheckIfNeeded):

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

RELEASE_ASSERT followup to: Crash in WebCore::DocumentLoader::stopLoadingForPolicyChange.
https://bugs.webkit.org/show_bug.cgi?id=147418

Reviewed by Chris Dumez.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::cancelPolicyCheckIfNeeded): RELEASE_ASSERT we have a FrameLoader here.

We want to know if we ever get here without one.

2:26 PM Changeset in webkit [187557] by beidson@apple.com
  • 3 edits in trunk/Source/WebCore

Crash in WebCore::DocumentLoader::stopLoadingForPolicyChange.
<rdar://problem/21412186> and https://bugs.webkit.org/show_bug.cgi?id=147418

Reviewed by Chris Dumez.

No new tests (No known reproducibility)

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::responseReceived): When setting to m_waitingForContentPolicy true, make sure we have a FrameLoader.
(WebCore::DocumentLoader::detachFromFrame): Always explicitly call cancelPolicyCheckIfNeeded().
(WebCore::DocumentLoader::cancelPolicyCheckIfNeeded): Cancel the policy check if there is one.
(WebCore::DocumentLoader::cancelMainResourceLoad): Use cancelPolicyCheckIfNeeded().

  • loader/DocumentLoader.h:
2:08 PM Changeset in webkit [187556] by beidson@apple.com
  • 8 edits in trunk

Crash calling webSocket.close() from onError handler for blocked web socket.
<rdar://problem/21771620> and https://bugs.webkit.org/show_bug.cgi?id=147411

Reviewed by Tim Horton.

Source/WebCore:

Tests: http/tests/security/mixedContent/websocket/insecure-websocket-in-iframe.html

http/tests/security/mixedContent/websocket/insecure-websocket-in-main-frame.html

This was introduced with http://trac.webkit.org/changeset/185848

  • Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::connect): When blocked because of mixedContent, call dispatchOrQueueErrorEvent().
(WebCore::WebSocket::didReceiveMessageError): Use dispatchOrQueueErrorEvent() instead.
(WebCore::WebSocket::dispatchOrQueueErrorEvent): Dispatch the error event, but don't dispatch one twice!

  • Modules/websockets/WebSocket.h:
  • Modules/websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::fail): Null-check m_handshake before creating a console message from it.

LayoutTests:

  • http/tests/security/mixedContent/resources/frame-with-insecure-websocket.html: Add a call to webSocket.close() inside the onError handler.
  • http/tests/security/mixedContent/websocket/insecure-websocket-in-iframe-expected.txt:
  • http/tests/security/mixedContent/websocket/insecure-websocket-in-main-frame-expected.txt:
1:30 PM Changeset in webkit [187555] by basile_clement@apple.com
  • 24 edits
    1 delete in trunk

Remove native call inlining
https://bugs.webkit.org/show_bug.cgi?id=147417

.:

Rubber-stamped by Filip Pizlo.

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

Rubber Stamped by Filip Pizlo.

  • CMakeLists.txt:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): Deleted.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleCall): Deleted.

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize): Deleted.

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC): Deleted.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode): Deleted.

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasHeapPrediction): Deleted.
(JSC::DFG::Node::hasCellOperand): Deleted.

  • dfg/DFGNodeType.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate): Deleted.

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute): Deleted.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile): Deleted.

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile): Deleted.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile): Deleted.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::lower): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::compileNode): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::compileNativeCallOrConstruct): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::getFunctionBySymbol): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::getModuleByPathForSymbol): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::didOverflowStack): Deleted.

  • ftl/FTLState.cpp:

(JSC::FTL::State::State): Deleted.

  • ftl/FTLState.h:
  • runtime/BundlePath.cpp: Removed.

(JSC::bundlePath): Deleted.

  • runtime/JSDataViewPrototype.cpp:

(JSC::getData):
(JSC::setData):

  • runtime/Options.h:

Source/WTF:

Rubber-stamped by Filip Pizlo.

  • wtf/Platform.h:
1:10 PM Changeset in webkit [187554] by bshafiei@apple.com
  • 4 edits
    2 deletes in branches/safari-600.1.4.17-branch

Roll out r185848. rdar://problem/21708274

1:10 PM Changeset in webkit [187553] by bshafiei@apple.com
  • 4 edits
    2 deletes in branches/safari-600.8-branch

Roll out r185848. rdar://problem/21707923

12:54 PM Changeset in webkit [187552] by mrajca@apple.com
  • 2 edits
    2 adds in trunk/LayoutTests

Media Session: test 'Transient Solo' interruptions https://bugs.webkit.org/show_bug.cgi?id=147091

Reviewed by Eric Carlson.

  • media/session/transient-solo-interruptions-expected.txt: Added.
  • media/session/transient-solo-interruptions.html: Added.
  • platform/mac/TestExpectations: Media Session support is disabled by default.
12:20 PM Changeset in webkit [187551] by basile_clement@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, skipping a test that is too complex for its own good
https://bugs.webkit.org/show_bug.cgi?id=147167

  • tests/stress/math-pow-coherency.js:
12:03 PM Changeset in webkit [187550] by commit-queue@webkit.org
  • 9 edits
    5 adds in trunk/Source/JavaScriptCore

Implement WebAssembly module parser
https://bugs.webkit.org/show_bug.cgi?id=147293

Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-07-29
Reviewed by Mark Lam.

Reupload the patch, since r187539 should fix the "Cannot open include file:
'JSWASMModule.h'" issue in the Windows build.

(GlobalObject::finishCreation):
(functionLoadWebAssembly):

  • parser/SourceProvider.h:

(JSC::WebAssemblySourceProvider::create):
(JSC::WebAssemblySourceProvider::data):
(JSC::WebAssemblySourceProvider::WebAssemblySourceProvider):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::wasmModuleStructure):

  • wasm/WASMMagicNumber.h: Added.
  • wasm/WASMModuleParser.cpp: Added.

(JSC::WASMModuleParser::WASMModuleParser):
(JSC::WASMModuleParser::parse):
(JSC::WASMModuleParser::parseModule):
(JSC::parseWebAssembly):

  • wasm/WASMModuleParser.h: Added.
  • wasm/WASMReader.cpp: Added.

(JSC::WASMReader::readUnsignedInt32):
(JSC::WASMReader::readFloat):
(JSC::WASMReader::readDouble):

  • wasm/WASMReader.h: Added.

(JSC::WASMReader::WASMReader):

10:52 AM Changeset in webkit [187549] by basile_clement@apple.com
  • 1 edit
    1 delete in trunk/LayoutTests

Unreviewed, remove a .orig file.
https://bugs.webkit.org/show_bug.cgi?id=113610

  • fast/css-intrinsic-dimensions/height-property-value.html.orig: Removed.
10:44 AM Changeset in webkit [187548] by basile_clement@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, lower the number of test iterations to prevent timing out on Debug builds
https://bugs.webkit.org/show_bug.cgi?id=147167

  • tests/stress/math-pow-coherency.js:
8:52 AM Changeset in webkit [187547] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit2

[Seccomp] Further improvements to default web process policy
https://bugs.webkit.org/show_bug.cgi?id=142987

Provide various helper functions to allow more flexible construction of
filesystem access policies.

Reviewed by Žan Doberšek.

Improve the policy. Also, remove ifdefs to reduce potential for breakage in non-default
configurations.

  • Shared/linux/SeccompFilters/SyscallPolicy.cpp:

(WebKit::SyscallPolicy::addDefaultWebProcessPolicy):

7:30 AM Changeset in webkit [187546] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore

Clean up RefPtrCairo.cpp
https://bugs.webkit.org/show_bug.cgi?id=147384

Reviewed by Martin Robinson.

Tests for null/non-null should all be done without equality comparisons.

  • platform/graphics/cairo/RefPtrCairo.cpp:

(WTF::refIfNotNull):
(WTF::derefIfNotNull):

5:35 AM Changeset in webkit [187545] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Remove dispatch_apply_f and instead use vImage more directly
https://bugs.webkit.org/show_bug.cgi?id=147391
<rdar://problem/21893047>

Fix the iOS builds.

  • platform/graphics/cg/ImageBufferDataCG.cpp:

(WebCore::unpremultiplyBufferData):
(WebCore::premultiplyBufferData):

12:16 AM Changeset in webkit [187544] by Chris Dumez
  • 7 edits in trunk/Source

Avoid unnecessarily constructing PlatformMediaSessionManager on Document destruction
https://bugs.webkit.org/show_bug.cgi?id=147398

Reviewed by Jer Noble.

Only call PlatformMediaSessionManager::stopAllMediaPlaybackForProcess() in
Source/WebCore:

destructors if an PlatformMediaSessionManager instance already exists, to
avoid constructing one unecessarily at that point.

  • dom/Document.cpp:

(WebCore::Document::~Document):

  • platform/audio/PlatformMediaSessionManager.cpp:

(WebCore::PlatformMediaSessionManager::sharedManager):
(WebCore::PlatformMediaSessionManager::sharedManagerIfExists):

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

(WebCore::PlatformMediaSessionManager::sharedManager):
(WebCore::PlatformMediaSessionManager::sharedManagerIfExists):

Source/WebKit2:

destructors if an PlatformMediaSessionManager instance already exists, to
avoid constructing one unecessarily at that point.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::didClose):

Jul 28, 2015:

11:50 PM Changeset in webkit [187543] by Carlos Garcia Campos
  • 6 edits in trunk

[GTK] Add API to set the maximum number of web processes per WebKitWebContext
https://bugs.webkit.org/show_bug.cgi?id=147108

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkit_web_context_set_web_process_count_limit):
(webkit_web_context_get_web_process_count_limit):

  • UIProcess/API/gtk/WebKitWebContext.h:
  • UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:

Tools:

Add test case to check the web process limit.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp:

(testWebProcessLimit):
(beforeAll):

11:48 PM Changeset in webkit [187542] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Fix empty space in popup menus when first item is selected
https://bugs.webkit.org/show_bug.cgi?id=147358

Reviewed by Martin Robinson.

It happens when one of the first elements are selected, because we
try to center the current selection on the combo element. When the
menu is large enough to make the element centered we need to leave
empty space at the beginning. This can be fixed by not scrolling
to center the selected item when it's above the combo
element. This ensure the selected item will always be visible,
even if it's not centered. If the selected item is already
centered or below the combo element, the behaviour doesn't change
and we scroll to center it.

  • UIProcess/gtk/WebPopupMenuProxyGtk.cpp:

(WebKit::WebPopupMenuProxyGtk::showPopupMenu):

11:47 PM Changeset in webkit [187541] by Michael Catanzaro
  • 2 edits in trunk/Tools

[GTK] Missing casts in BrowserWindow.c
https://bugs.webkit.org/show_bug.cgi?id=147395

Reviewed by Carlos Garcia Campos.

  • MiniBrowser/gtk/BrowserWindow.c:

(browserWindowSetupEditorToolbar):

11:41 PM Changeset in webkit [187540] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL] Fix typos in ewk_extension.cpp
https://bugs.webkit.org/show_bug.cgi?id=147396

Patch by Jincheol Jo <jincheol.jo@navercorp.com> on 2015-07-28
Reviewed by Gyuyoung Kim.

Fix from toEwkExtendion to toEwkExtension.

  • WebProcess/InjectedBundle/API/efl/ewk_extension.cpp:

(toEwkExtension):
(EwkExtension::didCreatePage):
(EwkExtension::willDestroyPage):
(EwkExtension::didReceiveMessage):
(toEwkExtendion): Deleted.

10:48 PM Changeset in webkit [187539] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Add the "wasm" directory to Visual Studio project files
https://bugs.webkit.org/show_bug.cgi?id=147400

Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-07-28
Reviewed by Simon Fraser.

This patch should fix the "Cannot open include file: 'JSWASMModule.h'" issue
in the Windows build.

8:27 PM Changeset in webkit [187538] by commit-queue@webkit.org
  • 9 edits
    5 deletes in trunk/Source/JavaScriptCore

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

Broke Windows bild (Requested by smfr on #webkit).

Reverted changeset:

"Implement WebAssembly module parser"
https://bugs.webkit.org/show_bug.cgi?id=147293
http://trac.webkit.org/changeset/187531

7:15 PM Changeset in webkit [187537] by benjamin@webkit.org
  • 3 edits
    3 adds in trunk

Speed up the Stringifier::toJSON() fast case
https://bugs.webkit.org/show_bug.cgi?id=147383

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

Source/JavaScriptCore:

  • runtime/JSONObject.cpp:

(JSC::Stringifier::toJSON):
(JSC::Stringifier::toJSONImpl):

LayoutTests:

Make the fast case of Stringifier::toJSON() inline and the uncommon
case out-of-line.

  • js/dom/JSON-stringify-string-object-with-tojson-expected.txt: Added.
  • js/dom/JSON-stringify-string-object-with-tojson.html: Added.
  • js/resources/JSON-stringify-string-object-with-tojson.js: Added.

(stringObject.toJSON):
(String.prototype.toJSON):

7:08 PM Changeset in webkit [187536] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix debug builds.

  • platform/graphics/cg/ImageBufferDataCG.cpp:

(WebCore::premultiplyBufferData):
(WebCore::unpremultiplyBufferData):

6:57 PM Changeset in webkit [187535] by Simon Fraser
  • 5 edits
    2 adds in trunk

Animations sometimes fail to start
https://bugs.webkit.org/show_bug.cgi?id=147394
rdar://problem/21852603

Reviewed by Dean Jackson.
Source/WebCore:

When an accelerated animation or transition was started at the same time as
a non-accelerated one, and then the node for the former was removed, we could
never kick off the non-accelerated animation.

AnimationControllerPrivate has logic to synchronize the two types of animation
when they start in the same animation update, which involves setting the
m_waitingForAsyncStartNotification flag, and waiting for a notifyAnimationStarted()
to come in from the graphics system.

However, it failed to handle the case where the accelerated animation was removed
before the callback was received, which left the m_waitingForAsyncStartNotification flag
set to true, preventing the non-accelerated animation from running.

Test: animations/remove-syncing-animation.html

  • page/animation/AnimationBase.h:

(WebCore::AnimationBase::isAccelerated): Make this public.

  • page/animation/AnimationController.cpp:

(WebCore::AnimationControllerPrivate::clear): Add logging.
(WebCore::AnimationControllerPrivate::receivedStartTimeResponse): Add logging.
(WebCore::AnimationControllerPrivate::animationWillBeRemoved): Add logging.
After removing animations from the maps, check to see if we expect any of the
remaining animations are waiting for a notifyAnimationStarted(). If not, clear
the m_waitingForAsyncStartNotification flag.
(WebCore::AnimationController::notifyAnimationStarted): Log the renderer.
(WebCore::AnimationControllerPrivate::AnimationControllerPrivate): Remove unneeded
initializations of HashMaps.

  • page/animation/CompositeAnimation.cpp:

(WebCore::CompositeAnimation::updateTransitions): Log renderers.
(WebCore::CompositeAnimation::updateKeyframeAnimations): Ditto.

LayoutTests:

Test that starts an accelerated and non-accelerated animation, then removes
the node for the accelerated one.

  • animations/remove-syncing-animation-expected.txt: Added.
  • animations/remove-syncing-animation.html: Added.
6:43 PM Changeset in webkit [187534] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Remove dispatch_apply_f and instead use vImage more directly
https://bugs.webkit.org/show_bug.cgi?id=147391
<rdar://problem/21893047>

Reviewed by Simon Fraser.

Use vImage unmultiplication and premultiplication functions on the
entire ImageBufferData object, rather than getting and setting data on an
line by line using dispatch_apply.

We were seeing some crashes in vImage with the smaller buffer sizes, and
hopefully this will either fix the problem, or give us a better
stack trace to diagnose.

I also did a drive-by change of "dst" to "dest". It was inconsistent throughout
the file.

Convered by the tests in fast/canvas and imported/w3c/canvas

  • platform/graphics/cg/ImageBufferDataCG.cpp: Remove the ScanlineData structure. It is

no longer needed.
(WebCore::premultiplyBufferData): New function that calls vImagePremultiplyData_RGBA8888.
(WebCore::unpremultiplyBufferData): New function that calls vImageUnpremultiplyData_RGBA8888.
(WebCore::affineWarpBufferData): Extracting some common code into a function.
(WebCore::ImageBufferData::getData): Use the two new functions as appropriate. Move
some of the code around now that more is shared between the different #if branches.
(WebCore::ImageBufferData::putData):
(WebCore::convertScanline): Deleted.
(WebCore::unpremultitplyScanline): Deleted.
(WebCore::premultitplyScanline): Deleted.

6:26 PM Changeset in webkit [187533] by ap@apple.com
  • 12 edits in trunk/Source

Clean up usesAsyncCallbacks handling in ResourceHandle
https://bugs.webkit.org/show_bug.cgi?id=147342

Reviewed by Darin Adler.

Source/WebCore:

Store "usesAsyncCallbacks" bit in ResourceHandle, because it's not accessible
via client once the client is zeroed out.

Changed ResourceHandle::setClient into ResourceHandle::clearClient, because it's
only ever used to zero out the client pointer, and it doesn't support changing it.

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::releaseResources):

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::stopLoading):

  • platform/network/BlobResourceHandle.cpp:

(WebCore::BlobResourceHandle::notifyResponseOnSuccess):
(WebCore::BlobResourceHandle::notifyResponseOnError):

  • platform/network/ResourceHandle.cpp:

(WebCore::ResourceHandle::client):
(WebCore::ResourceHandle::clearClient):
(WebCore::ResourceHandle::setDefersLoading):
(WebCore::ResourceHandle::usesAsyncCallbacks):
(WebCore::ResourceHandle::setClient): Deleted.

  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleInternal.h:

(WebCore::ResourceHandleInternal::ResourceHandleInternal):

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::createCFURLConnection):
(WebCore::ResourceHandle::willSendRequest):
(WebCore::ResourceHandle::shouldUseCredentialStorage):
(WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace):

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::makeDelegate):
(WebCore::ResourceHandle::willSendRequest):
(WebCore::ResourceHandle::continueWillSendRequest):
(WebCore::ResourceHandle::continueDidReceiveResponse):
(WebCore::ResourceHandle::shouldUseCredentialStorage):
(WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace):
(WebCore::ResourceHandle::continueCanAuthenticateAgainstProtectionSpace):
(WebCore::ResourceHandle::continueWillCacheResponse):

Source/WebKit2:

Update for a renaming in WebCore.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::cleanup):

  • Shared/Downloads/soup/DownloadSoup.cpp:

(WebKit::Download::platformInvalidate):

5:57 PM Changeset in webkit [187532] by Michael Catanzaro
  • 3 edits in trunk/Source/WebCore

Minor cleanups in FontCacheFreeType.cpp
https://bugs.webkit.org/show_bug.cgi?id=147392

Reviewed by Martin Robinson.

Mark several functions as static (file-scope), use more nullptr, and use more smart
pointers. No behavior changes.

  • platform/graphics/freetype/FcUniquePtr.h:

(WebCore::FcPtrDeleter<FcCharSet>::operator()):

  • platform/graphics/freetype/FontCacheFreeType.cpp:

(WebCore::createFontConfigPatternForCharacters):
(WebCore::findBestFontGivenFallbacks):
(WebCore::FontCache::systemFallbackForCharacters):
(WebCore::fontWeightToFontconfigWeight):
(WebCore::FontCache::createFontPlatformData):

5:55 PM Changeset in webkit [187531] by commit-queue@webkit.org
  • 9 edits
    5 adds in trunk/Source/JavaScriptCore

Implement WebAssembly module parser
https://bugs.webkit.org/show_bug.cgi?id=147293

Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-07-28
Reviewed by Geoffrey Garen.

Implement WebAssembly module parser for WebAssembly files produced by pack-asmjs
<https://github.com/WebAssembly/polyfill-prototype-1>. This patch only checks
the magic number at the beginning of the files. Parsing of the rest will be
implemented in a subsequent patch.

(GlobalObject::finishCreation):
(functionLoadWebAssembly):

  • parser/SourceProvider.h:

(JSC::WebAssemblySourceProvider::create):
(JSC::WebAssemblySourceProvider::data):
(JSC::WebAssemblySourceProvider::WebAssemblySourceProvider):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::wasmModuleStructure):

  • wasm/WASMMagicNumber.h: Added.
  • wasm/WASMModuleParser.cpp: Added.

(JSC::WASMModuleParser::WASMModuleParser):
(JSC::WASMModuleParser::parse):
(JSC::WASMModuleParser::parseModule):
(JSC::parseWebAssembly):

  • wasm/WASMModuleParser.h: Added.
  • wasm/WASMReader.cpp: Added.

(JSC::WASMReader::readUnsignedInt32):
(JSC::WASMReader::readFloat):
(JSC::WASMReader::readDouble):

  • wasm/WASMReader.h: Added.

(JSC::WASMReader::WASMReader):

5:44 PM Changeset in webkit [187530] by Chris Fleizach
  • 2 edits in trunk/Source/WebKit2

AX: iOS: VoiceOver hangs indefinitely when an JS alert appears
https://bugs.webkit.org/show_bug.cgi?id=147386

Reviewed by Anders Carlsson.

Support the iOS platform API to notify accessibility clients when the WebProcess is about to suspend (because of some modal dialog).
Luckily, we did all the hardwork for OSX a few years ago to support this paradigm.

  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::AccessibilityProcessSuspendedNotification):
(IPC::Connection::willSendSyncMessage):
(IPC::Connection::didReceiveSyncReply):

5:38 PM Changeset in webkit [187529] by Yusuke Suzuki
  • 17 edits in trunk

[ES6] Add ENABLE_ES6_MODULES compile time flag with the default value "false"
https://bugs.webkit.org/show_bug.cgi?id=147350

Reviewed by Sam Weinig.

.:

  • Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.props:
  • win/tools/vsprops/FeatureDefinesCairo.props:
4:50 PM Changeset in webkit [187528] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: console.groupEnd causes negative indent when no group is active
https://bugs.webkit.org/show_bug.cgi?id=147375

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-28
Reviewed by Timothy Hatcher.

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype.didAppendConsoleMessageView):

4:37 PM Changeset in webkit [187527] by Michael Catanzaro
  • 7 edits
    5 adds in trunk

[Freetype] Always allow font matching for strong aliases
https://bugs.webkit.org/show_bug.cgi?id=147057

Reviewed by Martin Robinson.

Source/WebCore:

Tests: platform/gtk/fonts/font-family-fallback-ignores-weak-aliases.html

platform/gtk/fonts/font-family-fallback-respects-strong-aliases.html

Treat fonts that are strongly-aliased to each other as if they were identical for the
purposes of CSS font fallback. This improves the layout of many web pages by allowing
fontconfig to replace fonts with metric-compatible equivalents (e.g. Arial -> Liberation
Sans) instead of rejecting the metric-compatible font as unsuitable.

  • platform/graphics/cairo/RefPtrCairo.cpp:

(WTF::refIfNotNull):
(WTF::derefIfNotNull):

  • platform/graphics/cairo/RefPtrCairo.h:
  • platform/graphics/freetype/FcUniquePtr.h: Added.

(WebCore::FcPtrDeleter<FcFontSet>::operator()):
(WebCore::FcPtrDeleter<FcLangSet>::operator()):
(WebCore::FcPtrDeleter<FcObjectSet>::operator()):

  • platform/graphics/freetype/FontCacheFreeType.cpp:

(WebCore::strengthOfFirstAlias):
(WebCore::strongAliasesForFamily):
(WebCore::areStronglyAliased):
(WebCore::FontCache::createFontPlatformData):

Tools:

Create family aliases needed for the new layout tests.

  • WebKitTestRunner/gtk/fonts/fonts.conf:

LayoutTests:

  • platform/gtk/fonts/font-family-fallback-ignores-weak-aliases-expected.html: Added.
  • platform/gtk/fonts/font-family-fallback-ignores-weak-aliases.html: Added.
  • platform/gtk/fonts/font-family-fallback-respects-strong-aliases-expected.html: Added.
  • platform/gtk/fonts/font-family-fallback-respects-strong-aliases.html: Added.
4:21 PM Changeset in webkit [187526] by ggaren@apple.com
  • 3 edits in trunk/Websites/webkit.org

SunSpider is no longer maintained
https://bugs.webkit.org/show_bug.cgi?id=147370

Reviewed by Michael Saboff.

Add an indicator to show that SunSpider is no longer maintained.

  • perf/sunspider/sunspider.css:

(#logo):
(.topbox):
(.bottombox):

  • perf/sunspider/sunspider.html:
4:12 PM Changeset in webkit [187525] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

[iOS] Crash when encountering characters whose natural font is one we can't look up
https://bugs.webkit.org/show_bug.cgi?id=147377
<rdar://problem/22022011>

Reviewed by Simon Fraser.

Source/WebCore:

These characters hit the complex text code path, where CoreText picks fonts
to use for each character. We then try to map these CoreText fonts back to
our own Font objects, and we assume (on iOS) that our own font search will
always return something.

On OS X, we do not have such an assumption, and we handle the case where it
does not hold. This method works on iOS as well, so the solution is to just
perform it on both OSes.

Test: fast/text/crash-complex-unknown-font.html

  • platform/graphics/mac/ComplexTextControllerCoreText.mm:

(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):

LayoutTests:

  • fast/text/crash-complex-unknown-font-expected.html: Added.
  • fast/text/crash-complex-unknown-font.html: Added.
3:39 PM Changeset in webkit [187524] by saambarati1@gmail.com
  • 13 edits
    2 adds in trunk/Source/JavaScriptCore

Make the type profiler work with lexical scoping and add tests
https://bugs.webkit.org/show_bug.cgi?id=145438

Reviewed by Geoffrey Garen.

op_profile_type now knows how to resolve variables allocated within
the local scope stack. This means it knows how to resolve "let"
and "const" variables. Also, some refactoring was done inside
the BytecodeGenerator to make writing code to support the type
profiler much simpler and clearer.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::symbolTable): Deleted.

  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedCodeBlock::addExceptionHandler):
(JSC::UnlinkedCodeBlock::exceptionHandler):
(JSC::UnlinkedCodeBlock::vm):
(JSC::UnlinkedCodeBlock::addArrayProfile):
(JSC::UnlinkedCodeBlock::setSymbolTableConstantIndex): Deleted.
(JSC::UnlinkedCodeBlock::symbolTableConstantIndex): Deleted.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitMove):
(JSC::BytecodeGenerator::emitTypeProfilerExpressionInfo):
(JSC::BytecodeGenerator::emitProfileType):
(JSC::BytecodeGenerator::emitProfileControlFlow):
(JSC::BytecodeGenerator::pushLexicalScopeInternal):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::emitNodeForLeftHandSide):

  • bytecompiler/NodesCodegen.cpp:

(JSC::ThisNode::emitBytecode):
(JSC::ResolveNode::emitBytecode):
(JSC::BracketAccessorNode::emitBytecode):
(JSC::DotAccessorNode::emitBytecode):
(JSC::FunctionCallValueNode::emitBytecode):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::FunctionCallBracketNode::emitBytecode):
(JSC::FunctionCallDotNode::emitBytecode):
(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::PostfixNode::emitResolve):
(JSC::PostfixNode::emitBracket):
(JSC::PostfixNode::emitDot):
(JSC::PrefixNode::emitResolve):
(JSC::PrefixNode::emitBracket):
(JSC::PrefixNode::emitDot):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::AssignDotNode::emitBytecode):
(JSC::ReadModifyDotNode::emitBytecode):
(JSC::AssignBracketNode::emitBytecode):
(JSC::ReadModifyBracketNode::emitBytecode):
(JSC::EmptyVarExpression::emitBytecode):
(JSC::EmptyLetExpression::emitBytecode):
(JSC::ForInNode::emitLoopHeader):
(JSC::ForOfNode::emitBytecode):
(JSC::ReturnNode::emitBytecode):
(JSC::FunctionNode::emitBytecode):
(JSC::BindingNode::bindValue):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_profile_type):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_profile_type):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • tests/typeProfiler/es6-block-scoping.js: Added.

(noop):
(arr):
(wrapper.changeFoo):
(wrapper.scoping):
(wrapper.scoping2):
(wrapper):

  • tests/typeProfiler/es6-classes.js: Added.

(noop):
(wrapper.Animal):
(wrapper.Animal.prototype.methodA):
(wrapper.Dog):
(wrapper.Dog.prototype.methodB):
(wrapper):

3:38 PM Changeset in webkit [187523] by Chris Dumez
  • 26 edits in trunk/LayoutTests

Tests introduced in r187489 are flaky
https://bugs.webkit.org/show_bug.cgi?id=147327

Rubber-stamped by Benjamin Poulain.

Tests introduced in r187489 are flaky, they sometimes print the console
message, sometimes not. The reason is that we sometimes use a cached
parsed stylesheet and we do not print the warning in this case. To fix
the flakiness, we now clear the memory cache at the beginning of each
test to make sure we download and parse the stylesheets.

  • http/tests/security/cross-origin-css-1.html:
  • http/tests/security/cross-origin-css-2.html:
  • http/tests/security/cross-origin-css-3.html:
  • http/tests/security/cross-origin-css-4.html:
  • http/tests/security/cross-origin-css-5.html:
  • http/tests/security/cross-origin-css-6.html:
  • http/tests/security/cross-origin-css-7.html:
  • http/tests/security/cross-origin-css-8.html:
  • http/tests/security/cross-origin-css-in-quirks-1.html:
  • http/tests/security/cross-origin-css-in-quirks-2.html:
  • http/tests/security/cross-origin-css-in-quirks-3.html:
  • http/tests/security/cross-origin-css-in-quirks-4.html:
  • http/tests/security/cross-origin-css-in-quirks-5.html:
  • http/tests/security/cross-origin-css-in-quirks-6.html:
  • http/tests/security/cross-origin-css-in-quirks-7.html:
  • http/tests/security/cross-origin-css-in-quirks-8.html:
  • http/tests/security/same-origin-css-1.html:
  • http/tests/security/same-origin-css-2.html:
  • http/tests/security/same-origin-css-3.html:
  • http/tests/security/same-origin-css-4.html:
  • http/tests/security/same-origin-css-5.html:
  • http/tests/security/same-origin-css-6.html:
  • http/tests/security/same-origin-css-7.html:
  • http/tests/security/same-origin-css-8.html:
  • http/tests/security/same-origin-css-in-quirks.html:
3:29 PM Changeset in webkit [187522] by commit-queue@webkit.org
  • 13 edits in trunk/Source

[iOS] REGRESSION(r168075): Fullscreen web video doesn't pause on screen lock
https://bugs.webkit.org/show_bug.cgi?id=147269

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-07-28
Reviewed by Andreas Kling.

Media elements should pause when the application is going to EnterBackground
under lock regardless whether it is in full screen or not.

Source/WebCore:

  • platform/audio/PlatformMediaSession.h:
  • platform/audio/PlatformMediaSession.cpp:

(WebCore::PlatformMediaSession::doInterruption): This code was moved from
beginInterruption().

(WebCore::PlatformMediaSession::shouldDoInterruption): Move the condition
which allows the media session interruption to a separate function.

(WebCore::PlatformMediaSession::beginInterruption): Call the functions
shouldDoInterruption() and doInterruption().

(WebCore::PlatformMediaSession::forceInterruption): This function will
be called from PlatformMediaSessionManager::applicationDidEnterBackground()
to override the decision which is made by PlatformMediaSession::beginInterruption()
if the application isSuspendedUnderLock.

  • platform/audio/PlatformMediaSessionManager.h:
  • platform/audio/PlatformMediaSessionManager.cpp:

(WebCore::PlatformMediaSessionManager::applicationDidEnterBackground):
[UIApp isSuspendedUnderLock] is only valid when it is called when the
UIApplicationDidEnterBackgroundNotification is received. We need to force
interrupting the media sessions if the application isSuspendedUnderLock
and UIApplicationWillResignActiveNotification was ignored because of PiP.

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

(-[WebMediaSessionHelper initWithCallback:]):
(-[WebMediaSessionHelper applicationDidEnterBackground:]): Listen to
UIApplicationDidEnterBackgroundNotification and make a call on the web
thread to PlatformMediaSessionManager::applicationDidEnterBackground()
and pass the isSuspendedUnderLock flag which is queried on the UIProcess.

Source/WebKit2:

  • Platform/spi/ios/UIKitSPI.h: Forward declare [UIApplication isSuspendedUnderLock].
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::applicationDidEnterBackground):
[UIApp isSuspendedUnderLock] can only be called in the UIProcess. We need
to call it here and pass it to the WebPage in the WebProcess as part of the
ApplicationDidEnterBackground message.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in: Add the new parameter:

'isSuspendedUnderLock' to the ApplicationDidEnterBackground message.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::applicationDidEnterBackground): On iOS, the WebPage needs
to notify the MediaSessionManagerIOS that it received the message
ApplicationDidEnterBackground.

3:22 PM Changeset in webkit [187521] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebCore

[iOS] Creating a TextIndicator causes the view to scroll to the current selection
https://bugs.webkit.org/show_bug.cgi?id=147379
<rdar://problem/22038421>

Reviewed by Beth Dakin.

  • editing/Editor.cpp:

(WebCore::Editor::setIgnoreCompositionSelectionChange):

  • editing/Editor.h:

Add a flag so that setIgnoreCompositionSelectionChange(false) can still
not force-reveal the current selection.

This is useful for e.g. TextIndicator, who saves the selection, changes it,
and then restores it, but doesn't want to scroll to the saved/restored selection.

  • page/TextIndicator.cpp:

(WebCore::TextIndicator::createWithRange):
Make use of the above flag.

3:14 PM Changeset in webkit [187520] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.17-branch/Source

Versioning.

2:53 PM Changeset in webkit [187519] by Brian Burg
  • 13 edits in trunk/Source/WebInspectorUI

Web Inspector: Convert NavigationItem subclasses to ES6
https://bugs.webkit.org/show_bug.cgi?id=147364

Reviewed by Timothy Hatcher.

Convert remaining NavigationItem subclasses to use ES6 class.

Also promote the _additionalClassNames to be a protected getter,
and inline the style class names that are only used in one place.

Mechanical changes are elided from the changelog.

  • UserInterface/Views/ActivateButtonNavigationItem.js:

(WebInspector.ActivateButtonNavigationItem):
(WebInspector.ActivateButtonNavigationItem.prototype.get additionalClassNames):

  • UserInterface/Views/ActivateButtonToolbarItem.js:

(WebInspector.ActivateButtonToolbarItem):

  • UserInterface/Views/ButtonNavigationItem.js:

(WebInspector.ButtonNavigationItem):
(WebInspector.ButtonNavigationItem.prototype.get additionalClassNames):

  • UserInterface/Views/ButtonToolbarItem.js:

(WebInspector.ButtonToolbarItem):

  • UserInterface/Views/ControlToolbarItem.js:

(WebInspector.ControlToolbarItem):
(WebInspector.ControlToolbarItem.prototype.get additionalClassNames):

  • UserInterface/Views/DividerNavigationItem.js:

(WebInspector.DividerNavigationItem):
(WebInspector.DividerNavigationItem.prototype.get additionalClassNames):

  • UserInterface/Views/FlexibleSpaceNavigationItem.js:

(WebInspector.FlexibleSpaceNavigationItem):
(WebInspector.FlexibleSpaceNavigationItem.prototype.get additionalClassNames):

  • UserInterface/Views/HierarchicalPathNavigationItem.js:

(WebInspector.HierarchicalPathNavigationItem.prototype.get additionalClassNames):
(WebInspector.HierarchicalPathNavigationItem.prototype.get _additionalClassNames): Deleted.

  • UserInterface/Views/NavigationItem.js:

(WebInspector.NavigationItem):
(WebInspector.NavigationItem.prototype.get _classNames):

  • UserInterface/Views/RadioButtonNavigationItem.js:

(WebInspector.RadioButtonNavigationItem):
(WebInspector.RadioButtonNavigationItem.prototype.get additionalClassNames):

  • UserInterface/Views/ToggleButtonNavigationItem.js:

(WebInspector.ToggleButtonNavigationItem):
(WebInspector.ToggleButtonNavigationItem.prototype.get additionalClassNames):

  • UserInterface/Views/ToggleControlToolbarItem.js:

(WebInspector.ToggleControlToolbarItem):
(WebInspector.ToggleControlToolbarItem.prototype.get additionalClassNames):

2:50 PM Changeset in webkit [187518] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.17.6

New tag.

2:43 PM Changeset in webkit [187517] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Bounds in InteractionInformationAtPosition should be always in main frame coordinate space.
https://bugs.webkit.org/show_bug.cgi?id=147372

When we prepare the bounds for InteractionInformationAtPosition, we should convert the rect to
main frame space since WKContent in UIProcess expects it to be in the web view space.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2015-07-28
Reviewed by Tim Horton.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getPositionInformation): Convert the bounding rect to main frame space if the element is inside a sub-frame.

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

[iOS] Set AirPlay discovery mode to disabled when page is hidden
https://bugs.webkit.org/show_bug.cgi?id=147369

Reviewed by Jer Noble.

  • html/MediaElementSession.cpp:

(WebCore::MediaElementSession::requiresPlaybackTargetRouteMonitoring): Return false when

the client is not visible.

  • html/MediaElementSession.h:
  • platform/audio/PlatformMediaSession.cpp:

(WebCore::PlatformMediaSession::clientDataBufferingTimerFired): Call configureWireLessTargetMonitoring.

2:39 PM Changeset in webkit [187515] by saambarati1@gmail.com
  • 35 edits
    2 deletes in trunk/Source/JavaScriptCore

Implement catch scope using lexical scoping constructs introduced with "let" scoping patch
https://bugs.webkit.org/show_bug.cgi?id=146979

Reviewed by Geoffrey Garen.

Now that BytecodeGenerator has a notion of local scope depth,
we can easily implement a catch scope that doesn't claim that
all variables are dynamically scoped. This means that functions
that use try/catch can have local variable resolution. This also
means that all functions that use try/catch don't have all
their variables marked as being captured.

Catch scopes now behave like a "let" scope (sans the TDZ logic) with a
single variable. Catch scopes are now just JSLexicalEnvironments and the
symbol table backing the catch scope knows that it corresponds to a catch scope.

(JSC::CodeBlock::dumpBytecode):

  • bytecode/EvalCodeCache.h:

(JSC::EvalCodeCache::isCacheable):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::initializeDefaultParameterValuesAndSetupFunctionScopeStack):
(JSC::BytecodeGenerator::emitLoadGlobalObject):
(JSC::BytecodeGenerator::pushLexicalScope):
(JSC::BytecodeGenerator::pushLexicalScopeInternal):
(JSC::BytecodeGenerator::popLexicalScope):
(JSC::BytecodeGenerator::popLexicalScopeInternal):
(JSC::BytecodeGenerator::prepareLexicalScopeForNextForLoopIteration):
(JSC::BytecodeGenerator::variable):
(JSC::BytecodeGenerator::resolveType):
(JSC::BytecodeGenerator::emitResolveScope):
(JSC::BytecodeGenerator::emitPopScope):
(JSC::BytecodeGenerator::emitPopWithScope):
(JSC::BytecodeGenerator::emitDebugHook):
(JSC::BytecodeGenerator::popScopedControlFlowContext):
(JSC::BytecodeGenerator::emitPushCatchScope):
(JSC::BytecodeGenerator::emitPopCatchScope):
(JSC::BytecodeGenerator::beginSwitch):
(JSC::BytecodeGenerator::emitPopWithOrCatchScope): Deleted.

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::lastOpcodeID):

  • bytecompiler/NodesCodegen.cpp:

(JSC::AssignResolveNode::emitBytecode):
(JSC::WithNode::emitBytecode):
(JSC::TryNode::emitBytecode):

  • debugger/DebuggerScope.cpp:

(JSC::DebuggerScope::isCatchScope):
(JSC::DebuggerScope::isFunctionNameScope):
(JSC::DebuggerScope::isFunctionOrEvalScope):
(JSC::DebuggerScope::caughtValue):

  • debugger/DebuggerScope.h:
  • inspector/ScriptDebugServer.cpp:

(Inspector::ScriptDebugServer::exceptionOrCaughtValue):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_push_name_scope):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_push_name_scope):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createContinueStatement):
(JSC::ASTBuilder::createTryStatement):

  • parser/NodeConstructors.h:

(JSC::ThrowNode::ThrowNode):
(JSC::TryNode::TryNode):
(JSC::FunctionParameters::FunctionParameters):

  • parser/Nodes.h:
  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseTryStatement):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createBreakStatement):
(JSC::SyntaxChecker::createContinueStatement):
(JSC::SyntaxChecker::createTryStatement):
(JSC::SyntaxChecker::createSwitchStatement):
(JSC::SyntaxChecker::createWhileStatement):
(JSC::SyntaxChecker::createWithStatement):

  • runtime/JSCatchScope.cpp:
  • runtime/JSCatchScope.h:

(JSC::JSCatchScope::JSCatchScope): Deleted.
(JSC::JSCatchScope::create): Deleted.
(JSC::JSCatchScope::createStructure): Deleted.

  • runtime/JSFunctionNameScope.h:

(JSC::JSFunctionNameScope::JSFunctionNameScope):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::withScopeStructure):
(JSC::JSGlobalObject::strictEvalActivationStructure):
(JSC::JSGlobalObject::activationStructure):
(JSC::JSGlobalObject::functionNameScopeStructure):
(JSC::JSGlobalObject::directArgumentsStructure):
(JSC::JSGlobalObject::scopedArgumentsStructure):
(JSC::JSGlobalObject::catchScopeStructure): Deleted.

  • runtime/JSNameScope.cpp:

(JSC::JSNameScope::create):
(JSC::JSNameScope::toThis):

  • runtime/JSNameScope.h:
  • runtime/JSObject.cpp:

(JSC::JSObject::toThis):
(JSC::JSObject::isFunctionNameScopeObject):
(JSC::JSObject::isCatchScopeObject): Deleted.

  • runtime/JSObject.h:
  • runtime/JSScope.cpp:

(JSC::JSScope::collectVariablesUnderTDZ):
(JSC::JSScope::isLexicalScope):
(JSC::JSScope::isCatchScope):
(JSC::resolveModeName):

  • runtime/JSScope.h:
  • runtime/SymbolTable.cpp:

(JSC::SymbolTable::SymbolTable):
(JSC::SymbolTable::cloneScopePart):

  • runtime/SymbolTable.h:
  • tests/stress/const-semantics.js:

(.):

2:39 PM Changeset in webkit [187514] by andersca@apple.com
  • 2 edits in branches/safari-600.8-branch/LayoutTests

Skip two mixed content tests that don't make sense since we don't disable mixed content access by default.

  • platform/mac/TestExpectations:
2:23 PM Changeset in webkit [187513] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFG::ArgumentsEliminationPhase has a redundant check for inserting CheckInBounds when converting GetByVal to GetStack in the inline non-varargs case
https://bugs.webkit.org/show_bug.cgi?id=147373

Reviewed by Mark Lam.

The code was doing a check for "index >= inlineCallFrame->arguments.size() - 1" in code where
safeToGetStack is true and we aren't in varargs context, but in a non-varargs context,
safeToGetStack can only be true if "index < inlineCallFrame->arguments.size() - 1".

When converting a GetByVal to GetStack, there are three possibilities:

1) Impossible to convert. This can happen if the GetByVal is out-of-bounds of the things we

know to have stored to the stack. For example, if we inline a function that does
"arguments[42]" at a call that passes no arguments.

2) Possible to convert, but we cannot prove statically that the GetByVal was in bounds. This

can happen for "arguments[42]" with no inline call frame (since we don't know statically
how many arguments we will be passed) or in a varargs call frame.

3) Possible to convert, and we know statically that the GetByVal is in bounds. This can

happen for "arguments[42]" if we have an inline call frame, and it's not a varargs call
frame, and we know that the caller passed 42 or more arguments.

The way the phase handles this is it first determines that we're not in case (1). This is
called safeToGetStack. safeToGetStack is true if we have case (2) or (3). For inline call
frames that have no varargs, this means that safeToGetStack is true exactly when the GetByVal
is in-bounds (i.e. case (3)).

But the phase was again doing a check for whether the index is in-bounds for non-varargs
inline call frames even when safeToGetStack was true. That check is redundant and should be
eliminated, since it makes the code confusing.

  • dfg/DFGArgumentsEliminationPhase.cpp:
2:19 PM Changeset in webkit [187512] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, fix wrong test baseline landed in r187489.

  • http/tests/security/same-origin-css-4-expected.txt:
1:59 PM Changeset in webkit [187511] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.44.1/Source/WebKit2

Roll out r187376. rdar://problem/22000647

1:50 PM Changeset in webkit [187510] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFG::PutStackSinkingPhase should be more aggressive about its "no GetStack until put" rule
https://bugs.webkit.org/show_bug.cgi?id=147371

Reviewed by Mark Lam.

Two fixes:

  • Make ConflictingFlush really mean that you can't load from the stack slot. This means not using ConflictingFlush for arguments.
  • Assert that a GetStack never sees ConflictingFlush.
  • dfg/DFGPutStackSinkingPhase.cpp:
1:46 PM Changeset in webkit [187509] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.44.1/Source

Versioning.

1:45 PM Changeset in webkit [187508] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.44.1

New tag.

1:37 PM Changeset in webkit [187507] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Web Inspector: Include <template> node content in DOM Tree
https://bugs.webkit.org/show_bug.cgi?id=147335

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-28
Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

  • UserInterface/Controllers/DOMTreeManager.js:

(WebInspector.DOMTreeManager.prototype._unbind):
Cleanup templateContent when DOMNodes get removed.

  • UserInterface/Models/DOMNode.js:

(WebInspector.DOMNode.prototype.templateContent):
Create a DOMNode from the payload's templateContent.

  • UserInterface/Views/DOMTreeElement.js:

(WebInspector.DOMTreeElement.prototype._singleTextChild):
(WebInspector.DOMTreeElement.prototype._hasVisibleChildren):
(WebInspector.DOMTreeElement.prototype._visibleChildren):
A DOMTreeElement has children if the DOMNode has template content.

LayoutTests:

  • inspector/dom/template-content-expected.txt: Added.
  • inspector/dom/template-content.html: Added.
1:20 PM Changeset in webkit [187506] by basile_clement@apple.com
  • 4 edits in trunk

Misleading error message: "At least one digit must occur after a decimal point"
https://bugs.webkit.org/show_bug.cgi?id=146238

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Interestingly, we had a comment explaining what this error message was
about that is much clearer than the error message itself. This patch
simply replaces the error message with the explanation from the
comment.

  • parser/Lexer.cpp:

(JSC::Lexer<T>::lex):

LayoutTests:

The expected error message in this test has changed.

  • js/basic-strict-mode-expected.txt:
1:12 PM Changeset in webkit [187505] by basile_clement@apple.com
  • 14 edits in trunk/Source/JavaScriptCore

Simplify call linking
https://bugs.webkit.org/show_bug.cgi?id=147363

Reviewed by Filip Pizlo.

Previously, we were passing both the CallLinkInfo and a
(CodeSpecializationKind, RegisterPreservationMode) pair to the
different call linking slow paths. However, the CallLinkInfo already
has all of that information, and we don't gain anything by having them
in additional static parameters - except possibly a very small
performance gain in presence of inlining. However since those are
already slow paths, this performance loss (if it exists) will not be
visible in practice.

This patch removes the various specialized thunks and JIT operations
for regular and polymorphic call linking with a single thunk and
operation for each case. Moreover, it removes the four specialized
virtual call thunks and operations with one virtual call thunk for each
call link info, allowing for better branch prediction by the CPU and
fixing a pre-existing FIXME.

  • bytecode/CallLinkInfo.cpp:

(JSC::CallLinkInfo::unlink):
(JSC::CallLinkInfo::dummy): Deleted.

  • bytecode/CallLinkInfo.h:

(JSC::CallLinkInfo::CallLinkInfo):
(JSC::CallLinkInfo::registerPreservationMode):
(JSC::CallLinkInfo::setUpCallFromFTL):
(JSC::CallLinkInfo::setSlowStub):
(JSC::CallLinkInfo::clearSlowStub):
(JSC::CallLinkInfo::slowStub):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):

  • ftl/FTLJSCallBase.cpp:

(JSC::FTL::JSCallBase::link):

  • jit/JITCall.cpp:

(JSC::JIT::compileCallEvalSlowCase):
(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileCallEvalSlowCase):
(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:

(JSC::operationLinkFor): Deleted.
(JSC::operationVirtualFor): Deleted.
(JSC::operationLinkPolymorphicCallFor): Deleted.

  • jit/Repatch.cpp:

(JSC::generateByIdStub):
(JSC::linkSlowFor):
(JSC::linkFor):
(JSC::revertCall):
(JSC::unlinkFor):
(JSC::linkVirtualFor):
(JSC::linkPolymorphicCall):

  • jit/Repatch.h:
  • jit/ThunkGenerators.cpp:

(JSC::linkCallThunkGenerator):
(JSC::linkPolymorphicCallThunkGenerator):
(JSC::virtualThunkFor):
(JSC::linkForThunkGenerator): Deleted.
(JSC::linkConstructThunkGenerator): Deleted.
(JSC::linkCallThatPreservesRegsThunkGenerator): Deleted.
(JSC::linkConstructThatPreservesRegsThunkGenerator): Deleted.
(JSC::linkPolymorphicCallForThunkGenerator): Deleted.
(JSC::linkPolymorphicCallThatPreservesRegsThunkGenerator): Deleted.
(JSC::virtualForThunkGenerator): Deleted.
(JSC::virtualCallThunkGenerator): Deleted.
(JSC::virtualConstructThunkGenerator): Deleted.
(JSC::virtualCallThatPreservesRegsThunkGenerator): Deleted.
(JSC::virtualConstructThatPreservesRegsThunkGenerator): Deleted.

  • jit/ThunkGenerators.h:

(JSC::linkThunkGeneratorFor): Deleted.
(JSC::linkPolymorphicCallThunkGeneratorFor): Deleted.
(JSC::virtualThunkGeneratorFor): Deleted.

1:10 PM Changeset in webkit [187504] by Said Abou-Hallawa
  • 4 edits
    2 adds in trunk

Crash happens when calling removeEventListener for an SVG element which has an instance inside a <defs> element of shadow tree
https://bugs.webkit.org/show_bug.cgi?id=147290

Reviewed by Daniel Bates.

Source/WebCore:

When the shadow tree is built for a <use> element, all the SVG elements
are allowed to be cloned in the shadow tree but later some of the elements
are disallowed and removed. Make sure, when disallowing an element in the
shadow tree, to reset the correspondingElement relationship between all
the disallowed descendant SVG elements and all their original elements.

Test: svg/custom/remove-event-listener-shadow-disallowed-element.svg

*svg/SVGElement.cpp:
(WebCore::SVGElement::setCorrespondingElement)

  • svg/SVGUseElement.cpp:

(WebCore::removeDisallowedElementsFromSubtree):

LayoutTests:

Make sure we do not crash when when calling removeEventListener() for an
element which is cloned under a disallowed parent inside the shadow tree
of another <use> element.

  • svg/custom/remove-event-listener-shadow-disallowed-element-expected.txt: Added.
  • svg/custom/remove-event-listener-shadow-disallowed-element.svg: Added.
12:48 PM Changeset in webkit [187503] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed, follow-up nit fix after r187489.

Fix forward declarations ordering.

  • css/StyleSheetContents.h:
12:42 PM Changeset in webkit [187502] by hyatt@apple.com
  • 4 edits
    2 adds in trunk

ASSERTION FAILED: !currBox->needsLayout() loading bing maps (and apple.com/music and nytimes)
https://bugs.webkit.org/show_bug.cgi?id=93891

Reviewed by Simon Fraser.

Source/WebCore:

Added new tests in fast/dynamic.

Change tracking of positioned objects to always insert objects that need a layout in the
end of the ListHashMap for RenderViews. This ensures that dependencies between nested
positioned objects that both need a layout by the RenderView are resolved in the correct order.

Don't cache the end object when walking the ListHashMap to do layouts of positioned objects,
since that list is getting updated dynamically as earlier objects can mark and insert new
objects into the list during their layouts.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObject):
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::insertIntoTrackedRendererMaps):
(WebCore::RenderBlock::insertPositionedObject):
(WebCore::RenderBlock::removePositionedObject):

  • rendering/RenderBlock.h:

LayoutTests:

  • fast/dynamic/position-fixed-to-absolute-with-positioned-child-crash-expected.txt: Added.
  • fast/dynamic/position-fixed-to-absolute-with-positioned-child-crash.html: Added.
12:38 PM Changeset in webkit [187501] by ap@apple.com
  • 3 edits in trunk/Tools

webkitbot and WKR unnecessarily rely on webkit-queues.appspot.com
https://bugs.webkit.org/show_bug.cgi?id=147359

Reviewed by Ryosuke Niwa.

  • Scripts/webkitpy/tool/commands/newcommitbot.py:

(NewCommitBot.begin_work_queue):

  • Scripts/webkitpy/tool/commands/sheriffbot.py:

(SheriffBot.begin_work_queue):

12:23 PM Changeset in webkit [187500] by Devin Rousso
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: Invalid selectors can be applied to the stylesheet
https://bugs.webkit.org/show_bug.cgi?id=147230

Reviewed by Timothy Hatcher.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Models/CSSRule.js:

(WebInspector.CSSRule.prototype.set selectorText):
Fires an event with data stating if the newly applied selector was valid or not.
(WebInspector.CSSRule.prototype._selectorRejected):
(WebInspector.CSSRule.prototype._selectorResolved):
(WebInspector.CSSRule):

  • UserInterface/Models/DOMNodeStyles.js:

(WebInspector.DOMNodeStyles.prototype.changeRuleSelector.ruleSelectorChanged):
(WebInspector.DOMNodeStyles.prototype.changeRuleSelector):
Now returns a promise that will reject if CSSAgent.setRuleSelector has an
error, such as if the selector is invalid, and resolve otherwise.

  • UserInterface/Views/CSSStyleDeclarationSection.css:

(.style-declaration-section:not(.invalid-selector) > .header > .icon.toggle-able:hover):
(.style-declaration-section:not(.invalid-selector).rule-disabled > .header > .icon):
(.style-declaration-section.invalid-selector > .header > .icon):
(.style-declaration-section.invalid-selector > .header > .selector > *):
(.style-declaration-section > .header > .icon.toggle-able:hover): Deleted.
(.style-declaration-section.rule-disabled > .header > .icon): Deleted.

  • UserInterface/Views/CSSStyleDeclarationSection.js:

(WebInspector.CSSStyleDeclarationSection):
(WebInspector.CSSStyleDeclarationSection.prototype._toggleRuleOnOff):
Only allow rule toggling if the selector is valid.
(WebInspector.CSSStyleDeclarationSection.prototype._markSelector):
If the new selector is valid, refresh the section. Otherwise, apply a class
to the section element that marks the selector as being invalid.
(WebInspector.CSSStyleDeclarationSection.prototype.get _hasInvalidSelector):

12:16 PM Changeset in webkit [187499] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.17-branch/Source/WebCore

Merged r187490. rdar://problem/22035036

12:14 PM Changeset in webkit [187498] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix builds using PathCairo.

  • platform/graphics/cairo/PathCairo.cpp:

(WebCore::Path::apply):

11:51 AM Changeset in webkit [187497] by basile_clement@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

stress/math-pow-with-constants.js fails in cloop
https://bugs.webkit.org/show_bug.cgi?id=147167

Reviewed by Geoffrey Garen.

Baseline JIT, DFG and FTL are using a fast exponentiation fast path
when computing Math.pow() with an integer exponent that is not taken in
the LLInt (or the DFG abstract interpreter). This leads to the result
of pow changing depending on the compilation tier or the fact that
constant propagation kicks in, which is undesirable.

This patch adds the fast path to the slow operationMathPow in order to
maintain an illusion of consistency.

  • runtime/MathCommon.cpp:

(JSC::operationMathPow):

  • tests/stress/math-pow-coherency.js: Added.

(pow42):
(build42AsDouble.opaqueAdd):
(build42AsDouble):
(powDouble42):
(clobber):
(pow42NoConstantFolding):
(powDouble42NoConstantFolding):

11:47 AM Changeset in webkit [187496] by commit-queue@webkit.org
  • 25 edits
    6 adds in trunk

Web Inspector: Show Pseudo Elements in DOM Tree
https://bugs.webkit.org/show_bug.cgi?id=139612

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-28
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/protocol/DOM.json:

Add new properties to DOMNode if it is a pseudo element or if it has
pseudo element children. Add new events for if a pseudo element is
added or removed dynamically to an existing DOMNode.

Source/WebCore:

Tests: inspector/css/pseudo-element-matches-for-pseudo-element-node.html

inspector/dom/pseudo-element-dynamic.html
inspector/dom/pseudo-element-static.html

Much of this patch was modelled after the Blink implementation of
pseudo element inspection.

  • dom/PseudoElement.h:
  • dom/PseudoElement.cpp:

(WebCore::PseudoElement::~PseudoElement):
(WebCore::PseudoElement::clearHostElement):
Since InspectorDOMAgent may hold a reference to this PseudoElement we
can't report it as destroyed in the destructor, as that wouldn't be
reached if the inspector holds a reference. Move this to when the
psuedo element is disconnected, which is immediately before destruction.

  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
When computing styles for a pseudo element, compute styles from the
host element for just the pseudo element's pseudo type. Likewise
only include matched results, not inherited or others.

(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
Add the pseudo type to the checker context to try and detect exactly
which selector in a list of selectors matched the pseudo element.

  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::unbind):
When unbinding an element, also unbind any pseudo element children
it may have had and bound.

(WebCore::InspectorDOMAgent::assertEditableNode):
(WebCore::InspectorDOMAgent::assertEditableElement):
(WebCore::InspectorDOMAgent::removeNode):
Improve grammar in error message. Don't allow editing pseudo elements.

(WebCore::pseudoElementType):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
If a node is a pseudo element include its pseudoType.
If a node has pseudo element children include them.

(WebCore::InspectorDOMAgent::pseudoElementCreated):
(WebCore::InspectorDOMAgent::pseudoElementDestroyed):
When pseudo elements are dynamically created or destroyed
push pseudo element nodes to the frontend if needed.

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::pseudoElementCreatedImpl):
(WebCore::InspectorInstrumentation::pseudoElementDestroyedImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::pseudoElementCreated):
(WebCore::InspectorInstrumentation::pseudoElementDestroyed):
(WebCore::InspectorInstrumentation::layerTreeDidChange):
(WebCore::InspectorInstrumentation::renderLayerDestroyed):
Plumbing for pseudo element created/destroyed events.

  • style/StyleResolveTree.cpp:

(WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):
This is the only place a pseudo element is created, inform the inspector.

  • inspector/InspectorOverlay.cpp:

(WebCore::buildObjectForElementData):
Update the element data for the node highlight label to include the
host element's selector and the pseudo element selector.

Source/WebInspectorUI:

  • UserInterface/Controllers/DOMTreeManager.js:

(WebInspector.DOMTreeManager.prototype._pseudoElementAdded):
Hook up the new pseudo element DOMNode to the parent.

(WebInspector.DOMTreeManager.prototype._pseudoElementRemoved):
Unhook the pseudo element from its parent.

(WebInspector.DOMTreeManager.prototype._unbind):
When unbinding, unbind any pseudo element children we may have had.

  • UserInterface/Models/DOMNode.js:

(WebInspector.DOMNode.prototype.isPseudoElement):
(WebInspector.DOMNode.prototype.pseudoType):
(WebInspector.DOMNode.prototype.hasPseudoElements):
(WebInspector.DOMNode.prototype.pseudoElements):
New state of a DOMNode may include pseudo elements.

(WebInspector.DOMNode.prototype.appropriateSelectorFor):
A selector for this node includes the selector for the node above it.

  • UserInterface/Protocol/DOMObserver.js:

(WebInspector.DOMObserver.prototype.pseudoElementAdded):
(WebInspector.DOMObserver.prototype.pseudoElementRemoved):
Pass the message on to DOMTreeManager.

  • UserInterface/Views/DOMTreeElement.js:

(WebInspector.DOMTreeElement.prototype.get editable):
Pseudo element nodes are not editable.

(WebInspector.DOMTreeElement.prototype.showChildNode):
(WebInspector.DOMTreeElement.prototype.onpopulate):
(WebInspector.DOMTreeElement.prototype.updateChildren):
(WebInspector.DOMTreeElement.prototype._nodeTitleInfo):
(WebInspector.DOMTreeElement.prototype._singleTextChild):
(WebInspector.DOMTreeElement.prototype._hasVisibleChildren):
(WebInspector.DOMTreeElement.prototype._visibleChildren):
(WebInspector.DOMTreeElement.prototype._updateChildren):
(WebInspector.DOMTreeElement.prototype.adjustCollapsedRange):
(WebInspector.DOMTreeElement.prototype.handleLoadAllChildren):
A DOMTreeElement's children are no longer 1-to-1 to DOMNode's children.
Instead a DOMNode may have a before/after pseudo element child that
are not included in the children list. Update parts of DOMTreeElement
to respect this list of visible children.

  • UserInterface/Views/DOMTreeElementPathComponent.js:

(WebInspector.DOMTreeElementPathComponent):

  • UserInterface/Views/PathComponentIcons.css:

(.dom-pseudo-element-icon .icon):
Styling for the path component when a pseudo element is selected.

  • UserInterface/Views/DOMTreeOutline.css:

(.dom-tree-outline .html-pseudo-element):
(.dom-tree-outline .html-fragment.shadow):
(.webkit-html-fragment.shadow): Deleted.
Styles for pseudo elements in the DOM tree.

  • UserInterface/Views/DOMTreeOutline.js:

(WebInspector.DOMTreeOutline.prototype._hideElement):
Make the hide element selector hide the host element.

  • UserInterface/Views/CSSStyleDetailsSidebarPanel.js:

(WebInspector.CSSStyleDetailsSidebarPanel.prototype.addEventListeners):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.removeEventListeners):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._forcedPseudoClassCheckboxChanged):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._updatePseudoClassCheckboxes):
Pseudo class changes won't happen on pseudo elements, but will
happen on their host element, so listen to and make pseudo class
changes to the host element.

  • UserInterface/Views/RulesStyleDetailsPanel.css:

(.sidebar > .panel.details.css-style .rules > *:first-child:matches(.new-rule)):
Since a pseudo element does not have a style attribute,
give some margin in the style sidebar above the "New Rule"
button so it looks better.

LayoutTests:

  • inspector/css/pseudo-element-matches-for-pseudo-element-node-expected.txt: Added.
  • inspector/css/pseudo-element-matches-for-pseudo-element-node.html: Added.
  • inspector/dom/pseudo-element-dynamic-expected.txt: Added.
  • inspector/dom/pseudo-element-dynamic.html: Added.
  • inspector/dom/pseudo-element-static-expected.txt: Added.
  • inspector/dom/pseudo-element-static.html: Added.
11:42 AM Changeset in webkit [187495] by fpizlo@apple.com
  • 2 edits in trunk/Source/WTF

Unreviewed, fix Windows build.

  • wtf/MetaAllocatorHandle.h:

(WTF::MetaAllocatorHandle::key):

11:26 AM Changeset in webkit [187494] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

Remove some more bits of WebTiledLayer
https://bugs.webkit.org/show_bug.cgi?id=147356

Reviewed by Simon Fraser.

  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:

(PlatformCALayerCocoa::setContentsScale): Deleted.
(PlatformCALayer::setTileSize): Deleted.

11:22 AM Changeset in webkit [187493] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Change markContainingBlocksForLayout() to take an enum, rather than a bool
https://bugs.webkit.org/show_bug.cgi?id=147345

Reviewed by Daniel Bates.

Change markContainingBlocksForLayout to take an enum class for the scheduleRelayout
argument, for better code readability.

  • page/FrameView.cpp:

(WebCore::FrameView::layout):
(WebCore::FrameView::scheduleRelayout):
(WebCore::FrameView::scheduleRelayoutOfSubtree):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::markContainingBlocksForLayout):

  • rendering/RenderObject.h:
11:22 AM Changeset in webkit [187492] by Simon Fraser
  • 13 edits in trunk/Source

PathApplierFunction should take a reference to a PathElement
https://bugs.webkit.org/show_bug.cgi?id=147337

Reviewed by Dan Bates.

Convert PathApplierFunction to take a const PathElement&, since it can never be null.

Source/WebCore:

  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

(ConvertPathToScreenSpaceFunction):

  • inspector/InspectorOverlay.cpp:

(WebCore::appendPathSegment):

  • platform/graphics/Path.cpp:

(WebCore::pathLengthApplierFunction):

  • platform/graphics/Path.h:
  • platform/graphics/PathTraversalState.h:

(WebCore::PathTraversalState::processPathElement):

  • platform/graphics/cg/PathCG.cpp:

(WebCore::CGPathApplierToPathApplier):

  • rendering/svg/SVGMarkerData.h:

(WebCore::SVGMarkerData::updateFromPathElement):
(WebCore::SVGMarkerData::updateMarkerDataForPathElement):

  • rendering/svg/SVGSubpathData.h:

(WebCore::SVGSubpathData::updateFromPathElement):

  • svg/SVGPathUtilities.cpp:

(WebCore::pathIteratorForBuildingString):

Source/WebKit2:

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::pathPointCountApplierFunction):
(IPC::pathEncodeApplierFunction):

11:20 AM Changeset in webkit [187491] by jer.noble@apple.com
  • 12 edits in trunk/Source

[iOS] Notify fullscreen controller in UIProcess whether external playback is allowed
https://bugs.webkit.org/show_bug.cgi?id=147343

Reviewed by Brady Eidson.

Source/WebCore:

Pass the value of the MediaElementSession's wirelessVideoPlaybackDisabled() property up through WebKit2 to
WebVideoFullscreenControllerAVKit.

  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(WebVideoFullscreenControllerContext::setWirelessVideoPlaybackDisabled): Pass to the interface on the main thread.

  • platform/ios/WebVideoFullscreenInterface.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::setWirelessVideoPlaybackDisabled): Sets .allowsExternalPlayback to !disabled.
(WebVideoFullscreenInterfaceAVKit::wirelessVideoPlaybackDisabled): Returns the last value set.

  • platform/ios/WebVideoFullscreenModelVideoElement.mm:

(WebVideoFullscreenModelVideoElement::setWebVideoFullscreenInterface): Update the value of wirelessVideoPlaybackDisabled

if the element is present.

(WebVideoFullscreenModelVideoElement::setVideoElement): Ditto if the interface is present.
(WebVideoFullscreenModelVideoElement::updateForEventName): Update the value either way.

Source/WebKit2:

Pass the boolean property wirelessVideoPlaybackDisabled across the UIProcess/WebProcess boundary.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::setWirelessVideoPlaybackDisabled):

  • WebProcess/ios/WebVideoFullscreenManager.mm:

(WebKit::WebVideoFullscreenInterfaceContext::setWirelessVideoPlaybackDisabled):
(WebKit::WebVideoFullscreenManager::WebVideoFullscreenManager):
(WebKit::WebVideoFullscreenManager::setWirelessVideoPlaybackDisabled):

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

Handle null CFArrayRef returning from _CFHTTPParsedCookiesWithResponseHeaderFields.
<rdar://problem/21995928> and https://bugs.webkit.org/show_bug.cgi?id=147365

Reviewed by Alexey Proskuryakov.

  • platform/network/cf/CookieJarCFNet.cpp:

(WebCore::filterCookies): ASSERT the input is not null.
(WebCore::createCookies): Always return a CFArrayRef, even if it's empty.

10:24 AM Changeset in webkit [187489] by Chris Dumez
  • 18 edits
    3 copies
    31 adds
    2 deletes in trunk

Allow lax MIME type parsing for same-origin CSS in quirks mode.
https://bugs.webkit.org/show_bug.cgi?id=147327
<rdar://problem/22010303>

Reviewed by Zalan Bujtas.

Source/WebCore:

The change made in r180020 is too strict for the web, and doesn't match Firefox
Chrome, or IE's behavior. In particular, it does not respect the same-origin
carveout that the HTML spec specifies:
https://html.spec.whatwg.org/multipage/semantics.html#link-type-stylesheet

This patch corrects that oversight and aligns our behavior with other popular
browsers.

This change was adapted from Blink r196678:
https://src.chromium.org/viewvc/blink?revision=196678&view=revision

Tests: http/tests/security/cross-origin-css-in-quirks-1.html

http/tests/security/cross-origin-css-in-quirks-2.html
http/tests/security/cross-origin-css-in-quirks-3.html
http/tests/security/cross-origin-css-in-quirks-4.html
http/tests/security/cross-origin-css-in-quirks-5.html
http/tests/security/cross-origin-css-in-quirks-6.html
http/tests/security/cross-origin-css-in-quirks-7.html
http/tests/security/cross-origin-css-in-quirks-8.html
http/tests/security/same-origin-css-1.html
http/tests/security/same-origin-css-2.html
http/tests/security/same-origin-css-3.html
http/tests/security/same-origin-css-4.html
http/tests/security/same-origin-css-5.html
http/tests/security/same-origin-css-6.html
http/tests/security/same-origin-css-7.html
http/tests/security/same-origin-css-8.html
http/tests/security/same-origin-css-in-quirks.html

  • css/StyleRuleImport.cpp:

(WebCore::StyleRuleImport::setCSSStyleSheet):

  • css/StyleSheetContents.cpp:

(WebCore::StyleSheetContents::parseAuthorStyleSheet):

  • css/StyleSheetContents.h:
  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::setCSSStyleSheet):

  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::sheetText):
(WebCore::CachedCSSStyleSheet::canUseSheet):
(WebCore::CachedCSSStyleSheet::checkNotify): Deleted.

  • loader/cache/CachedCSSStyleSheet.h:

LayoutTests:

Add layout test coverage for MIME type parsing for same-origin CSS in
quirks mode and not.

  • http/tests/inspector/css/bad-mime-type-expected.txt:
  • http/tests/mime/standard-mode-does-not-load-stylesheet-with-text-plain-and-css-extension-expected.txt:
  • http/tests/mime/standard-mode-does-not-load-stylesheet-with-text-plain-expected.txt:
  • http/tests/misc/css-accept-any-type-expected.txt: Removed.
  • http/tests/misc/css-accept-any-type.html: Removed.
  • http/tests/misc/css-reject-any-type-in-strict-mode-expected.txt:
  • http/tests/security/cross-origin-css-1-expected.txt:
  • http/tests/security/cross-origin-css-2-expected.txt:
  • http/tests/security/cross-origin-css-4-expected.txt:
  • http/tests/security/cross-origin-css-5-expected.txt:
  • http/tests/security/cross-origin-css-7-expected.txt:
  • http/tests/security/cross-origin-css-in-quirks-1-expected.txt: Copied from LayoutTests/http/tests/security/cross-origin-css-1-expected.txt.
  • http/tests/security/cross-origin-css-in-quirks-1.html: Added.
  • http/tests/security/cross-origin-css-in-quirks-2-expected.txt: Copied from LayoutTests/http/tests/security/cross-origin-css-2-expected.txt.
  • http/tests/security/cross-origin-css-in-quirks-2.html: Added.
  • http/tests/security/cross-origin-css-in-quirks-3-expected.txt: Added.
  • http/tests/security/cross-origin-css-in-quirks-3.html: Added.
  • http/tests/security/cross-origin-css-in-quirks-4-expected.txt: Added.
  • http/tests/security/cross-origin-css-in-quirks-4.html: Added.
  • http/tests/security/cross-origin-css-in-quirks-5-expected.txt: Copied from LayoutTests/http/tests/security/cross-origin-css-5-expected.txt.
  • http/tests/security/cross-origin-css-in-quirks-5.html: Added.
  • http/tests/security/cross-origin-css-in-quirks-6-expected.txt: Added.
  • http/tests/security/cross-origin-css-in-quirks-6.html: Added.
  • http/tests/security/cross-origin-css-in-quirks-7-expected.txt: Added.
  • http/tests/security/cross-origin-css-in-quirks-7.html: Added.
  • http/tests/security/cross-origin-css-in-quirks-8-expected.txt: Added.
  • http/tests/security/cross-origin-css-in-quirks-8.html: Added.
  • http/tests/security/same-origin-css-1-expected.txt: Added.
  • http/tests/security/same-origin-css-1.html: Added.
  • http/tests/security/same-origin-css-2-expected.txt: Added.
  • http/tests/security/same-origin-css-2.html: Added.
  • http/tests/security/same-origin-css-3-expected.txt: Added.
  • http/tests/security/same-origin-css-3.html: Added.
  • http/tests/security/same-origin-css-4-expected.txt: Added.
  • http/tests/security/same-origin-css-4.html: Added.
  • http/tests/security/same-origin-css-5-expected.txt: Added.
  • http/tests/security/same-origin-css-5.html: Added.
  • http/tests/security/same-origin-css-6-expected.txt: Added.
  • http/tests/security/same-origin-css-6.html: Added.
  • http/tests/security/same-origin-css-7-expected.txt: Copied from LayoutTests/http/tests/security/cross-origin-css-7-expected.txt.
  • http/tests/security/same-origin-css-7.html: Added.
  • http/tests/security/same-origin-css-8-expected.txt: Added.
  • http/tests/security/same-origin-css-8.html: Added.
  • http/tests/security/same-origin-css-in-quirks-expected.txt: Added.
  • http/tests/security/same-origin-css-in-quirks.html: Added.
  • platform/mac/http/tests/misc/acid3-expected.txt:
9:58 AM Changeset in webkit [187488] by fpizlo@apple.com
  • 6 edits in trunk/Source

Add logging when executable code gets deallocated
https://bugs.webkit.org/show_bug.cgi?id=147355

Reviewed by Mark Lam.

Source/JavaScriptCore:

  • ftl/FTLJITCode.cpp:

(JSC::FTL::JITCode::~JITCode): Print something when this is freed.

  • jit/JITCode.cpp:

(JSC::JITCodeWithCodeRef::~JITCodeWithCodeRef): Print something when this is freed.

Source/WTF:

  • wtf/MetaAllocator.cpp:

(WTF::MetaAllocatorHandle::dump): It's useful to be able to dump these.

  • wtf/MetaAllocatorHandle.h:
9:55 AM Changeset in webkit [187487] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

DFG::safeToExecute() cases for GetByOffset/PutByOffset don't handle clobbered structure abstract values correctly
https://bugs.webkit.org/show_bug.cgi?id=147354

Reviewed by Michael Saboff.

If m_structure.isClobbered(), it means that we had a side effect that clobbered
the abstract value but it may recover back to its original value at the next
invalidation point. Since the invalidation point hasn't been reached yet, we need
to conservatively treat the clobbered state as if it was top. At the invalidation
point, the clobbered set will return back to being unclobbered.

In addition to fixing the bug, this introduces isInfinite(), which should be used
in places where it's tempting to just use isTop().

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute): Fix the bug.

  • dfg/DFGStructureAbstractValue.cpp:

(JSC::DFG::StructureAbstractValue::contains): Switch to using isInfinite().
(JSC::DFG::StructureAbstractValue::isSubsetOf): Switch to using isInfinite().
(JSC::DFG::StructureAbstractValue::isSupersetOf): Switch to using isInfinite().
(JSC::DFG::StructureAbstractValue::overlaps): Switch to using isInfinite().

  • dfg/DFGStructureAbstractValue.h:

(JSC::DFG::StructureAbstractValue::isFinite): New convenience method.
(JSC::DFG::StructureAbstractValue::isInfinite): New convenience method.
(JSC::DFG::StructureAbstractValue::onlyStructure): Switch to using isInfinite().

9:29 AM Changeset in webkit [187486] by ap@apple.com
  • 3 edits
    2 deletes in trunk

Rolling out r187463, because it caused memory corruption on multiple tests.

Original bug:
Crash happens when calling removeEventListener for an SVG element which has an instance inside a <defs> element of shadow tree
https://bugs.webkit.org/show_bug.cgi?id=147290

  • svg/custom/remove-event-listener-shadow-disallowed-element-expected.txt: Removed.
  • svg/custom/remove-event-listener-shadow-disallowed-element.svg: Removed.

Source/WebCore:

  • svg/SVGUseElement.cpp:

(WebCore::removeDisallowedElementsFromSubtree):
(WebCore::associateClonesWithOriginals):

3:03 AM Changeset in webkit [187485] by Carlos Garcia Campos
  • 10 edits in trunk/Source

[GTK] Use fastMalloc instead of g_slice
https://bugs.webkit.org/show_bug.cgi?id=147357

Reviewed by Sergio Villar Senin.

The use of g_slice is no longer encouraged by glib developers.

Source/WebCore:

  • platform/graphics/gstreamer/GStreamerUtilities.cpp:

(WebCore::mapGstBuffer):
(WebCore::unmapGstBuffer):

Source/WebKit2:

  • UIProcess/API/gtk/WebKitCredential.cpp:

(webkitCredentialCreate):
(webkit_credential_free):

  • UIProcess/API/gtk/WebKitJavascriptResult.cpp:

(webkitJavascriptResultCreate):
(webkit_javascript_result_unref):

  • UIProcess/API/gtk/WebKitMimeInfo.cpp:

(webkitMimeInfoCreate):
(webkit_mime_info_unref):

  • UIProcess/API/gtk/WebKitNavigationAction.cpp:

(webkitNavigationActionCreate):
(webkit_navigation_action_copy):
(webkit_navigation_action_free):

  • UIProcess/API/gtk/WebKitPrivate.h:
  • UIProcess/API/gtk/WebKitScriptDialog.cpp:

(webkitScriptDialogCopy):
(webkitScriptDialogFree):

  • UIProcess/API/gtk/WebKitUserContent.cpp:

(webkit_user_style_sheet_unref):
(webkit_user_style_sheet_new):
(webkit_user_script_unref):
(webkit_user_script_new):

1:32 AM Changeset in webkit [187484] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Speed up StringBuilder::appendQuotedJSONString()
https://bugs.webkit.org/show_bug.cgi?id=147352

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

  • wtf/text/StringBuilder.cpp:

(WTF::appendQuotedJSONStringInternal):
The cases '"' and '
' are not that uncommon, and they can easily
be handled in the original branch testing for them.

This is about 2.5% better on the JSON.stringify test.

Note: See TracTimeline for information about the timeline view.