⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Jan 31, 2015:

11:30 PM Changeset in webkit [179461] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening. Update flaky tests regarding W3C SVG 1.1 tests.

  • platform/efl/TestExpectations:
10:54 PM Changeset in webkit [179460] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed test machine configuration change.

  • http/conf/apache2.4-httpd-win.conf: Provide reasonable default PidFile location for xampp-based install.
8:18 PM Changeset in webkit [179459] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION (r177689): Emoji variation sequences rendered incorrectly (as characters from other non-emoji font)
https://bugs.webkit.org/show_bug.cgi?id=141112

Patch by Myles C. Maxfield <litherum@gmail.com> on 2015-01-31
Reviewed by Sam Weinig.

Source/WebCore:

Typo in r177689.

Test: platform/mac/fast/text/combining-mark-paint.html

  • platform/graphics/mac/ComplexTextControllerCoreText.mm:

(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):

LayoutTests:

  • platform/mac/fast/text/combining-mark-paint-expected.html: Added.
  • platform/mac/fast/text/combining-mark-paint.html: Added.
8:03 PM Changeset in webkit [179458] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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

Caused more mallocing than the volatility saved. (Requested by
kling on #webkit).

Reverted changeset:

"[Cocoa] Make decoded image data purgeable ASAP."
https://bugs.webkit.org/show_bug.cgi?id=140298
http://trac.webkit.org/changeset/178183

7:58 PM Changeset in webkit [179457] by msaboff@apple.com
  • 3 edits
    3 adds in trunk

Crash (DFG assertion) beneath AbstractInterpreter::verifyEdge() @ http://experilous.com/1/planet-generator/2014-09-28/version-1
https://bugs.webkit.org/show_bug.cgi?id=141111

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

In LowerDFGToLLVM::compileNode(), if we determine while compiling a node that we would have
exited, we don't need to process the OSR availability or abstract interpreter.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::safelyInvalidateAfterTermination): Broke this out a a separate
method since we need to call it at the top and near the bottom of compileNode().
(JSC::FTL::LowerDFGToLLVM::compileNode):

LayoutTests:

New tests.

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

(MyObject):
(foo):
(.result):
(bar):

7:11 PM Changeset in webkit [179456] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Use simpler CachedResourceMap structure in MemoryCache with CACHE_PARTITIONING enabled
https://bugs.webkit.org/show_bug.cgi?id=141110

Reviewed by Antti Koivisto.

Use simpler CachedResourceMap structure in MemoryCache with CACHE_PARTITIONING
enabled. Previously, we would be using a HashMap of HashMap to store
CachedResources. The outer HashMap would use the URL as key and the inner
HashMap would use the partition name as key. This would make traversing the
structure overly complicated, especially considering that the code needs to
traverse a simple HashMap if CACHE_PARTITIONING is disabled.

This patch updates the CachedResourceMap structure to be a simple HashMap,
whose key is an std::pair<URL, String /* partitionName */>. Having a flat
structure simplifies the traversal code a lot and enables more code sharing
between CACHE_PARTITIONING and !CACHE_PARTITIONING. This shouldn't regress
performance because we always have both a URL and a partition name when we
need to look up a resource. We never need to retrieve all resources with
a particular URL.

This patch also switches to using a URL as key instead of a String as we
always have a URL has input.

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::add):
(WebCore::MemoryCache::revalidationSucceeded):
(WebCore::MemoryCache::resourceForRequestImpl):
(WebCore::MemoryCache::removeImageFromCache):
(WebCore::MemoryCache::remove):
After removing the resource from the CachedResourceMap, remove the
sessionID from m_sessionResources if the CachedResourceMap is now
empty. Previously, no code was removing sessionIDs from
m_sessionResources.

(WebCore::MemoryCache::removeResourcesWithOrigin):
(WebCore::MemoryCache::getOriginsWithCache):
(WebCore::MemoryCache::getStatistics):
(WebCore::MemoryCache::setDisabled):

  • loader/cache/MemoryCache.h:
7:04 PM Changeset in webkit [179455] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Merge the iOS implementations of GraphicsContext::drawText and GraphicsContext::drawBidiText with the platform independent ones
https://bugs.webkit.org/show_bug.cgi?id=141131

Patch by Sam Weinig <sam@webkit.org> on 2015-01-31
Reviewed by Antti Koivisto.

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::drawText):
The only difference between the two implementation here was the iOS one returns the length of
the text that was drawn. As all platforms now support that, we can merge by keeping the iOS one.

(WebCore::GraphicsContext::drawBidiText):
This function had a few differences:

  • iOS returns the length of the text that was drawn.

Since this is not used anywhere, I dropped this ability.

  • iOS took additional inputs of initial bidi status and run length (and returned the the final bidi status as an out parameter)

Since this was also unused, I dropped it.

  • iOS used the fact that font.drawText() returns the length that was drawn, to avoid measuring the text twice.

I kept this, since all platforms now support this.

  • platform/graphics/GraphicsContext.h:

Update signatures. Remove WEBCORE_EXPORT for function that is not used outside of WebCore.

6:58 PM Changeset in webkit [179454] by akling@apple.com
  • 8 edits in trunk/Source/WebCore

Shrink RenderBlock.
<https://webkit.org/b/141129>

Reviewed by Antti Koivisto.

Get rid of the bitfield in RenderBlock by moving the essential bits to
RenderElement (plenty of space in the bitfield there.)

RenderBlock also had a cache of its line-height, but it doesn't appear
to help any of the benchmarks that we're tracking so I'd say it's okay
to lose this optimization.

This knocks 8 bytes off of RenderBlock (and all of its subclasses.)

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::RenderBlock):
(WebCore::RenderBlock::styleDidChange):
(WebCore::RenderBlock::recomputeLogicalWidth):
(WebCore::RenderBlock::lineHeight):

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::setHasMarginBeforeQuirk):
(WebCore::RenderBlock::setHasMarginAfterQuirk):
(WebCore::RenderBlock::setHasBorderOrPaddingLogicalWidthChanged):
(WebCore::RenderBlock::hasMarginBeforeQuirk):
(WebCore::RenderBlock::hasMarginAfterQuirk):
(WebCore::RenderBlock::hasBorderOrPaddingLogicalWidthChanged):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutInlineChildren):
(WebCore::RenderBlockFlow::invalidateLineLayoutPath):
(WebCore::RenderBlockFlow::deleteLineBoxesBeforeSimpleLineLayout):
(WebCore::RenderBlockFlow::ensureLineBoxes):

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::lineLayoutPath):
(WebCore::RenderBlockFlow::setLineLayoutPath):
(WebCore::RenderBlockFlow::setHasMarkupTruncation):
(WebCore::RenderBlockFlow::hasMarkupTruncation):
(WebCore::RenderBlockFlow::simpleLineLayout):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):

  • rendering/RenderElement.h:

(WebCore::RenderElement::setRenderBlockHasMarginBeforeQuirk):
(WebCore::RenderElement::setRenderBlockHasMarginAfterQuirk):
(WebCore::RenderElement::setRenderBlockHasBorderOrPaddingLogicalWidthChanged):
(WebCore::RenderElement::renderBlockHasMarginBeforeQuirk):
(WebCore::RenderElement::renderBlockHasMarginAfterQuirk):
(WebCore::RenderElement::renderBlockHasBorderOrPaddingLogicalWidthChanged):
(WebCore::RenderElement::setRenderBlockFlowLineLayoutPath):
(WebCore::RenderElement::setRenderBlockFlowHasMarkupTruncation):
(WebCore::RenderElement::renderBlockFlowLineLayoutPath):
(WebCore::RenderElement::renderBlockFlowHasMarkupTruncation):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::removeLineRegionInfo):

6:06 PM Changeset in webkit [179453] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Remove useless PageCache::singleton() call from PageCache member function
https://bugs.webkit.org/show_bug.cgi?id=141127

Reviewed by Andreas Kling.

  • history/PageCache.cpp:

(WebCore::PageCache::get):

4:38 PM Changeset in webkit [179452] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

Remove empty #if/#endif

Rubber-stamped by Antti Koivisto.

  • platform/graphics/FontPlatformData.h:
3:52 PM Changeset in webkit [179451] by weinig@apple.com
  • 5 edits in trunk/Source/WebCore

Remove support for disabling drawing of emoji
https://bugs.webkit.org/show_bug.cgi?id=141126

Reviewed by Antti Koivisto.

Remove unused support for disabling the drawing of emoji.

  • WebCore.exp.in:
  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::emojiDrawingEnabled): Deleted.
(WebCore::GraphicsContext::setEmojiDrawingEnabled): Deleted.

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContextState::GraphicsContextState):

  • platform/graphics/cocoa/FontCascadeCocoa.mm:

(WebCore::FontCascade::drawGlyphs):

2:55 PM Changeset in webkit [179450] by weinig@apple.com
  • 65 edits in trunk

Remove even more Mountain Lion support
https://bugs.webkit.org/show_bug.cgi?id=141124

Reviewed by Alexey Proskuryakov.

Source/bmalloc:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:

Source/JavaScriptCore:

  • API/tests/DateTests.mm:
  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/FeatureDefines.xcconfig:
  • Configurations/Version.xcconfig:
  • jit/ExecutableAllocatorFixedVMPool.cpp:

Source/WebCore:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/FeatureDefines.xcconfig:
  • Configurations/Version.xcconfig:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityActionNames]):
(-[WebAccessibilityObjectWrapper subrole]):

  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayer::drawLayerContents):

  • platform/mac/ThemeMac.mm:

(-[WebCoreThemeView _focusRingVisibleRect]):

Source/WebKit/mac:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/FeatureDefines.xcconfig:
  • Configurations/Version.xcconfig:
  • Configurations/WebKitLegacy.xcconfig:

Source/WebKit2:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/FeatureDefines.xcconfig:
  • Configurations/Version.xcconfig:
  • Configurations/WebContentService.Development.xcconfig:
  • Configurations/WebContentService.xcconfig:
  • Configurations/WebKit.xcconfig:
  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:

Source/WTF:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • wtf/Assertions.cpp:
  • wtf/FeatureDefines.h:
  • wtf/Platform.h:

Tools:

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::attributedStringRangeIsMisspelled):

  • DumpRenderTree/mac/Configurations/Base.xcconfig:
  • DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
  • DumpRenderTree/mac/DumpRenderTree.mm:

(activateTestingFonts):
(prepareConsistentTestingEnvironment):

  • DumpRenderTree/mac/EventSendingController.mm:

(-[EventSendingController mouseScrollByX:andY:withWheel:andMomentumPhases:]):
(-[EventSendingController contextClick]):

  • DumpRenderTree/mac/TextInputController.m:
  • LayoutTestRelay/Configurations/Base.xcconfig:
  • LayoutTestRelay/Configurations/DebugRelease.xcconfig:
  • MiniBrowser/Configurations/Base.xcconfig:
  • MiniBrowser/Configurations/DebugRelease.xcconfig:
  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[WK2BrowserWindowController webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[WK2BrowserWindowController webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:completionHandler:]):

  • TestWebKitAPI/Configurations/Base.xcconfig:
  • TestWebKitAPI/Configurations/DebugRelease.xcconfig:
  • TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm:

(-[DownloadDelegate _downloadDidFinish:]):

  • TestWebKitAPI/Tests/mac/StringTruncator.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/mac/InjectedBundleControllerMac.mm:

(TestWebKitAPI::InjectedBundleController::platformInitialize):

  • WebKitLauncher/Configurations/Base.xcconfig:
  • WebKitTestRunner/Configurations/Base.xcconfig:
  • WebKitTestRunner/Configurations/DebugRelease.xcconfig:
  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::attributedStringRangeIsMisspelled):

  • WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm:

(WTR::activateFonts):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize):
(WTR::TestController::webProcessName):

  • WebKitTestRunner/mac/EventSenderProxy.mm:
  • asan/asan.xcconfig:
2:54 PM Changeset in webkit [179449] by Antti Koivisto
  • 4 edits in trunk

Enable WebKit disk cache on OS X
https://bugs.webkit.org/show_bug.cgi?id=141022

Reviewed by Gavin Barraclough.

Source/WebKit2:

  • config.h: Flip the switch.

LayoutTests:

2:51 PM Changeset in webkit [179448] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit2

Unreviewed, rolling out r179447.

Forgot to include the test.

Reverted changeset:

"Enable WebKit disk cache on OS X"
https://bugs.webkit.org/show_bug.cgi?id=141022
http://trac.webkit.org/changeset/179447

2:43 PM Changeset in webkit [179447] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit2

Enable WebKit disk cache on OS X
https://bugs.webkit.org/show_bug.cgi?id=141022

Reviewed by Gavin Barraclough.

  • config.h: Flip the switch.
12:43 PM Changeset in webkit [179446] by Antti Koivisto
  • 3 edits in trunk/Source/WebKit2

OSObjectPtr does not work with dispatch_data_t on Maverics
https://bugs.webkit.org/show_bug.cgi?id=141081

Reviewed by Zalan Bujtas.

Previous attempt to special case dispatch_data_t in OSObjectPtr didn't work in all cases
probably due to the context sensitivity of the definition of the dispatch_data_t type.

For now, add DispatchPtr for the cache code and use it.

  • NetworkProcess/cache/NetworkCacheStorage.h:

(WebKit::DispatchPtr::DispatchPtr):
(WebKit::DispatchPtr::~DispatchPtr):
(WebKit::DispatchPtr::operator=):
(WebKit::DispatchPtr::get):
(WebKit::DispatchPtr::operator bool):
(WebKit::adoptDispatch):

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::NetworkCacheStorage::Data::Data):
(WebKit::NetworkCacheStorage::Data::data):
(WebKit::NetworkCacheStorage::NetworkCacheStorage):
(WebKit::createIOChannelForKey):
(WebKit::decodeEntry):
(WebKit::encodeEntryMetaData):
(WebKit::encodeEntry):

12:42 PM Changeset in webkit [179445] by weinig@apple.com
  • 3 edits
    1 move
    1 delete in trunk/Source/WebCore

Merge SimpleFontDataIOS.mm and SimpleFontDataMac.mm into FontCocoa.mm
https://bugs.webkit.org/show_bug.cgi?id=141101

Rubber-stamped by Dan Bernstein.

  • WebCore.xcodeproj/project.pbxproj:

Remove SimpleFontDataIOS.mm and SimpleFontDataMac.mm. Add FontCocoa.mm.

  • platform/graphics/Font.h:

Remove a few CG only functions from the header that can be implemented as static functions
in the implementation file.

  • platform/graphics/cocoa/FontCocoa.mm: Copied from Source/WebCore/platform/graphics/mac/SimpleFontDataMac.mm.

(WebCore::fontFamilyShouldNotBeUsedForArabic):
(WebCore::Font::platformInit):
(WebCore::Font::platformCharWidthInit):
(WebCore::Font::platformCreateScaledFont):
(WebCore::Font::determinePitch):
(WebCore::renderingStyle):
(WebCore::advanceForColorBitmapFont):
(WebCore::hasCustomTracking):
(WebCore::canUseFastGlyphAdvanceGetter):
(WebCore::Font::platformWidthForGlyph):
(WebCore::Font::compositeFontReferenceFont):
(WebCore::copyFontTableForTag): Deleted.
(WebCore::Font::renderingStyle): Deleted.
Merge in the iOS specific parts.

  • platform/graphics/ios/SimpleFontDataIOS.mm: Removed.
  • platform/graphics/mac/SimpleFontDataMac.mm: Removed.
12:30 PM Changeset in webkit [179444] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Regression(r179438) Simple line layout: ASSERTION at SimpleLineLayout::FlowContentsIterator::runWidth().
https://bugs.webkit.org/show_bug.cgi?id=141121

Reviewed by Antti Koivisto.

When a breakable text fragment does not fit the current line, we split it.
The first part stays on the current line, while the second part gets pushed to the next line.
In certain cases, the first part could end up being empty.
This patch ensures that we don't measure empty fragments.

Covered by existing tests.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::splitFragmentToFitLine):

10:28 AM Changeset in webkit [179443] by commit-queue@webkit.org
  • 9 edits in trunk/Source

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

"caused a memory use regression" (Requested by Guest45 on
#webkit).

Reverted changeset:

"Use FastMalloc (bmalloc) instead of BlockAllocator for GC
pages"
https://bugs.webkit.org/show_bug.cgi?id=140900
http://trac.webkit.org/changeset/179426

10:12 AM Changeset in webkit [179442] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed 64-bit build fix.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Correct symbol

definitions for 64-bit build.

9:43 AM Changeset in webkit [179441] by commit-queue@webkit.org
  • 4 edits in trunk

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

This didn't fully fix the issue (Requested by anttik on
#webkit).

Reverted changeset:

"OSObjectPtr does not work with dispatch_data_t on Maverics"
https://bugs.webkit.org/show_bug.cgi?id=141081
http://trac.webkit.org/changeset/179408

3:24 AM Changeset in webkit [179440] by youenn.fablet@crf.canon.fr
  • 2 edits in trunk/Tools

https://trac.webkit.org/changeset/179439 breaks a python test
https://bugs.webkit.org/show_bug.cgi?id=141114

Unreviewed.

  • Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:

(WebPlatformTestServer._install_modules): Checks whether WPTModules file exists before reading it as no such file exists in mock tests.

1:46 AM Changeset in webkit [179439] by youenn.fablet@crf.canon.fr
  • 6 edits
    137 adds in trunk

Import W3C web platform tests infrastructure
https://bugs.webkit.org/show_bug.cgi?id=140934

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Initial import of the web-platform-tests repository.
This includes all infrastructure folders.
web-platform-tests submodules are downloaded when needed based on resources/WPTModules.

This patch also adds two tests from the domparsing folder to ensure
W3C test infrastructure works properly on WebKit bots.

  • resources/WPTModules: Added
  • web-platform-tests/.gitignore: Added.
  • web-platform-tests/_certs: Added.
  • web-platform-tests/common: Added.
  • web-platform-tests/config.default.json: Added.
  • web-platform-tests/fonts: Added.
  • web-platform-tests/images: Added.
  • web-platform-tests/resource: Added.
  • web-platform-tests/serve.py: Added.
  • web-platform-tests/tools: Added.
  • web-platform-tests/w3c-import.log: Added
  • web-platform-tests/domparsing/DOMParser-parseFromString-html-expected.txt: Added.
  • web-platform-tests/domparsing/DOMParser-parseFromString-html.html: Added.
  • web-platform-tests/domparsing/insert-adjacent-expected.txt: Added.
  • web-platform-tests/domparsing/insert-adjacent.html: Added.
  • web-platform-tests/domparsing/w3c-import.log: Added.

Tools:

Loading necessary web platform tests modules before launching server.
Ensuring that some empty init.py files are present and create them if necessary.

  • Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py:
  • Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:

LayoutTests:

infrastructure folders. Added one line for a partially passing test.

Jan 30, 2015:

10:26 PM Changeset in webkit [179438] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

Simple line layout: Improve FlowContentsIterator::TextFragment's encapsulation.
https://bugs.webkit.org/show_bug.cgi?id=141090

Reviewed by Andreas Kling.

Make members private to avoid accidental change in TextFragment.

No change in functionality.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::LineState::addFragment):
(WebCore::SimpleLineLayout::LineState::addWhitespace):
(WebCore::SimpleLineLayout::splitFragmentToFitLine):
(WebCore::SimpleLineLayout::firstFragment):
(WebCore::SimpleLineLayout::createLineRuns):

  • rendering/SimpleLineLayoutFlowContentsIterator.cpp:

(WebCore::SimpleLineLayout::FlowContentsIterator::nextTextFragment):

  • rendering/SimpleLineLayoutFlowContentsIterator.h:

(WebCore::SimpleLineLayout::FlowContentsIterator::TextFragment::TextFragment):
(WebCore::SimpleLineLayout::FlowContentsIterator::TextFragment::start):
(WebCore::SimpleLineLayout::FlowContentsIterator::TextFragment::end):
(WebCore::SimpleLineLayout::FlowContentsIterator::TextFragment::width):
(WebCore::SimpleLineLayout::FlowContentsIterator::TextFragment::type):
(WebCore::SimpleLineLayout::FlowContentsIterator::TextFragment::isCollapsed):
(WebCore::SimpleLineLayout::FlowContentsIterator::TextFragment::isBreakable):
(WebCore::SimpleLineLayout::FlowContentsIterator::TextFragment::isEmpty):

9:27 PM Changeset in webkit [179437] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Another unreviewed test fix.

Correct copy/paste error in buildbot handling.

  • Scripts/webkitpy/layout_tests/servers/apache_http_server.py:

(LayoutTestApacheHttpd.init):
(LayoutTestApacheHttpd._get_apache_config_file_path):

8:59 PM Changeset in webkit [179436] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Unreviewed test fix.

Correct path handling based on failures on test bots to get things running again.

  • Scripts/webkitpy/layout_tests/servers/apache_http_server.py:

(LayoutTestApacheHttpd.init):
(LayoutTestApacheHttpd._get_apache_config_file_path):

7:37 PM Changeset in webkit [179435] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Simple line layout: Make LineState fragment handling simpler.
https://bugs.webkit.org/show_bug.cgi?id=141100

Reviewed by Andreas Kling.

New fragments are appeneded to the Run's last entry
instead of accumulating them until after a new run is required.
(whitespace collapse or line end)
LineState::appendFragment manages whitespace collapsing now.
This makes createLineRuns() logic lighter and no need to "flush"
the LineState when the line ends.

No change in functionality.

  • rendering/SimpleLineLayout.cpp: Make LineState members private and introduce getters.

(WebCore::SimpleLineLayout::LineState::setAvailableWidth):
(WebCore::SimpleLineLayout::LineState::setLogicalLeftOffset):
(WebCore::SimpleLineLayout::LineState::setOverflowedFragment):
(WebCore::SimpleLineLayout::LineState::availableWidth):
(WebCore::SimpleLineLayout::LineState::logicalLeftOffset):
(WebCore::SimpleLineLayout::LineState::overflowedFragment):
(WebCore::SimpleLineLayout::LineState::hasTrailingWhitespace):
(WebCore::SimpleLineLayout::LineState::isWhitespaceOnly):
(WebCore::SimpleLineLayout::LineState::fits):
(WebCore::SimpleLineLayout::LineState::firstCharacterFits):
(WebCore::SimpleLineLayout::LineState::width):
(WebCore::SimpleLineLayout::LineState::appendFragment): Append each fragment to the Run
by either creating a new run or expanding the last one.
(WebCore::SimpleLineLayout::LineState::removeTrailingWhitespace): Remove trailing whitespace from
the Run's and reset the trailing whitespace variables.
(WebCore::SimpleLineLayout::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::updateLineConstrains):
(WebCore::SimpleLineLayout::firstFragment):
(WebCore::SimpleLineLayout::createLineRuns):
(WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns):
(WebCore::SimpleLineLayout::createTextRuns):
(WebCore::SimpleLineLayout::LineState::createRun): Deleted.
(WebCore::SimpleLineLayout::LineState::addFragment): Deleted.
(WebCore::SimpleLineLayout::LineState::addWhitespace): Deleted.
(WebCore::SimpleLineLayout::LineState::hasWhitespaceOnly): Deleted.

7:06 PM Changeset in webkit [179434] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Drop HistoryItem's m_prev / m_next
https://bugs.webkit.org/show_bug.cgi?id=141105

Reviewed by Zalan Bujtas.

Drop HistoryItem's m_prev / m_next. Those are no longer needed after
the PageCache refactoring in <http://trac.webkit.org/r179347>.

  • history/HistoryItem.cpp:

(WebCore::HistoryItem::HistoryItem):

  • history/HistoryItem.h:
6:23 PM Changeset in webkit [179433] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

Clean up: Remove unnecessary <dispatch/dispatch.h> header from RemoteInspectorDebuggableConnection.h
https://bugs.webkit.org/show_bug.cgi?id=141067

Patch by Daniel Bates <dabates@apple.com> on 2015-01-30
Reviewed by Timothy Hatcher.

Remove the header <dispatch/dispatch.h> from RemoteInspectorDebuggableConnection.h as we
do not make use of its functionality. Instead, include this header in RemoteInspectorDebuggableConnection.mm
and RemoteInspector.mm. The latter depended on <dispatch/dispatch.h> being included via
header RemoteInspectorDebuggableConnection.h.

  • inspector/remote/RemoteInspector.mm: Include header <dispatch/dispatch.h>.
  • inspector/remote/RemoteInspectorDebuggableConnection.h: Remove header <dispatch/dispatch.h>.
  • inspector/remote/RemoteInspectorDebuggableConnection.mm: Include header <dispatch/dispatch.h>.
6:09 PM Changeset in webkit [179432] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Update the comment in RenderLayer for clarity as related code location is changed
https://bugs.webkit.org/show_bug.cgi?id=141103

Patch by Jeongmin Kim <jm86.kim@lge.com> on 2015-01-30
Reviewed by Simon Fraser.

Update the comment in RenderLayer for clarity as related code location is changed
The repainting in implicitClose() that is now called in setVisualUpdatesAllowed(bool) is removed

  • rendering/RenderLayer.cpp:

(WebCore::shouldSuppressPaintingLayer):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateCompositingLayers):

5:39 PM Changeset in webkit [179431] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Optimize MemoryCache::getSessionMap() a bit
https://bugs.webkit.org/show_bug.cgi?id=141069

Reviewed by Anders Carlsson.

Optimize MemoryCache::getSessionMap() a bit by doing 1 HashMap lookup
instead of previously 3. Also rename the method to
ensureSessionResourceMap() as we usually don't use "get" prefix for
getters and the implementation will also create the HashMap value if
the key is not found.

Also add a alternative sessionResourceMap() method which returns
the HashMap value if the key exists but doesn't try to create it if
missing. This is actually what we really want for some call sites.

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::add):
(WebCore::MemoryCache::revalidationSucceeded):
(WebCore::MemoryCache::resourceForRequest):
(WebCore::MemoryCache::removeImageFromCache):
(WebCore::MemoryCache::remove):
(WebCore::MemoryCache::getSessionMap): Deleted.

  • loader/cache/MemoryCache.h:
5:28 PM Changeset in webkit [179430] by timothy_horton@apple.com
  • 11 edits
    1 add in trunk/Source/WebKit2

Add and hook up APINavigationClient
https://bugs.webkit.org/show_bug.cgi?id=140698

Reviewed by Sam Weinig.

Add a single APINavigationClient that NavigationState implements and
WebPageProxy prefers over APILoaderClient and APIPolicyClient.

  • UIProcess/API/APILoaderClient.h:

Fix a comment.

  • UIProcess/API/APINavigationClient.h: Added.

APINavigationClient is the union of NavigationState's overrides of APILoaderClient and APIPolicyClient.
Names are adjusted to more closely match the Modern API.

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

Instead of having policy and loader clients, NavigationState has a single navigation client.
Adjust as necessary.

Move as much logic as possible (isMainFrame checks, construction of API objects) out of here
and into WebPageProxy.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
Install the aforementioned single navigation client.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setNavigationClient):
Add a navigation client setter.

For all policy and loader client calls, if we have a navigation client, use that;
otherwise, fall back on the policy and loader clients.

  • UIProcess/WebPageProxy.h:
  • WebKit2.xcodeproj/project.pbxproj:
5:23 PM Changeset in webkit [179429] by Yusuke Suzuki
  • 52 edits
    7 copies
    7 moves
    18 adds
    2 deletes in trunk

Implement ES6 Symbol
https://bugs.webkit.org/show_bug.cgi?id=140435

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

This patch implements ES6 Symbol. In this patch, we don't support
Symbol.keyFor, Symbol.for, Object.getOwnPropertySymbols. They will be
supported in the subsequent patches.

Since ES6 Symbol is introduced as new primitive value, we implement
Symbol as a derived class from JSCell. And now JSValue accepts Symbol*
as a new primitive value.

Symbol has a *unique* flagged StringImpl* as an uid. Which pointer
value represents the Symbol's identity. So don't compare Symbol's
JSCell pointer value for comparison.
This enables re-producing Symbol primitive value from StringImpl* uid
by executingSymbol::create(vm, uid). This is needed to produce
Symbol primitive values from stored StringImpl* in Object.getOwnPropertySymbols.

And Symbol.Description is folded into the string value of Symbol's uid.
By doing so, we can represent ES6 Symbol without extending current PropertyTable key; StringImpl*.

(JSC::BuiltinExecutables::createBuiltinExecutable):

  • builtins/BuiltinNames.h:
  • dfg/DFGOperations.cpp:

(JSC::DFG::operationPutByValInternal):

  • inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::subtype):

  • interpreter/Interpreter.cpp:
  • jit/JITOperations.cpp:

(JSC::getByVal):

  • llint/LLIntData.cpp:

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

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::getByVal):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):

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

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::opIn):

  • runtime/ExceptionHelpers.cpp:

(JSC::createUndefinedVariableError):

  • runtime/JSCJSValue.cpp:

(JSC::JSValue::synthesizePrototype):
(JSC::JSValue::dumpInContextAssumingStructure):
(JSC::JSValue::toStringSlowCase):

  • runtime/JSCJSValue.h:
  • runtime/JSCJSValueInlines.h:

(JSC::JSValue::isSymbol):
(JSC::JSValue::isPrimitive):
(JSC::JSValue::toPropertyKey):

It represents ToPropertyKey abstract operation in the ES6 spec.
It cleans up the old implementation's isName checks.
And to prevent performance regressions in

js/regress/fold-get-by-id-to-multi-get-by-offset-rare-int.html
js/regress/fold-get-by-id-to-multi-get-by-offset.html

we annnotate this function as ALWAYS_INLINE.

(JSC::JSValue::getPropertySlot):
(JSC::JSValue::get):
(JSC::JSValue::equalSlowCaseInline):
(JSC::JSValue::strictEqualSlowCaseInline):

  • runtime/JSCell.cpp:

(JSC::JSCell::put):
(JSC::JSCell::putByIndex):
(JSC::JSCell::toPrimitive):
(JSC::JSCell::getPrimitiveNumber):
(JSC::JSCell::toNumber):
(JSC::JSCell::toObject):

  • runtime/JSCell.h:
  • runtime/JSCellInlines.h:

(JSC::JSCell::isSymbol):
(JSC::JSCell::toBoolean):
(JSC::JSCell::pureToBoolean):

  • runtime/JSGlobalObject.cpp:

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

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::symbolPrototype):
(JSC::JSGlobalObject::symbolObjectStructure):

  • runtime/JSONObject.cpp:

(JSC::Stringifier::Stringifier):

  • runtime/JSSymbolTableObject.cpp:

(JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames):

  • runtime/JSType.h:
  • runtime/JSTypeInfo.h:

(JSC::TypeInfo::isName): Deleted.

  • runtime/MapData.cpp:

(JSC::MapData::find):
(JSC::MapData::add):
(JSC::MapData::remove):
(JSC::MapData::replaceAndPackBackingStore):

  • runtime/MapData.h:

(JSC::MapData::clear):

  • runtime/NameInstance.h: Removed.
  • runtime/NamePrototype.cpp: Removed.
  • runtime/ObjectConstructor.cpp:

(JSC::objectConstructorGetOwnPropertyDescriptor):
(JSC::objectConstructorDefineProperty):

  • runtime/ObjectPrototype.cpp:

(JSC::objectProtoFuncHasOwnProperty):
(JSC::objectProtoFuncDefineGetter):
(JSC::objectProtoFuncDefineSetter):
(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):
(JSC::objectProtoFuncPropertyIsEnumerable):

  • runtime/Operations.cpp:

(JSC::jsTypeStringForValue):
(JSC::jsIsObjectType):

  • runtime/PrivateName.h:

(JSC::PrivateName::PrivateName):
(JSC::PrivateName::operator==):
(JSC::PrivateName::operator!=):

  • runtime/PropertyMapHashTable.h:

(JSC::PropertyTable::find):
(JSC::PropertyTable::get):

  • runtime/PropertyName.h:

(JSC::PropertyName::PropertyName):
(JSC::PropertyName::publicName):

  • runtime/SmallStrings.h:
  • runtime/StringConstructor.cpp:

(JSC::callStringConstructor):

In ES6, String constructor accepts Symbol to execute String(symbol).

  • runtime/Structure.cpp:

(JSC::Structure::getPropertyNamesFromStructure):

  • runtime/StructureInlines.h:

(JSC::Structure::prototypeForLookup):

  • runtime/Symbol.cpp: Added.

(JSC::Symbol::Symbol):
(JSC::SymbolObject::create):
(JSC::Symbol::toPrimitive):
(JSC::Symbol::toBoolean):
(JSC::Symbol::getPrimitiveNumber):
(JSC::Symbol::toObject):
(JSC::Symbol::toNumber):
(JSC::Symbol::destroy):
(JSC::Symbol::descriptiveString):

  • runtime/Symbol.h: Added.

(JSC::Symbol::createStructure):
(JSC::Symbol::create):
(JSC::Symbol::privateName):
(JSC::Symbol::finishCreation):
(JSC::asSymbol):

  • runtime/SymbolConstructor.cpp: Renamed from Source/JavaScriptCore/runtime/NameConstructor.cpp.

(JSC::SymbolConstructor::SymbolConstructor):
(JSC::SymbolConstructor::finishCreation):
(JSC::callSymbol):
(JSC::SymbolConstructor::getConstructData):
(JSC::SymbolConstructor::getCallData):

  • runtime/SymbolConstructor.h: Renamed from Source/JavaScriptCore/runtime/NameConstructor.h.

(JSC::SymbolConstructor::create):
(JSC::SymbolConstructor::createStructure):

  • runtime/SymbolObject.cpp: Renamed from Source/JavaScriptCore/runtime/NameInstance.cpp.

(JSC::SymbolObject::SymbolObject):
(JSC::SymbolObject::finishCreation):
(JSC::SymbolObject::defaultValue):

Now JSC doesn't support @@toPrimitive. So instead of it, we implement
Symbol.prototype[@@toPrimitive] as ES5 Symbol.DefaultValue.

  • runtime/SymbolObject.h: Added.

(JSC::SymbolObject::create):
(JSC::SymbolObject::internalValue):
(JSC::SymbolObject::createStructure):

  • runtime/SymbolPrototype.cpp: Added.

(JSC::SymbolPrototype::SymbolPrototype):
(JSC::SymbolPrototype::finishCreation):
(JSC::SymbolPrototype::getOwnPropertySlot):
(JSC::symbolProtoFuncToString):
(JSC::symbolProtoFuncValueOf):

  • runtime/SymbolPrototype.h: Renamed from Source/JavaScriptCore/runtime/NamePrototype.h.

(JSC::SymbolPrototype::create):
(JSC::SymbolPrototype::createStructure):

SymbolPrototype object is ordinary JS object. Not wrapper object of Symbol.
It is tested in js/symbol-prototype-is-ordinary-object.html.

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

Source/WTF:

Introduce new unique string mechanizm into StringImpl.
It is used for implementing Symbol which holds a Description value.

  • wtf/text/AtomicString.h:

(WTF::AtomicString::add):
(WTF::AtomicString::addWithStringTableProvider):

Previously, we checked isAtomic() or !length(). This guard can filter out EmptyUnique.
But now, we introduced new unique StringImpl. Since it has an actual string value, we need to check isUnique().

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::~StringImpl):
(WTF::StringImpl::createUnique):

In createUnique, we leverage Substring mechanizm to produce a new unique
string from an existing string.

  • wtf/text/StringImpl.h:

(WTF::StringImpl::StringImpl):
(WTF::StringImpl::createUniqueEmpty):
(WTF::StringImpl::flagIsUnique):
(WTF::StringImpl::isUnique):
(WTF::StringImpl::setIsAtomic):
(WTF::StringImpl::createEmptyUnique): Deleted.
(WTF::StringImpl::isEmptyUnique): Deleted.

Instead of EmptyUnique, we introduced new flag to StringImpl, isUnique.
While EmptyUnique cannot hold any string values except for empty string,
the unique StringImpl can hold any String values.
We fold the Symbol's descriptiveString value here.

  • wtf/text/StringStatics.cpp:

(WTF::StringImpl::hashAndFlagsForUnique):
(WTF::StringImpl::hashAndFlagsForEmptyUnique): Deleted.

LayoutTests:

  • js/script-tests/symbol-abstract-equality-comparison.js: Added.

(Pair):
(relationalOperators.forEach):

  • js/script-tests/symbol-abstract-relational-comparison.js: Added.

(relationalOperators.forEach):

  • js/script-tests/symbol-in-map.js: Added.

(set shouldBe):

  • js/script-tests/symbol-object.js: Added.
  • js/script-tests/symbol-prototype-is-ordinary-object.js: Added.
  • js/script-tests/symbol-strict-equality-comparison.js: Added.

(Pair):
(relationalOperators.forEach):

  • js/script-tests/symbol-tostring.js: Added.
  • js/script-tests/symbols.js: Renamed from LayoutTests/js/script-tests/names.js.

(forIn):

  • js/symbol-abstract-equality-comparison-expected.txt: Added.
  • js/symbol-abstract-equality-comparison.html: Copied from LayoutTests/js/names.html.
  • js/symbol-abstract-relational-comparison-expected.txt: Added.
  • js/symbol-abstract-relational-comparison.html: Copied from LayoutTests/js/names.html.
  • js/symbol-in-map-expected.txt: Added.
  • js/symbol-in-map.html: Copied from LayoutTests/js/names.html.
  • js/symbol-object-expected.txt: Added.
  • js/symbol-object.html: Copied from LayoutTests/js/names.html.
  • js/symbol-prototype-is-ordinary-object-expected.txt: Added.
  • js/symbol-prototype-is-ordinary-object.html: Copied from LayoutTests/js/names.html.
  • js/symbol-strict-equality-comparison-expected.txt: Added.
  • js/symbol-strict-equality-comparison.html: Copied from LayoutTests/js/names.html.
  • js/symbol-tostring-expected.txt: Added.
  • js/symbol-tostring.html: Copied from LayoutTests/js/names.html.
  • js/symbols-expected.txt: Renamed from LayoutTests/js/names-expected.txt.
  • js/symbols.html: Renamed from LayoutTests/js/names.html.
5:22 PM Changeset in webkit [179428] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed. Remove outdated comment.

  • loader/cache/MemoryCache.cpp:
4:58 PM Changeset in webkit [179427] by eric.carlson@apple.com
  • 5 edits
    1 delete in trunk/Source

Remove MediaPlayerProxy.h
https://bugs.webkit.org/show_bug.cgi?id=141087

Reviewed by Sam Weinig.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj: Remove reference to MediaPlayerProxy.h.
  • platform/graphics/mac/MediaPlayerProxy.h: Removed.

Source/WebKit/mac:

  • MigrateHeaders.make: Don't need to copy MediaPlayerProxy.h.
  • Plugins/WebPluginController.mm: Don't include MediaPlayerProxy.h.
4:51 PM Changeset in webkit [179426] by ggaren@apple.com
  • 9 edits in trunk/Source

Use FastMalloc (bmalloc) instead of BlockAllocator for GC pages
https://bugs.webkit.org/show_bug.cgi?id=140900

Reviewed by Mark Hahnenberg.

Re-landing just the HandleBlock piece of this patch.

Source/JavaScriptCore:

  • heap/HandleBlock.h:
  • heap/HandleBlockInlines.h:

(JSC::HandleBlock::create):
(JSC::HandleBlock::destroy):
(JSC::HandleBlock::HandleBlock):
(JSC::HandleBlock::payloadEnd):

  • heap/HandleSet.cpp:

(JSC::HandleSet::~HandleSet):
(JSC::HandleSet::grow):

Source/WebCore:

  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::install):

Source/WTF:

  • wtf/FastMalloc.cpp:

(WTF::fastAlignedMalloc):
(WTF::fastAlignedFree):
(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):

  • wtf/FastMalloc.h:
4:40 PM Changeset in webkit [179425] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] Gardening: update some accessibility tests as failed
https://bugs.webkit.org/show_bug.cgi?id=141034

Unreviewed EFL gardening.

Patch by Dariusz Frankiewicz <Dariusz Frankiewicz> on 2015-01-30

  • platform/efl/TestExpectations:
  • platform/efl/accessibility/roles-exposed-expected.txt:

update expectation after bumping ATK to 2.15.2

4:39 PM Changeset in webkit [179424] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Call vsnprintf instead of _vsnprintf in vprintf_stderr_common
https://bugs.webkit.org/show_bug.cgi?id=141078

In windows _vsnprintf api does not place null character
automatically. Simply replace it with vsnprintf. Which is
polyfill to call wtf_vsnprintf in windows.

Patch by Namhoon Kim <yanhkim@gmail.com> on 2015-01-30
Reviewed by Brent Fulgham.

  • wtf/Assertions.cpp:
4:37 PM Changeset in webkit [179423] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Mark test css3/masking/mask-repeat-space-padding.html as passing
https://bugs.webkit.org/show_bug.cgi?id=141077

Unreviewed EFL gardening.

Patch by Piotr Pajak <p.pajak@samsung.com> on 2015-01-30

  • platform/efl/TestExpectations:
4:29 PM Changeset in webkit [179422] by ggaren@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

GC marking threads should clear malloc caches
https://bugs.webkit.org/show_bug.cgi?id=141097

Reviewed by Sam Weinig.

Follow-up based on Mark Hahnenberg's review: Release after the copy
phase, rather than after any phase, since we'd rather not release
between marking and copying.

  • heap/GCThread.cpp:

(JSC::GCThread::waitForNextPhase):
(JSC::GCThread::gcThreadMain):

4:04 PM Changeset in webkit [179421] by Chris Dumez
  • 16 edits in trunk/Source

Update MemoryCache code to use more references instead of pointers
https://bugs.webkit.org/show_bug.cgi?id=141099

Reviewed by Andreas Kling.
Source/WebKit2:

  • WebProcess/ResourceCache/WebResourceCacheManager.cpp:

(WebKit::WebResourceCacheManager::clearCacheForOrigin):

3:58 PM Changeset in webkit [179420] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.15.3

New tag.

3:56 PM Changeset in webkit [179419] by Brian Burg
  • 4 edits in trunk/Source

Web Inspector: ASSERT in InspectorTimelineAgent::internalStop
https://bugs.webkit.org/show_bug.cgi?id=141039

Reviewed by Timothy Hatcher.

Source/WebCore:

Don't unconditionally stop the environment stopwatch, since it could have
already stopped due to the debugger pausing.

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::internalStop):

Source/WTF:

Add messages to Stopwatch assertions, and clean up constructor.

  • wtf/Stopwatch.h:

(WTF::Stopwatch::Stopwatch):
(WTF::Stopwatch::start):
(WTF::Stopwatch::stop):

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

Remote Web Inspector should not show undock toolbar buttons
https://bugs.webkit.org/show_bug.cgi?id=141061

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

  • UserInterface/Base/Main.js:

(WebInspector.contentLoaded):
Be sure to update the toolbar's dock navigation icons because they
may need to be hidden (the default state).

3:55 PM Changeset in webkit [179417] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Rebaseline efl/js/dom/global-constructors-attributes-expected.txt
https://bugs.webkit.org/show_bug.cgi?id=141029

Unreviewed EFL gardening

Patch by Karol Pawlowski <k.pawlowski@samsung.com> on 2015-01-30

  • platform/efl/js/dom/global-constructors-attributes-expected.txt:
3:32 PM Changeset in webkit [179416] by Chris Dumez
  • 2 edits in trunk/Source/WTF

Add match_constness<Reference, T> helper struct
https://bugs.webkit.org/show_bug.cgi?id=140905

Reviewed by Benjamin Poulain.

Add match_constness<Reference, T> helper struct to simplify downcast<>()
a bit. The purpose of this helper is to update T's constness to match
Reference's.

  • wtf/TypeCasts.h:

(WTF::downcast):

3:25 PM Changeset in webkit [179415] by Chris Dumez
  • 2 edits in trunk/Source/WTF

Add assertion in RefPtr's operator*() to make sure we don't dereference nullptr
https://bugs.webkit.org/show_bug.cgi?id=141092

Reviewed by Anders Carlsson.

Add assertion in RefPtr's operator*() to make sure we don't dereference
nullptr.

  • wtf/RefPtr.h:

(WTF::RefPtr::operator*):

3:13 PM Changeset in webkit [179414] by Chris Dumez
  • 2 edits in trunk/Tools

Unreviewed. Fix Windows build after r179409.

  • DumpRenderTree/win/TestRunnerWin.cpp:

(TestRunner::notifyDone):
(TestRunner::queueLoad):

2:54 PM Changeset in webkit [179413] by Chris Dumez
  • 5 edits
    2 adds in trunk

When no background-size is specified on the 2nd background layer, it takes the first instead of the initial value
https://bugs.webkit.org/show_bug.cgi?id=141059

Reviewed by Antti Koivisto.

Source/WebCore:

This patch fixes fill size support for 'initial' value.

Test: fast/css/background-layers-initial-size.html

  • css/CSSToStyleMap.cpp:
  • Add check for initial values and set fill size to initialFillSize() in this case (which is 'auto'). Previously, we were handling all non CSSPrimitiveValues the same way and setting the fill size type to SizeNone, which means no size (not 'auto').
  • Clean up the rest of the function (no behavior change).
  • rendering/style/FillLayer.cpp:

(WebCore::FillLayer::FillLayer):

  • Initialize m_sizeLength to SizeNone instead of calling initialFillSizeType(). There is no behavior change here. However, initialFillSizeType() was not supposed to return SizeNone.
  • Stop explicitly initializing m_sizeLength to LengthSize() as this is already what happens implicitly.
  • rendering/style/FillLayer.h:

(WebCore::FillLayer::initialFillSize):
Return FillSize() instead of FillSize(SizeNone, LengthSize()).
FillSize() is equivalent to FillSize(SizeLength, LengthSize())
which is resolved to 'auto'. SizeNone means no size which isn't
what we want as an initial value.

(WebCore::FillLayer::initialFillSizeType): Deleted.
(WebCore::FillLayer::initialFillSizeLength): Deleted.
Remove Individual initialFillSizeType() / initialFillSizeLength()
functions now that all caller use initialFillSize() instead.

LayoutTests:

Add layout test to cover the case where we have 2 background layers, with an explicit
size only for the first one.

  • fast/css/background-layers-initial-size-expected.txt: Added.
  • fast/css/background-layers-initial-size.html: Added.
2:27 PM Changeset in webkit [179412] by ggaren@apple.com
  • 6 edits in trunk/Source

GC marking threads should clear malloc caches
https://bugs.webkit.org/show_bug.cgi?id=141097

Reviewed by Andreas Kling.

Split the scavenging API into per-thread vs global, so that you can
request to scavenge your own thread without scavenging the whole heap.

Source/bmalloc:

  • bmalloc/Cache.cpp:

(bmalloc::Cache::scavenge):

  • bmalloc/bmalloc.h:

(bmalloc::api::scavengeThisThread):
(bmalloc::api::scavenge):

Source/WTF:

  • wtf/FastMalloc.cpp:

(WTF::releaseFastMallocFreeMemoryForThisThread):
(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):

  • wtf/FastMalloc.h:
2:22 PM Changeset in webkit [179411] by ggaren@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

GC marking threads should clear malloc caches
https://bugs.webkit.org/show_bug.cgi?id=141097

Reviewed by Andreas Kling.

This is an attempt to ameliorate a potential memory use regression
caused by https://bugs.webkit.org/show_bug.cgi?id=140900
Use FastMalloc (bmalloc) instead of BlockAllocator for GC pages.

FastMalloc may accumulate a per-thread cache on each of the 8-ish
GC marking threads, which can be expensive.

  • heap/GCThread.cpp:

(JSC::GCThread::waitForNextPhase): Scavenge the current thread before
going to sleep. There's probably not too much value to keeping our
per-thread cache between GCs, and it has some memory footprint.

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

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

Broke fast/files/workers/worker-apply-blob-url-to-xhr.html
(Requested by ap_ on #webkit).

Reverted changeset:

"Optimize MemoryCache::getSessionMap() a bit"
https://bugs.webkit.org/show_bug.cgi?id=141069
http://trac.webkit.org/changeset/179403

Patch by Commit Queue <commit-queue@webkit.org> on 2015-01-30

1:57 PM WebReplayMechanics created by Brian Burg
Import from Github gist.
1:39 PM WikiStart edited by Brian Burg
(diff)
12:49 PM Changeset in webkit [179409] by Chris Dumez
  • 281 edits in trunk

Rename shared() static member functions to singleton() for singleton classes.
https://bugs.webkit.org/show_bug.cgi?id=141088

Reviewed by Ryosuke Niwa and Benjamin Poulain.

Rename shared() static member functions to singleton() for singleton
classes as per the recent coding style change.
Source/JavaScriptCore:

  • inspector/remote/RemoteInspector.h:
  • inspector/remote/RemoteInspector.mm:

(Inspector::RemoteInspector::singleton):
(Inspector::RemoteInspector::start):
(Inspector::RemoteInspector::shared): Deleted.

  • inspector/remote/RemoteInspectorDebuggable.cpp:

(Inspector::RemoteInspectorDebuggable::~RemoteInspectorDebuggable):
(Inspector::RemoteInspectorDebuggable::init):
(Inspector::RemoteInspectorDebuggable::update):
(Inspector::RemoteInspectorDebuggable::setRemoteDebuggingAllowed):
(Inspector::RemoteInspectorDebuggable::pauseWaitingForAutomaticInspection):
(Inspector::RemoteInspectorDebuggable::unpauseForInitializedInspector):

  • inspector/remote/RemoteInspectorDebuggableConnection.mm:

(Inspector::RemoteInspectorDebuggableConnection::setup):
(Inspector::RemoteInspectorDebuggableConnection::sendMessageToFrontend):

Source/WebKit:

  • Storage/WebDatabaseProvider.cpp:

(WebDatabaseProvider::singleton):
(WebDatabaseProvider::shared): Deleted.

  • Storage/WebDatabaseProvider.h:
12:46 PM Changeset in webkit [179408] by Antti Koivisto
  • 4 edits in trunk

OSObjectPtr does not work with dispatch_data_t on Maverics
https://bugs.webkit.org/show_bug.cgi?id=141081

Reviewed by Pratik Solanki.
Source/WTF:


Trying to use OSObjectPtr<dispatch_data_t> throws

-[OS_dispatch_data _xref_dispose]: unrecognized selector sent to instance 0

  • wtf/OSObjectPtr.h:

(WTF::retainOSObject<dispatch_data_t>):
(WTF::releaseOSObject<dispatch_data_t>):

Add specialization for dispatch_data_t on Maverics.

Tools:

  • TestWebKitAPI/Tests/WTF/darwin/OSObjectPtr.cpp:

(TestWebKitAPI::TEST):

11:57 AM Changeset in webkit [179407] by ggaren@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Use FastMalloc (bmalloc) instead of BlockAllocator for GC pages
https://bugs.webkit.org/show_bug.cgi?id=140900

Reviewed by NOBODY (OOPS!).

Re-landing just the CopyWorkListSegment piece of this patch.

  • heap/CopiedBlockInlines.h:

(JSC::CopiedBlock::reportLiveBytes):

  • heap/CopyWorkList.h:

(JSC::CopyWorkListSegment::create):
(JSC::CopyWorkListSegment::destroy):
(JSC::CopyWorkListSegment::CopyWorkListSegment):
(JSC::CopyWorkList::CopyWorkList):
(JSC::CopyWorkList::~CopyWorkList):
(JSC::CopyWorkList::append):

11:09 AM Changeset in webkit [179406] by mmirman@apple.com
  • 5 edits in trunk

Source/WebCore:
Added ClientRect as an interface that requires attributes
on instance for compatibility.
https://bugs.webkit.org/show_bug.cgi?id=141063
<rdar://problem/18437653>

Reviewed by Oliver Hunt.

Added a new test to LayoutTests/js/resources/JSON-stringify.js

  • bindings/scripts/CodeGeneratorJS.pm:

(InterfaceRequiresAttributesOnInstanceForCompatibility):

LayoutTests:
Added a test for JSON.stringify on ClientRect.
https://bugs.webkit.org/show_bug.cgi?id=141063
<rdar://problem/18437653>

Reviewed by Oliver Hunt.

  • js/resources/JSON-stringify.js:

(createTests.var):
(createTests.result):

  • js/resources/JSON-stringify-expected.txt:
10:26 AM Changeset in webkit [179405] by Brent Fulgham
  • 10 edits
    1 add in trunk

[Win] Switch to Apache on Windows
https://bugs.webkit.org/show_bug.cgi?id=141060

Reviewed by Alexey Proskuryakov.

Tools:

Update our scripts under Windows (and Cygwin) to locate and use
the XAMPP installation of Apache for running tests.

  • Scripts/run-webkit-httpd:
  • Scripts/webkitperl/httpd.pm:

(getHTTPDPath):
(getDefaultConfigForTestDirectory):
(getHTTPDConfigPathForTestDirectory):

  • Scripts/webkitpy/common/system/executive_unittest.py:

(ExecutiveTest.serial_test_kill_process):

  • Scripts/webkitpy/layout_tests/servers/apache_http_server.py:

(LayoutTestApacheHttpd.init):
(LayoutTestApacheHttpd._get_apache_config_file_path):
(LayoutTestApacheHttpd._stop_running_server):

  • Scripts/webkitpy/layout_tests/servers/http_server_base.py:

(HttpServerBase._is_server_running_on_all_ports):

  • Scripts/webkitpy/port/base.py:

(Port._apache_config_file_name_for_platform):

  • Scripts/webkitpy/port/port_testcase.py:

(test_apache_config_file_name_for_platform):

  • Scripts/webkitpy/port/win.py:

(WinPort.show_results_html_file):
(WinPort._uses_apache):
(WinPort):
(WinPort._path_to_apache):

LayoutTests:

Add a new Windows XAMPP Apache configuration file for running
the http test suite on Windows.

Reviewed by Alexey Proskuryakov.

  • http/conf/apache2.4-httpd-win.conf: Added.
10:08 AM Changeset in webkit [179404] by ap@apple.com
  • 3 edits in trunk/Source/WebKit2

Build fix.

  • Shared/API/c/WKDeprecatedFunctions.cpp:
  • UIProcess/API/C/WKPreferencesRefPrivate.h:

The screen font substitution functions still need to be present in the header.

9:43 AM Changeset in webkit [179403] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Optimize MemoryCache::getSessionMap() a bit
https://bugs.webkit.org/show_bug.cgi?id=141069

Reviewed by Anders Carlsson.

Optimize MemoryCache::getSessionMap() a bit by doing 1 HashMap lookup
instead of previously 3. Also rename the method to sessionResources()
as we usually don't use "get" prefix for getters.

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::sessionResources):
(WebCore::MemoryCache::add):
(WebCore::MemoryCache::revalidationSucceeded):
(WebCore::MemoryCache::resourceForRequest):
(WebCore::MemoryCache::removeImageFromCache):
(WebCore::MemoryCache::remove):
(WebCore::MemoryCache::getSessionMap): Deleted.

  • loader/cache/MemoryCache.h:
9:40 AM Changeset in webkit [179402] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Store MemoryCache's live decoded resources in a ListHashSet
https://bugs.webkit.org/show_bug.cgi?id=141051

Reviewed by Antti Koivisto.

Store MemoryCache's live decoded resources in a ListHashSet instead of
a linked list. The frequent operations are:

  1. Add items to one end
  2. Remove items from the other end or anywhere in the container by value

Using a ListHashSet instead of a manual linked list results in *much*
simpler / shorter code and is fast for all operations (faster than
linked list even for removing an given element from the container given
its value). The previous implementation required us to keep a lot of
pointers up-to-date, which was error prone.

This is a first step towards simplifying the MemoryCache implementation.

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::setDecodedSize):
(WebCore::CachedResource::didAccessDecodedData):

  • loader/cache/CachedResource.h:

(WebCore::CachedResource::inLiveDecodedResourcesList): Deleted.

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::pruneLiveResourcesToSize):
(WebCore::MemoryCache::removeFromLiveDecodedResourcesList):
(WebCore::MemoryCache::insertInLiveDecodedResourcesList):

  • loader/cache/MemoryCache.h:

(WebCore::MemoryCache::inLiveDecodedResourcesList):

9:38 AM Changeset in webkit [179401] by Chris Dumez
  • 2 edits in trunk/Websites/webkit.org

Add "Singleton pattern" section to the WebKit coding style
https://bugs.webkit.org/show_bug.cgi?id=141040

Reviewed by Ryosuke Niwa.

Add "Singleton pattern" section to the WebKit coding style to document
what was discussed on webkit-dev:
https://lists.webkit.org/pipermail/webkit-dev/2015-January/027199.html

  • coding/coding-style.html:
9:22 AM Changeset in webkit [179400] by ddkilzer@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/LayoutTests

Fix lint warnings for ios-simulator (wk1) TestExpectations

  • platform/ios-simulator/TestExpectations: Remove tests that

don't exist on the branch or are duplicate expectations.

9:22 AM Changeset in webkit [179399] by ddkilzer@apple.com
  • 57 edits
    5 copies
    19 adds
    2 deletes in branches/safari-600.1.4.15-branch

run-webkit-tests: Merge 46 commits from trunk to make it work

r171686, r171687, r171789, r171800, r171967, r171968, r171969,
r172115, r172117, r172118, r172174, r172602, r172942, r172967,
r173129, r173452, r173647, r173937, r174406, r174626, r174628,
r174634, r174642, r174650, r174702, r174728, r174824, r174835,
r174844, r175204, r176669, r176677, r176872, r176880, r176885,
r176897, r177129, r177363, r177370, r177510, r178444, r178570,
r178601, r178656, r178867, r178925

5:56 AM Changeset in webkit [179398] by Csaba Osztrogonác
  • 31 edits in trunk/Source/WebCore

[cairo] Fix #if guards in platform/graphics/cairo directory
https://bugs.webkit.org/show_bug.cgi?id=141076

Reviewed by Sergio Villar Senin.

  • platform/graphics/cairo/BackingStoreBackendCairo.h:
  • platform/graphics/cairo/BitmapImageCairo.cpp:
  • platform/graphics/cairo/CairoUtilities.cpp:
  • platform/graphics/cairo/CairoUtilities.h:
  • platform/graphics/cairo/DrawErrorUnderline.h:
  • platform/graphics/cairo/DrawingBufferCairo.cpp:
  • platform/graphics/cairo/FloatRectCairo.cpp:
  • platform/graphics/cairo/FontCairo.cpp:
  • platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:
  • platform/graphics/cairo/FontCustomPlatformData.h:
  • platform/graphics/cairo/GradientCairo.cpp:
  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:
  • platform/graphics/cairo/GraphicsContextCairo.cpp:
  • platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
  • platform/graphics/cairo/ImageBufferCairo.cpp:
  • platform/graphics/cairo/ImageBufferDataCairo.h:
  • platform/graphics/cairo/ImageCairo.cpp:
  • platform/graphics/cairo/IntRectCairo.cpp:
  • platform/graphics/cairo/OwnPtrCairo.cpp:
  • platform/graphics/cairo/OwnPtrCairo.h:
  • platform/graphics/cairo/PathCairo.cpp:
  • platform/graphics/cairo/PatternCairo.cpp:
  • platform/graphics/cairo/PlatformContextCairo.cpp:
  • platform/graphics/cairo/PlatformContextCairo.h:
  • platform/graphics/cairo/PlatformPathCairo.cpp:
  • platform/graphics/cairo/PlatformPathCairo.h:
  • platform/graphics/cairo/RefPtrCairo.cpp:
  • platform/graphics/cairo/RefPtrCairo.h:
  • platform/graphics/cairo/TileCairo.h:
  • platform/graphics/cairo/TransformationMatrixCairo.cpp:
Note: See TracTimeline for information about the timeline view.