Timeline



Jun 12, 2015:

11:31 PM Changeset in webkit [185534] by Chris Fleizach
  • 4 edits in trunk/Source/WebCore

AX: iOS: after updating control, VoiceOver speaks aria-expanded states reversed (says "collapsed" when "expanded")
https://bugs.webkit.org/show_bug.cgi?id=145943

Reviewed by Darin Adler.

iOS Accessibility platform needs to be notified of when aria expanded changes.

  • accessibility/ios/AXObjectCacheIOS.mm:

(WebCore::AXObjectCache::postPlatformNotification):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.h:
  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper postValueChangedNotification]):
(-[WebAccessibilityObjectWrapper postExpandedChangedNotification]):
(-[WebAccessibilityObjectWrapper postScrollStatusChangeNotification]):

11:04 PM Changeset in webkit [185533] by Chris Fleizach
  • 8 edits in trunk

AX:ARIA Toggle buttons aren't properly conveyed on iOS using VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=145949

Reviewed by Darin Adler.

Source/WebCore:

Expose pressed state information to the iOS platform AX API.

Test: Updated inspector-protocol/dom/getAccessibilityPropertiesForNode.html

There was a FIXME for this issue in that test: https://bugs.webkit.org/show_bug.cgi?id=129830

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::isPressed):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::classList):
(WebCore::AccessibilityObject::supportsARIAPressed):
(WebCore::AccessibilityObject::supportsARIAExpanded):

  • accessibility/AccessibilityObject.h:
  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityARIALiveRegionIsAtomic]):
(-[WebAccessibilityObjectWrapper accessibilitySupportsARIAPressed]):
(-[WebAccessibilityObjectWrapper accessibilityIsPressed]):
(-[WebAccessibilityObjectWrapper accessibilitySupportsARIAExpanded]):

LayoutTests:

  • inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
  • inspector-protocol/dom/getAccessibilityPropertiesForNode.html:
8:52 PM Changeset in webkit [185532] by Gyuyoung Kim
  • 22 edits in trunk/Source

Purge PassRefPtr in JavaScriptCore - 2
https://bugs.webkit.org/show_bug.cgi?id=145834

Reviewed by Darin Adler.

Source/JavaScriptCore:

As a step to remove PassRefPtr, this patch cleans up PassRefPtr as much as possible
in JavaScriptCore.

  • API/JSClassRef.cpp:

(OpaqueJSClass::create):

  • API/JSClassRef.h:
  • debugger/DebuggerCallFrame.cpp:

(JSC::DebuggerCallFrame::callerFrame):

  • debugger/DebuggerCallFrame.h:
  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::jitCode):

  • inspector/ScriptCallStackFactory.cpp:

(Inspector::createScriptCallStack):
(Inspector::createScriptCallStackForConsole):
(Inspector::createScriptCallStackFromException):
(Inspector::createScriptArguments):

  • inspector/ScriptCallStackFactory.h:
  • jit/ExecutableAllocator.cpp:

(JSC::ExecutableAllocator::allocate):

  • jit/ExecutableAllocator.h:
  • jit/ExecutableAllocatorFixedVMPool.cpp:

(JSC::ExecutableAllocator::allocate):

  • profiler/LegacyProfiler.cpp:

(JSC::LegacyProfiler::stopProfiling):

  • profiler/LegacyProfiler.h:
  • runtime/DateInstanceCache.h:
  • runtime/Executable.cpp:

(JSC::ScriptExecutable::newCodeBlockFor):

  • runtime/Executable.h:
  • runtime/GenericTypedArrayView.h:
  • runtime/GenericTypedArrayViewInlines.h:

(JSC::GenericTypedArrayView<Adaptor>::create):
(JSC::GenericTypedArrayView<Adaptor>::createUninitialized):

Source/WebCore:

Fix call sites depends on changing of JSC.

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::getParameter):

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getParameter):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::getUniform):
(WebCore::WebGLRenderingContextBase::getVertexAttrib):
(WebCore::WebGLRenderingContextBase::getWebGLFloatArrayParameter):
(WebCore::WebGLRenderingContextBase::getWebGLIntArrayParameter):

8:25 PM Changeset in webkit [185531] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Be more defensive at renderer type checking when initializing flow segments.
https://bugs.webkit.org/show_bug.cgi?id=145942

Reviewed by Simon Fraser.

FlowContents::initializeSegments should ignore unsupported renderers so that when we miss
a simple line layout path invalidation, we don't downcast the unsupported renderer to RenderText.

I have not reproduced this issue (but related to rdar://problem/21312452)

  • rendering/SimpleLineLayoutFlowContents.cpp:

(WebCore::SimpleLineLayout::initializeSegments):

7:27 PM Changeset in webkit [185530] by ap@apple.com
  • 5 edits in trunk/Tools

Update springLoadingHighlight type
https://bugs.webkit.org/show_bug.cgi?id=145939
rdar://problem/20880213

Reviewed by Darin Adler.

  • DumpRenderTree/mac/DumpRenderTreeDraggingInfo.h:
  • DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm:
  • WebKitTestRunner/mac/WebKitTestRunnerDraggingInfo.h:
  • WebKitTestRunner/mac/WebKitTestRunnerDraggingInfo.mm:
6:40 PM Changeset in webkit [185529] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Reimplement WKResourceCacheManagerRef on top of WKWebsiteDataStoreRef
https://bugs.webkit.org/show_bug.cgi?id=145951

Reviewed by Darin Adler.

  • UIProcess/API/C/WKContext.cpp:

(WKContextGetResourceCacheManager):

  • UIProcess/API/C/WKResourceCacheManager.cpp:

(WKResourceCacheManagerGetTypeID):
(toWebsiteDataTypes):
(WKResourceCacheManagerGetCacheOrigins):
(WKResourceCacheManagerClearCacheForOrigin):
(WKResourceCacheManagerClearCacheForAllOrigins):

6:35 PM Changeset in webkit [185528] by Darin Adler
  • 3 edits
    3 adds in trunk

Fix minor ES6 compliance issue in RegExp.prototype.toString and optimize performance a little
https://bugs.webkit.org/show_bug.cgi?id=145935

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

Test: js/regexp-toString.html

  • runtime/RegExpPrototype.cpp:

(JSC::getFlags): Avoid memory allocation for the flags string by returning it in a character
buffer instead of constructing a WTF::String for it.
(JSC::regExpProtoFuncToString): Require only that the this value be an object; don't require
that it is actually a regular expression object. This is covered in the ES6 specification.
Also removed comment about the "/(?:)/" trick since that is now the repsonsibility of the
getter for the "source" property. Updated to use getFlags so we do one less memory allocation.
(JSC::regExpProtoGetterFlags): Chagned to use getFlags instead of the old flagsString.

LayoutTests:

  • js/regexp-toString-expected.txt: Added.
  • js/regexp-toString.html: Added.
  • js/script-tests/regexp-toString.js: Added.
5:30 PM Changeset in webkit [185527] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Reimplement WKApplicationCacheManagerRef as WKWebsiteDataStoreRef
https://bugs.webkit.org/show_bug.cgi?id=145950

Reviewed by Dan Bernstein.

  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKApplicationCacheManager.cpp:

(WKApplicationCacheManagerGetTypeID):
(WKApplicationCacheManagerGetApplicationCacheOrigins):
(WKApplicationCacheManagerDeleteEntriesForOrigin):
(WKApplicationCacheManagerDeleteAllEntries):

  • UIProcess/API/C/WKContext.cpp:

(WKContextGetApplicationCacheManager):
(WKContextGetPluginSiteDataManager):

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

Versioning.

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

deleteEmptyDirectory should delete .DS_Store files on OS X
https://bugs.webkit.org/show_bug.cgi?id=145944

Reviewed by Dan Bernstein.

deleteEmptyDirectory is often used when clearing website data, so we should
take extra care to delete empty directories so the user won't think that clearing
website data didn't do anything because it would leave directories with .DS_Store
files behind.

  • platform/mac/FileSystemMac.mm:

(WebCore::deleteEmptyDirectory):

  • platform/posix/FileSystemPOSIX.cpp:
4:40 PM Changeset in webkit [185524] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Move cursor to (10, 0) instead of (0, 0) and polish the mouse move code
https://bugs.webkit.org/show_bug.cgi?id=145945

Patch by Dewei Zhu <Dewei Zhu> on 2015-06-12
Reviewed by Stephanie Lewis.

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

(OSXBrowserDriver.prepareEnv):
(OSXBrowserDriver.moveCursor): Deleted.
(OSXBrowserDriver): Deleted.

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

(OSXSafariDriver.prepareEnv):

3:49 PM Changeset in webkit [185523] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Unreviewed build fix for merging platforms.

  • public/admin/platforms.php:
3:08 PM Changeset in webkit [185522] by Brent Fulgham
  • 2 edits in trunk/Tools

Revise update-webkit-dependency to use LWP::UserAgent instead of LWP::Simple for better handling of https
https://bugs.webkit.org/show_bug.cgi?id=145938

Reviewed by Alexey Proskuryakov.

  • Scripts/update-webkit-dependency: Switch from LWP::Simple to

LWP::UserAgent to get access to more robust HTTPS support.

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

Clean up IndexedDB website data retrieval and removal
https://bugs.webkit.org/show_bug.cgi?id=145941

Reviewed by Andreas Kling.

  • Use SecurityOrigin instead of SecurityOriginData; It's not possible to pass SecurityOriginData

safely between threads.

  • Use std::chrono instead of double for modification times.
  • Get rid of endTime since it's not used.
  • Change deleteIndexedDatabaseEntriesForOrigin to deleteIndexedDatabaseEntriesForOrigins and make it take

a vector of origins instead of a single one.

  • Get rid of deleteAllIndexedDatabaseEntries.
  • Change SecurityOriginData::securityOrigin to call isolatedCopy on the origin components, since it's common

to pass origins to other threads and we want that to be safe.

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::fetchWebsiteData):
(WebKit::DatabaseProcess::deleteWebsiteData):
(WebKit::DatabaseProcess::deleteWebsiteDataForOrigins):
(WebKit::DatabaseProcess::indexedDatabaseOrigins):
(WebKit::removeAllDatabasesForOriginPath):
(WebKit::DatabaseProcess::deleteIndexedDatabaseEntriesForOrigins):
(WebKit::DatabaseProcess::deleteIndexedDatabaseEntriesModifiedSince):
(WebKit::DatabaseProcess::getIndexedDatabaseOrigins): Deleted.
(WebKit::DatabaseProcess::deleteIndexedDatabaseEntriesForOrigin): Deleted.
(WebKit::DatabaseProcess::deleteIndexedDatabaseEntriesModifiedBetweenDates): Deleted.
(WebKit::DatabaseProcess::deleteAllIndexedDatabaseEntries): Deleted.

  • DatabaseProcess/DatabaseProcess.h:
  • Shared/SecurityOriginData.cpp:

(WebKit::SecurityOriginData::securityOrigin):

2:01 PM Changeset in webkit [185520] by Manuel Rego Casasnovas
  • 5 edits in trunk

[CSS Grid Layout] Fix grid-template-areas parsing to avoid spaces
https://bugs.webkit.org/show_bug.cgi?id=145860

Reviewed by Sergio Villar Senin.

Source/WebCore:

The spec doesn't require to have spaces between unnamed and named areas
in grid-template-areas syntax. But spaces are currently required in our
code.

This was confirmed in the CSS WG mailing list:
https://lists.w3.org/Archives/Public/www-style/2015May/0239.html

This patch updates grid-template-areas parsing to allow the possibility
of removing spaces between unnamed and named areas.

Added new cases to fast/css-grid-layout/grid-template-areas-get-set.html.

  • css/CSSParser.cpp:

(WebCore::parseGridTemplateAreasColumnNames): New helper method to
determine the column names split by white spaces or dots.
(WebCore::CSSParser::parseGridTemplateAreasRow): Use the new helper
method to get the column names.
(WebCore::containsOnlyDots): Deleted. Not needed anymore as
parseGridTemplateAreasColumnNames() is using a single dot for unnamed
grid areas (despite of being defined with 1 or more dots).

LayoutTests:

  • fast/css-grid-layout/grid-template-areas-get-set-expected.txt:
  • fast/css-grid-layout/grid-template-areas-get-set.html: Add new test

cases.

1:51 PM test.php attached to isectestpage by dsmith@isecpartners.com
1:48 PM test.2.txt attached to isectestpage by dsmith@isecpartners.com
1:41 PM Changeset in webkit [185519] by eric.carlson@apple.com
  • 5 edits in trunk/Source/WebCore

[Mac] AirPlay menu button doesn't always show on page load
https://bugs.webkit.org/show_bug.cgi?id=145936

Reviewed by Brent Fulgham.

  • Modules/mediasession/WebMediaSessionManager.cpp:

(WebCore::mediaProducerStateString): New, return a string representing MediaStateFlags.
(WebCore::WebMediaSessionManager::clientStateDidChange): Log the states as strings.
(WebCore::WebMediaSessionManager::toString): New, return a string representing ConfigurationTasks.
(WebCore::WebMediaSessionManager::scheduleDelayedTask): Add logging.
(WebCore::WebMediaSessionManager::taskTimerFired): Add logging.

  • Modules/mediasession/WebMediaSessionManager.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h: Override wirelessVideoPlaybackDisabled so it is possible to activate route monitoring for a movie loaded with this engine.
  • platform/graphics/mac/MediaPlayerPrivateQTKit.h: Ditto.
1:31 PM test.txt attached to isectestpage by dsmith@isecpartners.com
Test
1:30 PM isectestpage created by dsmith@isecpartners.com
11:48 AM Changeset in webkit [185518] by zandobersek@gmail.com
  • 26 edits in trunk/Source/WebCore

Add the remaining missing override specifiers under Source/WebCore/
https://bugs.webkit.org/show_bug.cgi?id=145907

Reviewed by Darin Adler.

Fix the remaining compiler warnings about missing override specifiers
for overriding method declarations in classes under Source/WebCore/.

Where the addition had to be performed on all virtual methods of the
class, the virtual specifier was removed so now only the override
specifier is in use.

  • Modules/indexeddb/IDBOpenDBRequest.h:
  • Modules/indexeddb/IDBRequest.h:
  • Modules/webdatabase/DatabaseServer.h:
  • bindings/js/ReadableJSStream.h:
  • editing/InsertTextCommand.h:
  • mathml/MathMLInlineContainerElement.h:
  • platform/audio/EqualPowerPanner.h:

(WebCore::EqualPowerPanner::reset):

  • platform/graphics/MediaPlayer.cpp:

(WebCore::NullMediaPlayerPrivate::load):
(WebCore::NullMediaPlayerPrivate::cancelLoad):
(WebCore::NullMediaPlayerPrivate::prepareToPlay):
(WebCore::NullMediaPlayerPrivate::play):
(WebCore::NullMediaPlayerPrivate::pause):
(WebCore::NullMediaPlayerPrivate::platformMedia):
(WebCore::NullMediaPlayerPrivate::platformLayer):
(WebCore::NullMediaPlayerPrivate::naturalSize):
(WebCore::NullMediaPlayerPrivate::hasVideo):
(WebCore::NullMediaPlayerPrivate::hasAudio):
(WebCore::NullMediaPlayerPrivate::setVisible):
(WebCore::NullMediaPlayerPrivate::durationDouble):
(WebCore::NullMediaPlayerPrivate::currentTimeDouble):
(WebCore::NullMediaPlayerPrivate::seekDouble):
(WebCore::NullMediaPlayerPrivate::seeking):
(WebCore::NullMediaPlayerPrivate::setRateDouble):
(WebCore::NullMediaPlayerPrivate::setPreservesPitch):
(WebCore::NullMediaPlayerPrivate::paused):
(WebCore::NullMediaPlayerPrivate::setVolumeDouble):
(WebCore::NullMediaPlayerPrivate::supportsMuting):
(WebCore::NullMediaPlayerPrivate::setMuted):
(WebCore::NullMediaPlayerPrivate::hasClosedCaptions):
(WebCore::NullMediaPlayerPrivate::setClosedCaptionsVisible):
(WebCore::NullMediaPlayerPrivate::networkState):
(WebCore::NullMediaPlayerPrivate::readyState):
(WebCore::NullMediaPlayerPrivate::maxTimeSeekableDouble):
(WebCore::NullMediaPlayerPrivate::minTimeSeekable):
(WebCore::NullMediaPlayerPrivate::buffered):
(WebCore::NullMediaPlayerPrivate::totalBytes):
(WebCore::NullMediaPlayerPrivate::didLoadingProgress):
(WebCore::NullMediaPlayerPrivate::setSize):
(WebCore::NullMediaPlayerPrivate::canLoadPoster):
(WebCore::NullMediaPlayerPrivate::setPoster):
(WebCore::NullMediaPlayerPrivate::hasSingleSecurityOrigin):

  • platform/graphics/filters/DistantLightSource.h:
  • platform/graphics/filters/FEComposite.h:
  • platform/graphics/filters/FEDisplacementMap.h:

(WebCore::FEDisplacementMap::determineAbsolutePaintRect):

  • platform/graphics/filters/FEFlood.h:

(WebCore::FEFlood::determineAbsolutePaintRect):

  • platform/graphics/filters/PointLightSource.h:
  • platform/graphics/filters/SpotLightSource.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

(WebCore::MediaPlayerPrivateGStreamer::hasVideo):
(WebCore::MediaPlayerPrivateGStreamer::hasAudio):
(WebCore::MediaPlayerPrivateGStreamer::audioSourceProvider):
(WebCore::MediaPlayerPrivateGStreamer::engineDescription):
(WebCore::MediaPlayerPrivateGStreamer::isLiveStream):
(WebCore::MediaPlayerPrivateGStreamer::totalVideoFrames):
(WebCore::MediaPlayerPrivateGStreamer::droppedVideoFrames):
(WebCore::MediaPlayerPrivateGStreamer::corruptedVideoFrames):
(WebCore::MediaPlayerPrivateGStreamer::totalFrameDelay):

  • platform/graphics/texmap/BitmapTextureGL.h:

(WebCore::BitmapTextureGL::isBackedByOpenGL):

  • platform/graphics/transforms/Matrix3DTransformOperation.h:
  • platform/graphics/transforms/MatrixTransformOperation.h:
  • platform/graphics/transforms/PerspectiveTransformOperation.h:
  • platform/graphics/transforms/RotateTransformOperation.h:
  • platform/graphics/transforms/ScaleTransformOperation.h:
  • platform/graphics/transforms/SkewTransformOperation.h:
  • platform/image-decoders/png/PNGImageDecoder.h:

(WebCore::PNGImageDecoder::filenameExtension):

  • platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.h:
  • platform/mock/MockRealtimeMediaSourceCenter.h:
11:43 AM Changeset in webkit [185517] by commit-queue@webkit.org
  • 22 edits in trunk/Source/WebCore

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

Many asserts on layout tests and on API tests (Requested by
ap_ on #webkit).

Reverted changeset:

"Use modern for-loops in WebCore/rendering - 1"
https://bugs.webkit.org/show_bug.cgi?id=145831
http://trac.webkit.org/changeset/185512

11:22 AM Changeset in webkit [185516] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

OpenGLESSPI.h doesn't need to include UIKit.h
https://bugs.webkit.org/show_bug.cgi?id=145931

Reviewed by Darin Adler.

No need to suck in all of UIKit from OpenGLESSPI.h.

  • platform/spi/ios/OpenGLESSPI.h:
11:19 AM Changeset in webkit [185515] by matthew_hanson@apple.com
  • 2 edits in tags/Safari-601.1.35/Source/WebCore

Merge r185501. rdar://problem/21129111

10:53 AM Changeset in webkit [185514] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Add barebones implementation of media session invocation algorithm.
https://bugs.webkit.org/show_bug.cgi?id=145847

Patch by Matt Rajca <mrajca@apple.com> on 2015-06-12
Reviewed by Darin Adler.

  • Modules/mediasession/MediaSession.cpp:

(WebCore::MediaSession::invoke): Move the media session to an active state.

  • Modules/mediasession/MediaSession.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::playInternal): Call the media session invocation algorithm as described in the

Media Session spec.

10:43 AM Changeset in webkit [185513] by Antti Koivisto
  • 3 edits in trunk/Source/WebKit2

Network Cache: Use SHA1 for header checksum
https://bugs.webkit.org/show_bug.cgi?id=145928

Reviewed by Chris Dumez.

Use SHA1 everywhere for consistency and robustness.

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::bodyPathForKey):
(WebKit::NetworkCache::RecordMetaData::RecordMetaData):
(WebKit::NetworkCache::decodeRecordMetaData):
(WebKit::NetworkCache::decodeRecordHeader):
(WebKit::NetworkCache::encodeRecordMetaData):
(WebKit::NetworkCache::Storage::encodeRecord):
(WebKit::NetworkCache::hashData): Deleted.

This was the last user of 32 bit hashes in cache code.

  • NetworkProcess/cache/NetworkCacheStorage.h:

Also bump the cache version number as recent changes have changed the format.
Old caches would transition fine but this makes it easier to identify which version user has.

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

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

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

No new tests because there is no behavior change.

  • rendering/AutoTableLayout.cpp:

(WebCore::AutoTableLayout::computeIntrinsicLogicalWidths):
(WebCore::AutoTableLayout::calcEffectiveLogicalWidth):

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::build):
(WebCore::FilterEffectRenderer::clearIntermediateResults):

  • rendering/FilterEffectRenderer.h:
  • rendering/FloatingObjects.cpp:

(WebCore::FloatingObjects::clearLineBoxTreePointers):
(WebCore::FloatingObjects::moveAllToFloatInfoMap):
(WebCore::FloatingObjects::computePlacedFloatsTree):

  • rendering/FlowThreadController.cpp:

(WebCore::FlowThreadController::collectFixedPositionedLayers):

  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::append):

  • rendering/ImageQualityController.cpp:

(WebCore::ImageQualityController::highQualityRepaintTimerFired):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paint):

  • rendering/RenderBlock.cpp:

(WebCore::removeBlockFromDescendantAndContainerMaps):
(WebCore::RenderBlock::addOverflowFromPositionedObjects):
(WebCore::RenderBlock::dirtyForLayoutFromPercentageHeightDescendants):
(WebCore::RenderBlock::simplifiedNormalFlowLayout):
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markPositionedObjectsForLayout):
(WebCore::RenderBlock::paintContinuationOutlines):
(WebCore::clipOutPositionedObjects):
(WebCore::RenderBlock::removeFromTrackedRendererMaps):
(WebCore::RenderBlock::removePositionedObjects):
(WebCore::RenderBlock::checkPositionedObjectsNeedLayout):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats):
(WebCore::RenderBlockFlow::styleDidChange):
(WebCore::RenderBlockFlow::moveFloatsTo):
(WebCore::RenderBlockFlow::addOverflowFromFloats):
(WebCore::RenderBlockFlow::repaintOverhangingFloats):
(WebCore::RenderBlockFlow::paintFloats):
(WebCore::RenderBlockFlow::clipOutFloatingObjects):
(WebCore::RenderBlockFlow::lowestFloatLogicalBottom):
(WebCore::RenderBlockFlow::lowestInitialLetterLogicalBottom):
(WebCore::RenderBlockFlow::addOverhangingFloats):
(WebCore::RenderBlockFlow::addIntrudingFloats):
(WebCore::RenderBlockFlow::markSiblingsWithFloatsForLayout):
(WebCore::RenderBlockFlow::adjustForBorderFit):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::setLogicalWidthForTextRun):
(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
(WebCore::RenderBlockFlow::linkToEndLineIfNeeded):
(WebCore::RenderBlockFlow::repaintDirtyFloats):
(WebCore::RenderBlockFlow::layoutLineBoxes):
(WebCore::RenderBlockFlow::checkFloatsInCleanLine):
(WebCore::RenderBlockFlow::determineStartPosition):
(WebCore::RenderBlockFlow::checkPaginationAndFloatsAtEndLine):

  • rendering/RenderCounter.cpp:

(WebCore::RenderCounter::destroyCounterNodes):
(WebCore::updateCounters):
(WebCore::RenderCounter::rendererStyleChanged):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::autoMarginOffsetInMainAxis):
(WebCore::RenderFlexibleBox::freezeViolations):
(WebCore::RenderFlexibleBox::resolveFlexibleLengths):
(WebCore::RenderFlexibleBox::numberOfInFlowPositionedChildren):
(WebCore::RenderFlexibleBox::layoutColumnReverse):
(WebCore::RenderFlexibleBox::alignFlexLines):
(WebCore::RenderFlexibleBox::alignChildren):
(WebCore::RenderFlexibleBox::flipForWrapReverse):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::updateAllLayerToRegionMappings):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::addAnnotatedRegions):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrder):
(WebCore::RenderLayer::updateDescendantDependentFlags):

  • rendering/RenderLayerBacking.cpp:

(WebCore::descendantLayerPaintsIntoAncestor):
(WebCore::RenderLayerBacking::startAnimation):

  • rendering/RenderLineBoxList.cpp:

(WebCore::RenderLineBoxList::paint):

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::updateFromElement):

  • rendering/RenderMenuList.cpp:

(WebCore::selectedOptionCount):
(RenderMenuList::updateOptionsWidth):

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::distributeImplicitBreaks):

10:04 AM Changeset in webkit [185511] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

[iOS WK2] Video with reflection crashes WebKit and Safari
https://bugs.webkit.org/show_bug.cgi?id=145905
rdar://problem/18364939

Reviewed by Anders Carlsson.

On iOS, AVPlayerLayers are contained inside a WebVideoContainerLayer, but
the layer type is still LayerTypeAVPlayerLayer.

Avoid throwing exceptions when cloning such layers by checking the layer class.

  • WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:

(WebKit::PlatformCALayerRemoteCustom::clone):

9:59 AM Changeset in webkit [185510] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix unused private field warning in ResourceHandleSoup.cpp
https://bugs.webkit.org/show_bug.cgi?id=145910

Reviewed by Darin Adler.

  • platform/network/soup/ResourceHandleSoup.cpp:
9:56 AM Changeset in webkit [185509] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebKit2

[EFL] Fix unused private field warning in WebContextMenuProxyEfl.cpp
https://bugs.webkit.org/show_bug.cgi?id=145911

Reviewed by Darin Adler.

  • UIProcess/efl/WebContextMenuProxyEfl.cpp:

(WebKit::WebContextMenuProxyEfl::WebContextMenuProxyEfl): Deleted.

  • UIProcess/efl/WebContextMenuProxyEfl.h:
9:52 AM Changeset in webkit [185508] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[GTK] Fix return type warning in WebViewTest.cpp
https://bugs.webkit.org/show_bug.cgi?id=145914

Reviewed by Darin Adler.

  • TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:

(WebViewTest::isEditable):

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

Web Inspector: CRASH trying to inspect text that was removed/replaced
https://bugs.webkit.org/show_bug.cgi?id=145898

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-06-12
Reviewed by Darin Adler.

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::inspect):
(WebCore::InspectorDOMAgent::focusNode):
Ensure we only cause focusNode with a node to focus. If the original
node that was provided is no longer in the document, then we won't
actually find a node to inspect.

9:45 AM Changeset in webkit [185506] by hyuki.kim@samsung.com
  • 3 edits in trunk/Source/WebCore

[EFL] canvas/philip/tests/toDataURL.jpeg.foo tests have been failed since r185417.
https://bugs.webkit.org/show_bug.cgi?id=145878

Reviewed by Gyuyoung Kim.

Fix input buffer alignment issue.

No new tests, canvas/philip/tests/toDataURL.jpeg.foo can be used.

  • platform/graphics/efl/ImageBufferEfl.cpp:

(WebCore::encodeImagePNG):
(WebCore::encodeImageJPEG):
(WebCore::ImageBuffer::toDataURL):

9:33 AM Changeset in webkit [185505] by basile_clement@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

DFG Object Allocation Sinking should not consider GetClosureVar as escapes
https://bugs.webkit.org/show_bug.cgi?id=145904

Reviewed by Filip Pizlo.

The object allocation sinking phase is currently able to sink
CreateActivation nodes, but will consider any GetClosureVar node as
escaping.

This is not problematic in general as most of the GetClosureVar nodes
we would have been able to sink over will have been eliminated by CSE
anyway. Still, this is an oversight that we should fix since the
machinery is already in place.

  • dfg/DFGObjectAllocationSinkingPhase.cpp:

(JSC::DFG::ObjectAllocationSinkingPhase::handleNode):

  • dfg/DFGPromoteHeapAccess.h:

(JSC::DFG::promoteHeapAccess):

7:46 AM Changeset in webkit [185504] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix after r185502.

  • NetworkProcess/cache/NetworkCacheFileSystem.cpp:

GRefPtr.h header has been moved to a different place.

6:44 AM Changeset in webkit [185503] by zandobersek@gmail.com
  • 47 edits in trunk/Source/WebCore

Add missing override specifiers under Source/WebCore/svg/
https://bugs.webkit.org/show_bug.cgi?id=145841

Reviewed by Darin Adler.

Add missing override specifiers to virtual method overrides for classes
under Source/WebCore/svg/, suppressing a bunch of warnings when compiling
with Clang 3.6.

Add the BEGIN_DECLARE_ANIMATED_PROPERTIES_BASE() macro that doesn't
override the localAttributeToPropertyMap() method declaration, and
have the BEGIN_DECLARE_ANIMATED_PROPERTIES() macro add the override
specifier. The new macro is used in SVGElement.

Change the DECLARE_ANIMATED_PROPERTY() to accept the optional override
specifier as the fifth parameter. Current DECLARE_ANIMATED_*() macros
are modified to just pass an empty argument, not adding any specifier.
DECLARE_ANIMATED_BOOLEAN_OVERRIDE() and DECLARE_ANIMATED_STRING_OVERRIDE()
macros are added to override the methods for the externalResourcesRequired
and href animated properties, where required.

  • svg/SVGAElement.h:
  • svg/SVGAltGlyphElement.h:
  • svg/SVGAnimatedAngle.h:
  • svg/SVGAnimatedBoolean.h:
  • svg/SVGAnimatedEnumeration.h:
  • svg/SVGAnimatedInteger.h:
  • svg/SVGAnimatedLength.h:
  • svg/SVGAnimatedNumber.h:
  • svg/SVGAnimatedPreserveAspectRatio.h:
  • svg/SVGAnimatedRect.h:
  • svg/SVGAnimatedString.h:
  • svg/SVGAnimationElement.h:
  • svg/SVGCircleElement.h:
  • svg/SVGClipPathElement.h:
  • svg/SVGCursorElement.h:
  • svg/SVGDefsElement.h:
  • svg/SVGElement.h:
  • svg/SVGEllipseElement.h:
  • svg/SVGFEImageElement.h:
  • svg/SVGFilterElement.h:
  • svg/SVGFontElement.h:
  • svg/SVGForeignObjectElement.h:
  • svg/SVGGElement.h:
  • svg/SVGGlyphRefElement.h:
  • svg/SVGGradientElement.h:
  • svg/SVGImageElement.h:
  • svg/SVGLineElement.h:
  • svg/SVGMPathElement.h:
  • svg/SVGMarkerElement.h:
  • svg/SVGMaskElement.h:
  • svg/SVGPathElement.h:
  • svg/SVGPatternElement.h:
  • svg/SVGPolyElement.h:
  • svg/SVGRectElement.h:
  • svg/SVGSVGElement.h:
  • svg/SVGScriptElement.h:
  • svg/SVGSwitchElement.h:
  • svg/SVGSymbolElement.h:
  • svg/SVGTRefElement.h:
  • svg/SVGTextContentElement.h:
  • svg/SVGTextPathElement.h:
  • svg/SVGURIReference.h: Add the hrefBaseValue() pure virtual method

so it can be overridden by any class that also overrides the
corresponding setHrefBaseValue() method.

  • svg/SVGUseElement.h:
  • svg/SVGViewElement.h:
  • svg/properties/SVGAnimatedPropertyMacros.h:
  • svg/properties/SVGMatrixTearOff.h:

(WebCore::SVGMatrixTearOff::commitChange):

6:32 AM Changeset in webkit [185502] by zandobersek@gmail.com
  • 195 edits
    13 adds
    2 deletes in trunk

[GLib] Move files under Source/WTF/wtf/gobject to Source/WTF/wtf/glib
https://bugs.webkit.org/show_bug.cgi?id=145799

Reviewed by Carlos Garcia Campos.

Source/WebCore:

Update header inclusions for headers that have been moved
to Source/WTF/wtf/glib/.

  • accessibility/atk/AXObjectCacheAtk.cpp:
  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:
  • bindings/gobject/DOMObjectCache.cpp:
  • bindings/gobject/GObjectEventListener.h:
  • bindings/gobject/GObjectNodeFilterCondition.h:
  • bindings/gobject/GObjectXPathNSResolver.h:
  • bindings/gobject/WebKitDOMEventTarget.cpp:
  • platform/Pasteboard.h:
  • platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
  • platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
  • platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:
  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
  • platform/audio/gtk/AudioBusGtk.cpp:
  • platform/geoclue/GeolocationProviderGeoclue.h:
  • platform/geoclue/GeolocationProviderGeoclue2.cpp:
  • platform/glib/BatteryProviderUPower.cpp:
  • platform/glib/BatteryProviderUPower.h:
  • platform/graphics/gstreamer/GRefPtrGStreamer.h:
  • platform/graphics/gstreamer/GStreamerUtilities.cpp:
  • platform/graphics/gstreamer/GUniquePtrGStreamer.h:
  • platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
  • platform/graphics/gstreamer/MediaSourceGStreamer.cpp:
  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
  • platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
  • platform/graphics/gtk/ImageBufferGtk.cpp:
  • platform/graphics/gtk/ImageGtk.cpp:
  • platform/gtk/ContextMenuGtk.cpp:
  • platform/gtk/ContextMenuItemGtk.cpp:
  • platform/gtk/DataObjectGtk.cpp:
  • platform/gtk/DataObjectGtk.h:
  • platform/gtk/FileSystemGtk.cpp:
  • platform/gtk/GRefPtrGtk.h:
  • platform/gtk/GUniquePtrGtk.h:
  • platform/gtk/GamepadsGtk.cpp:
  • platform/gtk/GtkUtilities.cpp:
  • platform/gtk/LanguageGtk.cpp:
  • platform/gtk/LocalizedStringsGtk.cpp:
  • platform/gtk/PasteboardHelper.cpp:
  • platform/gtk/ScrollbarThemeGtk.cpp:
  • platform/gtk/SharedBufferGtk.cpp:
  • platform/gtk/SharedTimerGtk.cpp:
  • platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:
  • platform/network/ResourceHandleInternal.h:
  • platform/network/gtk/CredentialBackingStore.cpp:
  • platform/network/soup/CertificateInfo.h:
  • platform/network/soup/CookieJarSoup.cpp:
  • platform/network/soup/DNSSoup.cpp:
  • platform/network/soup/GRefPtrSoup.h:
  • platform/network/soup/GUniquePtrSoup.h:
  • platform/network/soup/ResourceError.h:
  • platform/network/soup/ResourceErrorSoup.cpp:
  • platform/network/soup/ResourceHandleSoup.cpp:
  • platform/network/soup/ResourceResponse.h:
  • platform/network/soup/SocketStreamHandle.h:
  • platform/network/soup/SocketStreamHandleSoup.cpp:
  • platform/network/soup/SoupNetworkSession.h:
  • platform/text/gtk/HyphenationLibHyphen.cpp:
  • rendering/RenderThemeGtk.cpp:

Source/WebKit2:

Update header inclusions for headers that have been moved
to Source/WTF/wtf/glib/.

  • NetworkProcess/cache/NetworkCacheFileSystemPosix.h:
  • NetworkProcess/cache/NetworkCacheIOChannel.h:
  • NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
  • NetworkProcess/soup/NetworkProcessSoup.cpp:
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • Shared/Downloads/soup/DownloadSoup.cpp:
  • Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.h:
  • Shared/PrintInfo.h:
  • Shared/gtk/ArgumentCodersGtk.cpp:
  • Shared/gtk/ArgumentCodersGtk.h:
  • Shared/gtk/KeyedDecoder.h:
  • Shared/gtk/KeyedEncoder.h:
  • Shared/gtk/ProcessExecutablePathGtk.cpp:
  • UIProcess/API/gtk/WebKitBackForwardList.cpp:
  • UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
  • UIProcess/API/gtk/WebKitColorChooser.h:
  • UIProcess/API/gtk/WebKitContextMenu.cpp:
  • UIProcess/API/gtk/WebKitContextMenuItem.cpp:
  • UIProcess/API/gtk/WebKitCookieManager.cpp:
  • UIProcess/API/gtk/WebKitDownload.cpp:
  • UIProcess/API/gtk/WebKitDownloadClient.cpp:
  • UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
  • UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
  • UIProcess/API/gtk/WebKitFindController.cpp:
  • UIProcess/API/gtk/WebKitFormClient.cpp:
  • UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
  • UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
  • UIProcess/API/gtk/WebKitJavascriptResult.cpp:
  • UIProcess/API/gtk/WebKitLoaderClient.cpp:
  • UIProcess/API/gtk/WebKitMimeInfo.cpp:
  • UIProcess/API/gtk/WebKitNavigationAction.cpp:
  • UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
  • UIProcess/API/gtk/WebKitPolicyClient.cpp:
  • UIProcess/API/gtk/WebKitPrintOperation.cpp:
  • UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
  • UIProcess/API/gtk/WebKitUIClient.cpp:
  • UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
  • UIProcess/API/gtk/WebKitUserContentManager.cpp:
  • UIProcess/API/gtk/WebKitWebContext.cpp:
  • UIProcess/API/gtk/WebKitWebInspector.cpp:
  • UIProcess/API/gtk/WebKitWebResource.cpp:
  • UIProcess/API/gtk/WebKitWebView.cpp:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:
  • UIProcess/InspectorServer/WebSocketServer.h:
  • UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
  • UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp:
  • UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
  • UIProcess/Plugins/gtk/PluginInfoCache.h:
  • UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
  • UIProcess/gtk/DragAndDropHandler.cpp:
  • UIProcess/gtk/GestureController.h:
  • UIProcess/gtk/InputMethodFilter.cpp:
  • UIProcess/gtk/InputMethodFilter.h:
  • UIProcess/gtk/WebInspectorProxyGtk.cpp:
  • UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
  • UIProcess/gtk/WebPopupMenuProxyGtk.h:
  • UIProcess/gtk/WebProcessPoolGtk.cpp:
  • WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
  • WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
  • WebProcess/InjectedBundle/API/gtk/WebKitWebHitTestResult.cpp:
  • WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
  • WebProcess/WebPage/gtk/PrinterListGtk.h:
  • WebProcess/WebPage/gtk/WebPageGtk.cpp:
  • WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
  • WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
  • WebProcess/gtk/WebGtkExtensionManager.h:
  • WebProcess/soup/WebKitSoupRequestInputStream.cpp:
  • WebProcess/soup/WebProcessSoup.cpp:
  • WebProcess/soup/WebSoupRequestManager.h:

Source/WTF:

Move the GLib-specific files to the Source/WTF/wtf/glib/ directory.
'gobject' wasn't the most appropriate name for the directory since
GObject is a submodule of GLib, but a lot of the code there didn't
have much to do with GObject specifically.

Build rules for the moved files are also updated.

  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • wtf/Platform.h:
  • wtf/PlatformEfl.cmake:
  • wtf/PlatformGTK.cmake:
  • wtf/RunLoop.h:
  • wtf/WorkQueue.h:
  • wtf/glib/GLibUtilities.cpp: Renamed from Source/WTF/wtf/gobject/GlibUtilities.cpp.

(getCurrentExecutablePath):

  • wtf/glib/GLibUtilities.h: Renamed from Source/WTF/wtf/gobject/GlibUtilities.h.
  • wtf/glib/GMainLoopSource.cpp: Renamed from Source/WTF/wtf/gobject/GMainLoopSource.cpp.

(WTF::GMainLoopSource::create):
(WTF::GMainLoopSource::GMainLoopSource):
(WTF::GMainLoopSource::~GMainLoopSource):
(WTF::GMainLoopSource::isScheduled):
(WTF::GMainLoopSource::isActive):
(WTF::GMainLoopSource::cancel):
(WTF::GMainLoopSource::scheduleIdleSource):
(WTF::GMainLoopSource::schedule):
(WTF::GMainLoopSource::scheduleTimeoutSource):
(WTF::GMainLoopSource::scheduleAfterDelay):
(WTF::createMicrosecondsTimeoutSource):
(WTF::GMainLoopSource::scheduleAndDeleteOnDestroy):
(WTF::GMainLoopSource::scheduleAfterDelayAndDeleteOnDestroy):
(WTF::GMainLoopSource::prepareVoidCallback):
(WTF::GMainLoopSource::finishVoidCallback):
(WTF::GMainLoopSource::voidCallback):
(WTF::GMainLoopSource::prepareBoolCallback):
(WTF::GMainLoopSource::finishBoolCallback):
(WTF::GMainLoopSource::boolCallback):
(WTF::GMainLoopSource::socketCallback):
(WTF::GMainLoopSource::voidSourceCallback):
(WTF::GMainLoopSource::boolSourceCallback):
(WTF::GMainLoopSource::socketSourceCallback):
(WTF::GMainLoopSource::Context::destroySource):

  • wtf/glib/GMainLoopSource.h: Renamed from Source/WTF/wtf/gobject/GMainLoopSource.h.

(WTF::GMainLoopSource::Context::operator=):

  • wtf/glib/GMutexLocker.h: Renamed from Source/WTF/wtf/gobject/GMutexLocker.h.

(WTF::MutexWrapper<GMutex>::lock):
(WTF::MutexWrapper<GMutex>::unlock):
(WTF::MutexWrapper<GRecMutex>::lock):
(WTF::MutexWrapper<GRecMutex>::unlock):
(WTF::GMutexLocker::GMutexLocker):
(WTF::GMutexLocker::~GMutexLocker):
(WTF::GMutexLocker::lock):
(WTF::GMutexLocker::unlock):

  • wtf/glib/GRefPtr.cpp: Renamed from Source/WTF/wtf/gobject/GRefPtr.cpp.

(WTF::refGPtr):
(WTF::derefGPtr):

  • wtf/glib/GRefPtr.h: Renamed from Source/WTF/wtf/gobject/GRefPtr.h.

(WTF::GRefPtr::GRefPtr):
(WTF::GRefPtr::~GRefPtr):
(WTF::GRefPtr::clear):
(WTF::GRefPtr::outPtr):
(WTF::GRefPtr::isHashTableDeletedValue):
(WTF::GRefPtr::get):
(WTF::GRefPtr::operator*):
(WTF::GRefPtr::operator->):
(WTF::GRefPtr::operator!):
(WTF::GRefPtr::operator UnspecifiedBoolType):
(WTF::GRefPtr::hashTableDeletedValue):
(WTF::=):
(WTF::GRefPtr<T>::swap):
(WTF::swap):
(WTF::operator==):
(WTF::operator!=):
(WTF::static_pointer_cast):
(WTF::const_pointer_cast):
(WTF::adoptGRef):
(WTF::refGPtr):
(WTF::derefGPtr):

  • wtf/glib/GThreadSafeMainLoopSource.cpp: Renamed from Source/WTF/wtf/gobject/GThreadSafeMainLoopSource.cpp.

(WTF::GThreadSafeMainLoopSource::GThreadSafeMainLoopSource):
(WTF::GThreadSafeMainLoopSource::~GThreadSafeMainLoopSource):
(WTF::GThreadSafeMainLoopSource::cancel):
(WTF::GThreadSafeMainLoopSource::schedule):
(WTF::GThreadSafeMainLoopSource::scheduleAfterDelay):
(WTF::GThreadSafeMainLoopSource::prepareVoidCallback):
(WTF::GThreadSafeMainLoopSource::finishVoidCallback):
(WTF::GThreadSafeMainLoopSource::voidCallback):
(WTF::GThreadSafeMainLoopSource::prepareBoolCallback):
(WTF::GThreadSafeMainLoopSource::finishBoolCallback):
(WTF::GThreadSafeMainLoopSource::boolCallback):

  • wtf/glib/GThreadSafeMainLoopSource.h: Renamed from Source/WTF/wtf/gobject/GThreadSafeMainLoopSource.h.
  • wtf/glib/GTypedefs.h: Renamed from Source/WTF/wtf/gobject/GTypedefs.h.
  • wtf/glib/GUniquePtr.h: Renamed from Source/WTF/wtf/gobject/GUniquePtr.h.

(WTF::GPtrDeleter::operator()):
(WTF::GUniqueOutPtr::GUniqueOutPtr):
(WTF::GUniqueOutPtr::~GUniqueOutPtr):
(WTF::GUniqueOutPtr::outPtr):
(WTF::GUniqueOutPtr::release):
(WTF::GUniqueOutPtr::operator*):
(WTF::GUniqueOutPtr::operator->):
(WTF::GUniqueOutPtr::get):
(WTF::GUniqueOutPtr::operator!):
(WTF::GUniqueOutPtr::operator UnspecifiedBoolType):
(WTF::GUniqueOutPtr::reset):

  • wtf/glib/MainThreadGLib.cpp:
  • wtf/gobject/GMainLoopSource.cpp:

(WTF::GMainLoopSource::create): Deleted.
(WTF::GMainLoopSource::GMainLoopSource): Deleted.
(WTF::GMainLoopSource::~GMainLoopSource): Deleted.
(WTF::GMainLoopSource::isScheduled): Deleted.
(WTF::GMainLoopSource::isActive): Deleted.
(WTF::GMainLoopSource::cancel): Deleted.
(WTF::GMainLoopSource::scheduleIdleSource): Deleted.
(WTF::GMainLoopSource::schedule): Deleted.
(WTF::GMainLoopSource::scheduleTimeoutSource): Deleted.
(WTF::GMainLoopSource::scheduleAfterDelay): Deleted.
(WTF::createMicrosecondsTimeoutSource): Deleted.
(WTF::GMainLoopSource::scheduleAndDeleteOnDestroy): Deleted.
(WTF::GMainLoopSource::scheduleAfterDelayAndDeleteOnDestroy): Deleted.
(WTF::GMainLoopSource::prepareVoidCallback): Deleted.
(WTF::GMainLoopSource::finishVoidCallback): Deleted.
(WTF::GMainLoopSource::voidCallback): Deleted.
(WTF::GMainLoopSource::prepareBoolCallback): Deleted.
(WTF::GMainLoopSource::finishBoolCallback): Deleted.
(WTF::GMainLoopSource::boolCallback): Deleted.
(WTF::GMainLoopSource::socketCallback): Deleted.
(WTF::GMainLoopSource::voidSourceCallback): Deleted.
(WTF::GMainLoopSource::boolSourceCallback): Deleted.
(WTF::GMainLoopSource::socketSourceCallback): Deleted.
(WTF::GMainLoopSource::Context::destroySource): Deleted.

  • wtf/gobject/GMainLoopSource.h:

(WTF::GMainLoopSource::Context::operator=): Deleted.

  • wtf/gobject/GMutexLocker.h:

(WTF::MutexWrapper<GMutex>::lock): Deleted.
(WTF::MutexWrapper<GMutex>::unlock): Deleted.
(WTF::MutexWrapper<GRecMutex>::lock): Deleted.
(WTF::MutexWrapper<GRecMutex>::unlock): Deleted.
(WTF::GMutexLocker::GMutexLocker): Deleted.
(WTF::GMutexLocker::~GMutexLocker): Deleted.
(WTF::GMutexLocker::lock): Deleted.
(WTF::GMutexLocker::unlock): Deleted.

  • wtf/gobject/GRefPtr.cpp:

(WTF::refGPtr): Deleted.
(WTF::derefGPtr): Deleted.

  • wtf/gobject/GRefPtr.h:

(WTF::GRefPtr::GRefPtr): Deleted.
(WTF::GRefPtr::~GRefPtr): Deleted.
(WTF::GRefPtr::clear): Deleted.
(WTF::GRefPtr::outPtr): Deleted.
(WTF::GRefPtr::isHashTableDeletedValue): Deleted.
(WTF::GRefPtr::get): Deleted.
(WTF::GRefPtr::operator*): Deleted.
(WTF::GRefPtr::operator->): Deleted.
(WTF::GRefPtr::operator!): Deleted.
(WTF::GRefPtr::operator UnspecifiedBoolType): Deleted.
(WTF::GRefPtr::hashTableDeletedValue): Deleted.
(WTF::=): Deleted.
(WTF::GRefPtr<T>::swap): Deleted.
(WTF::swap): Deleted.
(WTF::operator==): Deleted.
(WTF::operator!=): Deleted.
(WTF::static_pointer_cast): Deleted.
(WTF::const_pointer_cast): Deleted.
(WTF::adoptGRef): Deleted.
(WTF::refGPtr): Deleted.
(WTF::derefGPtr): Deleted.

  • wtf/gobject/GThreadSafeMainLoopSource.cpp:

(WTF::GThreadSafeMainLoopSource::GThreadSafeMainLoopSource): Deleted.
(WTF::GThreadSafeMainLoopSource::~GThreadSafeMainLoopSource): Deleted.
(WTF::GThreadSafeMainLoopSource::cancel): Deleted.
(WTF::GThreadSafeMainLoopSource::schedule): Deleted.
(WTF::GThreadSafeMainLoopSource::scheduleAfterDelay): Deleted.
(WTF::GThreadSafeMainLoopSource::prepareVoidCallback): Deleted.
(WTF::GThreadSafeMainLoopSource::finishVoidCallback): Deleted.
(WTF::GThreadSafeMainLoopSource::voidCallback): Deleted.
(WTF::GThreadSafeMainLoopSource::prepareBoolCallback): Deleted.
(WTF::GThreadSafeMainLoopSource::finishBoolCallback): Deleted.
(WTF::GThreadSafeMainLoopSource::boolCallback): Deleted.

  • wtf/gobject/GUniquePtr.h:

(WTF::GPtrDeleter::operator()): Deleted.
(WTF::GUniqueOutPtr::GUniqueOutPtr): Deleted.
(WTF::GUniqueOutPtr::~GUniqueOutPtr): Deleted.
(WTF::GUniqueOutPtr::outPtr): Deleted.
(WTF::GUniqueOutPtr::release): Deleted.
(WTF::GUniqueOutPtr::operator*): Deleted.
(WTF::GUniqueOutPtr::operator->): Deleted.
(WTF::GUniqueOutPtr::get): Deleted.
(WTF::GUniqueOutPtr::operator!): Deleted.
(WTF::GUniqueOutPtr::operator UnspecifiedBoolType): Deleted.
(WTF::GUniqueOutPtr::reset): Deleted.

  • wtf/gobject/GlibUtilities.cpp:

(getCurrentExecutablePath): Deleted.

Tools:

Update header inclusions for headers that have been moved
to Source/WTF/wtf/glib/.

Also move the unit tests under TestWebKitAPI/Tests/WTF/gobject/
to TestWebKitAPI/Tests/WTF/glib/ and update the build rules.

  • TestWebKitAPI/PlatformGTK.cmake:
  • TestWebKitAPI/Tests/WTF/glib/GMainLoopSource.cpp: Renamed from Tools/TestWebKitAPI/Tests/WTF/gobject/GMainLoopSource.cpp.

(TestWebKitAPI::GMainLoopSourceTest::GMainLoopSourceTest):
(TestWebKitAPI::GMainLoopSourceTest::~GMainLoopSourceTest):
(TestWebKitAPI::GMainLoopSourceTest::runLoop):
(TestWebKitAPI::GMainLoopSourceTest::delayedFinish):
(TestWebKitAPI::GMainLoopSourceTest::finish):
(TestWebKitAPI::GMainLoopSourceTest::source):
(TestWebKitAPI::basicRescheduling):
(TestWebKitAPI::TEST):
(TestWebKitAPI::reentrantRescheduling):
(TestWebKitAPI::cancelRepeatingSourceDuringDispatch):
(TestWebKitAPI::basicDestroyCallbacks):
(TestWebKitAPI::destroyCallbacksAfterCancellingDuringDispatch):
(TestWebKitAPI::destroyCallbacksAfterReschedulingDuringDispatch):

  • TestWebKitAPI/Tests/WTF/glib/GUniquePtr.cpp: Renamed from Tools/TestWebKitAPI/Tests/WTF/gobject/GUniquePtr.cpp.

(log):
(takeLogStr):
(TestWebKitAPI::TEST):
(TestWebKitAPI::returnOutChar):

  • TestWebKitAPI/Tests/WTF/glib/WorkQueueGLib.cpp:
  • TestWebKitAPI/Tests/WTF/gobject/GMainLoopSource.cpp:

(TestWebKitAPI::GMainLoopSourceTest::GMainLoopSourceTest): Deleted.
(TestWebKitAPI::GMainLoopSourceTest::~GMainLoopSourceTest): Deleted.
(TestWebKitAPI::GMainLoopSourceTest::runLoop): Deleted.
(TestWebKitAPI::GMainLoopSourceTest::delayedFinish): Deleted.
(TestWebKitAPI::GMainLoopSourceTest::finish): Deleted.
(TestWebKitAPI::GMainLoopSourceTest::source): Deleted.
(TestWebKitAPI::basicRescheduling): Deleted.
(TestWebKitAPI::TEST): Deleted.
(TestWebKitAPI::reentrantRescheduling): Deleted.
(TestWebKitAPI::cancelRepeatingSourceDuringDispatch): Deleted.
(TestWebKitAPI::basicDestroyCallbacks): Deleted.
(TestWebKitAPI::destroyCallbacksAfterCancellingDuringDispatch): Deleted.
(TestWebKitAPI::destroyCallbacksAfterReschedulingDuringDispatch): Deleted.

  • TestWebKitAPI/Tests/WTF/gobject/GUniquePtr.cpp:

(log): Deleted.
(takeLogStr): Deleted.
(TestWebKitAPI::TEST): Deleted.
(TestWebKitAPI::returnOutChar): Deleted.

  • TestWebKitAPI/Tests/WebKit2/gtk/InputMethodFilter.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeFilterTest.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/DOMXPathNSResolverTest.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestAuthentication.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestInspector.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitAccessibility.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitFaviconDatabase.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitFindController.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitPolicyClient.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitSettings.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitUserContentManager.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebViewEditor.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp:
  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.h:
  • TestWebKitAPI/gtk/PlatformUtilitiesGtk.cpp:
  • TestWebKitAPI/gtk/PlatformWebViewGtk.cpp:
  • TestWebKitAPI/gtk/WebKit2Gtk/TestMain.h:
  • TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestBus.cpp:
  • TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestBus.h:
  • TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestServer.cpp:
  • TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestServer.h:
  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.h:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
  • WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
  • WebKitTestRunner/InjectedBundle/gtk/InjectedBundleUtilities.cpp:
  • WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
  • WebKitTestRunner/PlatformGTK.cmake:
  • WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
  • WebKitTestRunner/gtk/TestControllerGtk.cpp:
6:17 AM Changeset in webkit [185501] by yoav@yoav.ws
  • 2 edits in trunk/Source/WebCore

Fix the build when the PICTURE_SIZES flag is off
https://bugs.webkit.org/show_bug.cgi?id=145926

Reviewed by Csaba Osztrogonác.

No new tests since there's no functionality change.

  • html/parser/HTMLPreloadScanner.cpp: Remove the guard around the definition of m_sizesAttribute.
5:58 AM Changeset in webkit [185500] by Antti Koivisto
  • 6 edits in trunk/Source/WebKit2

Network Cache: Use SHA1 for key hash
https://bugs.webkit.org/show_bug.cgi?id=143829

Reviewed by Anders Carlsson.

For consistency with blobs, use SHA1 instead of MD5.

  • NetworkProcess/cache/NetworkCacheCoders.cpp:

(WebKit::NetworkCache::Coder<MD5::Digest>::encode): Deleted.
(WebKit::NetworkCache::Coder<MD5::Digest>::decode): Deleted.

No longer needed.

  • NetworkProcess/cache/NetworkCacheCoders.h:
  • NetworkProcess/cache/NetworkCacheKey.cpp:

(WebKit::NetworkCache::hashString):
(WebKit::NetworkCache::Key::computeHash):

  • NetworkProcess/cache/NetworkCacheKey.h:
5:54 AM Changeset in webkit [185499] by Manuel Rego Casasnovas
  • 5 edits in trunk

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

Causes crashes on debug (Requested by rego on #webkit).

Reverted changeset:

"[CSS Grid Layout] Fix grid-template-areas parsing to avoid
spaces"
https://bugs.webkit.org/show_bug.cgi?id=145860
http://trac.webkit.org/changeset/185492

Patch by Commit Queue <commit-queue@webkit.org> on 2015-06-12

5:47 AM Changeset in webkit [185498] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

Fix mismatched-tags warning in Source/WebKit2/UIProcess/gtk/InputMethodFilter.h
https://bugs.webkit.org/show_bug.cgi?id=145923

Reviewed by Carlos Garcia Campos.

  • UIProcess/gtk/InputMethodFilter.h:
3:46 AM Changeset in webkit [185497] by Antti Koivisto
  • 5 edits in trunk/Source/WebKit2

Use SHA1 for cache coder checksums
https://bugs.webkit.org/show_bug.cgi?id=145880

Reviewed by Anders Carlsson.

Make cache data error detection more robust by using SHA1 for checksums.

  • NetworkProcess/cache/NetworkCacheDecoder.cpp:

(WebKit::NetworkCache::Decoder::Decoder):
(WebKit::NetworkCache::Decoder::decodeFixedLengthData):
(WebKit::NetworkCache::Decoder::decodeNumber):
(WebKit::NetworkCache::Decoder::verifyChecksum):

  • NetworkProcess/cache/NetworkCacheDecoder.h:
  • NetworkProcess/cache/NetworkCacheEncoder.cpp:

(WebKit::NetworkCache::Encoder::Encoder):
(WebKit::NetworkCache::Encoder::grow):
(WebKit::NetworkCache::Encoder::updateChecksumForData):
(WebKit::NetworkCache::Encoder::encodeFixedLengthData):
(WebKit::NetworkCache::Encoder::encodeNumber):
(WebKit::NetworkCache::Encoder::encodeChecksum):

  • NetworkProcess/cache/NetworkCacheEncoder.h:

(WebKit::NetworkCache::Encoder::buffer):
(WebKit::NetworkCache::Encoder::bufferSize):
(WebKit::NetworkCache::Encoder::updateChecksumForNumber):

3:34 AM Changeset in webkit [185496] by Csaba Osztrogonác
  • 14 edits in trunk

[EFL] Fix deprecated declarations warnings related to WK2 versioned structs
https://bugs.webkit.org/show_bug.cgi?id=145913

Reviewed by Gyuyoung Kim.

Source/WebKit2:

  • UIProcess/API/efl/ewk_favicon_database.cpp:

(EwkFaviconDatabase::EwkFaviconDatabase):

  • UIProcess/efl/ContextHistoryClientEfl.cpp:

(WebKit::ContextHistoryClientEfl::ContextHistoryClientEfl):

  • UIProcess/efl/ContextMenuClientEfl.cpp:

(ContextMenuClientEfl::ContextMenuClientEfl):

  • UIProcess/efl/DownloadManagerEfl.cpp:

(WebKit::DownloadManagerEfl::DownloadManagerEfl):

  • UIProcess/efl/FindClientEfl.cpp:

(WebKit::FindClientEfl::FindClientEfl):

  • UIProcess/efl/FormClientEfl.cpp:

(WebKit::FormClientEfl::FormClientEfl):

  • UIProcess/efl/PageUIClientEfl.cpp:

(WebKit::PageUIClientEfl::PageUIClientEfl):

Tools:

  • TestWebKitAPI/Tests/WebKit2/Geolocation.cpp:

(TestWebKitAPI::setupGeolocationProvider):

  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames.cpp:

(TestWebKitAPI::setPageLoaderClient):

  • TestWebKitAPI/Tests/WebKit2/UserMessage.cpp:

(TestWebKitAPI::WebKit2UserMessageRoundTripTest::setPageLoaderClient):

  • WebKitTestRunner/GeolocationProviderMock.cpp:

(WTR::GeolocationProviderMock::GeolocationProviderMock):

  • WebKitTestRunner/WebNotificationProvider.cpp:

(WTR::WebNotificationProvider::provider):

3:30 AM Changeset in webkit [185495] by Gyuyoung Kim
  • 2 edits in trunk

[EFL] Bump EWebKit version from 1.11.0 to 1.14.0
https://bugs.webkit.org/show_bug.cgi?id=145909

Reviewed by Csaba Osztrogonác.

Bump EWebKit version based on efl library version used by the EWebKit.

  • Source/cmake/OptionsEfl.cmake:
3:03 AM Changeset in webkit [185494] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

Fix the libusrsctp build with clang
https://bugs.webkit.org/show_bug.cgi?id=145128

Reviewed by Gyuyoung Kim.

  • efl/jhbuild.modules:
  • gtk/jhbuild.modules:
2:25 AM Changeset in webkit [185493] by youenn.fablet@crf.canon.fr
  • 10 edits in trunk/Source/WebCore

Bindings generator should generate code for Promise-based APIs
https://bugs.webkit.org/show_bug.cgi?id=145833

Reviewed by Darin Adler.

Covered by existing tests.

  • Modules/webaudio/AudioContext.idl: Removing custom binding for resume, suspend and close.
  • bindings/js/JSAudioContextCustom.cpp: Ditto.
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader): Refactoring to use IsReturningPromise.
(GenerateImplementation): Disabling include for return type if it is a promise.
(GenerateParametersCheck): Adding DeferredWrapper() as argument to the DOM method if JS method returns a promise.
(GenerateImplementationFunctionCall): Added support for promise-returning API.
(IsReturningPromise): Checking whether function is returning a promise.

  • bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:

(webkit_dom_test_obj_test_promise_function):

  • bindings/scripts/test/GObject/WebKitDOMTestObj.h:
  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::jsTestObjPrototypeFunctionTestPromiseFunction):

  • bindings/scripts/test/ObjC/DOMTestObj.h:
  • bindings/scripts/test/ObjC/DOMTestObj.mm:

(-[DOMTestObj testPromiseFunction]):

  • bindings/scripts/test/TestObj.idl: Adding promise returning function.
1:19 AM Changeset in webkit [185492] by Manuel Rego Casasnovas
  • 5 edits in trunk

[CSS Grid Layout] Fix grid-template-areas parsing to avoid spaces
https://bugs.webkit.org/show_bug.cgi?id=145860

Reviewed by Sergio Villar Senin.

Source/WebCore:

The spec doesn't require to have spaces between unnamed and named areas
in grid-template-areas syntax. But spaces are currently required in our
code.

This was confirmed in the CSS WG mailing list:
https://lists.w3.org/Archives/Public/www-style/2015May/0239.html

This patch updates grid-template-areas parsing to allow the possibility
of removing spaces between unnamed and named areas.

Added new cases to fast/css-grid-layout/grid-template-areas-get-set.html.

  • css/CSSParser.cpp:

(WebCore::parseGridTemplateAreasColumnNames): New helper method to
determine the column names split by white spaces or dots.
(WebCore::CSSParser::parseGridTemplateAreasRow): Use the new helper
method to get the column names.
(WebCore::containsOnlyDots): Deleted. Not needed anymore as
parseGridTemplateAreasColumnNames() is using a single dot for unnamed
grid areas (despite of being defined with 1 or more dots).

LayoutTests:

  • fast/css-grid-layout/grid-template-areas-get-set-expected.txt:
  • fast/css-grid-layout/grid-template-areas-get-set.html: Add new test

cases.

12:37 AM Changeset in webkit [185491] by bshafiei@apple.com
  • 10 edits in tags/Safari-601.1.35/Source

Merge custom patch. rdar://problem/21129111

12:29 AM Changeset in webkit [185490] by bshafiei@apple.com
  • 10 edits in tags/Safari-601.1.35/Source

Merge custom patch. rdar://problem/21129111

12:05 AM Changeset in webkit [185489] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.35

New tag.

12:00 AM Changeset in webkit [185488] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

Jun 11, 2015:

10:39 PM Changeset in webkit [185487] by mark.lam@apple.com
  • 18 edits in trunk

WebCore::reportException() needs to be able to accept a raw thrown value in addition to Exception objects.
https://bugs.webkit.org/show_bug.cgi?id=145872

Reviewed by Michael Saboff.

Source/JavaScriptCore:

In r185259, we changed exception handling code inside the VM to work with
Exception objects instead of the thrown JSValue. The handling code will get the
exception stack trace from the Exception object.

However, there is some code that cannot be updated to pass the Exception object.
An example of this are the ObjC API functions. Those functions are specified to
return any thrown exception JSValue in a JSValueRef. Since these APIs are
public, we cannot arbitrarily change them to use the Exception object.

There are client code that calls these APIs and then passes the returned exception
JSValue to WebCore::reportException() to be reported. WebCore::reportException()
previously relied on the VM::exceptionStackTrace() to provide a cache of the
stack trace of the last thrown exception. VM::exceptionStackTrace() no longer
exists in the current code.

To restore this functionality, we will introduce VM::lastException() which
caches the last thrown Exception object. With this, if the exception passed to
WebCore::reportException() to be reported isn't an Exception object (which has its
own stack trace), reportException() can again use the cached exception stack trace
which is available from VM::lastException().

  • heap/Heap.cpp:

(JSC::Heap::visitException):

  • visit VM::m_lastException on GCs.
  • interpreter/CallFrame.h:

(JSC::ExecState::lastException):
(JSC::ExecState::clearLastException):

  • convenience functions to get and clear the last exception.
  • runtime/Exception.cpp:

(JSC::Exception::create):
(JSC::Exception::finishCreation):

  • add support to create an Exception object without capturing the JS stack trace. This is needed for making an Exception object to wrap a thrown value that does not have a stack trace. Currently, this is only used by WebCore::reportException() when there is no Exception object and no last exception available to provide a stack trace.
  • runtime/Exception.h:

(JSC::Exception::cast): Deleted. No longer needed.

  • runtime/VM.h:

(JSC::VM::clearLastException):
(JSC::VM::setException):
(JSC::VM::lastException):
(JSC::VM::addressOfLastException):

  • Added support for VM::m_lastException. VM::m_lastException serves to cache the exception stack of the most recently thrown exception like VM::exceptionStackTrace() used to before r185259.
  • runtime/VMEntryScope.cpp:

(JSC::VMEntryScope::VMEntryScope):

  • Clear VM::m_lastException when we re-enter the VM. Exceptions should have been handled before we re-enter the VM anyway. So, this is a good place to release the cached last exception.

NOTE: this is also where the old code before r185259 clears the last exception
stack trace. So, we're just restoring the previous behavior here in terms of
the lifecycle of the last exception stack.

Source/WebCore:

API test added: WebKit1.ReportExceptionTest.

  • bindings/js/JSDOMBinding.cpp:

(WebCore::reportException):

  • Added a version of reportException() that takes a JSValue instead of an Exception object. This version will ensure that we have an Exception object before calling into the original reportException() as follows:
  1. If the JSValue is already an Exception object, we're good to go.
  1. Else, if VM::lastException() is available, use that as the exception. This is how the old code use to behave (in terms of where it gets the exception stack trace). The assumption is that reportException() will be called in a timely manner before the exception stack trace has been purged.
  1. Else, create an Exception object with no stack trace. This is the fall back in case the client did not call reportException() in a timely manner.
  • Also clear the last exception after we've reported it. This is how the old code before r185259 behave (in terms of the lifecycle of the last exception stack trace). We're restoring that behavior here.
  • bindings/js/JSDOMBinding.h:

Source/WebKit/mac:

  • WebView/WebView.mm:

(+[WebView _reportException:inContext:]):

  • Don't assume we have an Exception object. Let WebCore::reportException() take care of it.

Source/WebKit/win:

  • WebView.cpp:

(WebView::reportException):

  • Don't assume we have an Exception object. Let WebCore::reportException() take care of it.

Source/WebKit2:

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::reportException):

  • Don't assume we have an Exception object. Let WebCore::reportException() take care of it.

Tools:

  • TestWebKitAPI/Tests/mac/WebViewDidCreateJavaScriptContext.mm:

(-[DidCreateJavaScriptContextFrameLoadDelegate webView:didCreateJavaScriptContext:forFrame:]):

  • Exercises the JSC ObjC API to call a function which throws an exception. That exception will be returned as a JSValue instead of an Exception object. We will use this JSValue to test WebCore::reportException() to confirm that it is able to handle an exception value which is not an Exception object.
9:09 PM Changeset in webkit [185486] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

jsSubstring() should support creating substrings from substrings.
<https://webkit.org/b/145427>

Reviewed by Geoffrey Garen

Tweak jsSubstring() to support base strings that are themselves substrings.
They will now share the same grandparent base. This avoids creating a new StringImpl.

  • runtime/JSString.h:

(JSC::jsSubstring): Don't force rope resolution here. Instead do that in finishCreation()
if the base string is a non-substring rope. Note that resolveRope() is the very last thing
called, since it may allocate and the JSRopeString needs to be ready for marking.

(JSC::JSString::isSubstring): Added a helper to find out if a JSString is
a substring. This is just for internal use, so you don't have to cast to
JSRopeString for the real substringness flag.

7:59 PM Changeset in webkit [185485] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: CSS Regions not displaying DOM Trees in inspector
https://bugs.webkit.org/show_bug.cgi?id=145903

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

  • UserInterface/Controllers/DOMTreeManager.js:

(WebInspector.DOMTreeManager.prototype._updateContentFlowFromPayload):
Fix function inside the assertion to actually return a value.

  • UserInterface/Views/DOMTreeOutline.js:

(WebInspector.DOMTreeOutline.prototype.update):
For DOMTreeOutlines without a root node, don't clear the tree on updates,
since that will clear the nodes that have already been added explicitly.

  • UserInterface/Views/ResourceSidebarPanel.js:

(WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):

  • UserInterface/Views/ResourcesTabContentView.js:

(WebInspector.ResourcesTabContentView.prototype.canShowRepresentedObject):
ResourceTab and sidebar can deal with ContentFlow related views.

7:49 PM Changeset in webkit [185484] by Alan Bujtas
  • 10 edits in trunk

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

Reviewed by Andreas Kling.

Source/WebCore:

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

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

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

(see RenderWidget::willBeDestroyed() -> setWidget(nullptr))

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

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

  • page/FrameView.cpp:

(WebCore::FrameView::setFrameRect):
(WebCore::FrameView::updateEmbeddedObject):
(WebCore::FrameView::updateWidgetPositions):

  • platform/ScrollView.cpp:

(WebCore::ScrollView::setFrameRect):

  • platform/mac/WidgetMac.mm:

(WebCore::Widget::setFrameRect):

  • rendering/RenderFrameBase.cpp:

(WebCore::RenderFrameBase::layoutWithFlattening):
(WebCore::RenderFrameBase::childRenderView):
(WebCore::RenderFrameBase::peformLayoutWithFlattening):

  • rendering/RenderFrameBase.h:
  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::updateWidgetPosition):

  • rendering/RenderWidget.h:

LayoutTests:

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

7:16 PM Changeset in webkit [185483] by commit-queue@webkit.org
  • 5 edits in trunk/Tools

Move cursor to corner and fix safari window size before running benchmark
https://bugs.webkit.org/show_bug.cgi?id=145858

Patch by Dewei Zhu <Dewei Zhu> on 2015-06-11
Reviewed by Ryosuke Niwa

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

(OSXBrowserDriver.prepareEnv):
(OSXBrowserDriver):
(OSXBrowserDriver.moveCursor):
(OSXBrowserDriver.getScreenSize):

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

(OSXChromeDriver.launchUrl):
(OSXChromeCanaryDriver.launchUrl):

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

(OSXFirefoxDriver.launchUrl):
(OSXFirefoxNightlyDriver.launchUrl):

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

(OSXSafariDriver.prepareEnv):
(OSXSafariDriver):
(OSXSafariDriver.maximizeWindow):

6:46 PM Changeset in webkit [185482] by clopez@igalia.com
  • 2 edits in trunk/Source/WebKit2

[CMake] Unreviewed build fix after r185479.

  • CMakeLists.txt: Unlist the files that r185479 deleted.
5:21 PM Changeset in webkit [185481] by commit-queue@webkit.org
  • 10 edits
    2 deletes in trunk

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

Caused ASan violations (Requested by ap on #webkit).

Reverted changeset:

"Add an appearance keyword for wireless playback / airplay
icon"
https://bugs.webkit.org/show_bug.cgi?id=145892
http://trac.webkit.org/changeset/185470

5:17 PM Changeset in webkit [185480] by beidson@apple.com
  • 13 edits
    2 adds in trunk

IndexedDB onupgradeneeded event has incorrect value for oldVersion.
<rdar://problem/18309792> and https://bugs.webkit.org/show_bug.cgi?id=136888

Reviewed by Sam Weinig.

Source/WebCore:

Test: storage/indexeddb/version-change-event-basic.html

"NoIntVersion" is an internal bookkeeping concept that we never should've been passing to Javascript.

This cleans up things by:

  • Adjusting an old version of "NoIntVersion" to "0" before making the version change callback.
  • Removing the VersionNullness parameter from almost everywhere.
  • Removing the nullability of the newVersion parameter from the IDL.
  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::onVersionChange):

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

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

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

(WebCore::IDBDatabaseCallbacksImpl::onVersionChange):

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

(WebCore::IDBOpenDBRequest::onBlocked):
(WebCore::IDBOpenDBRequest::onUpgradeNeeded):

  • Modules/indexeddb/IDBTransactionBackendOperations.cpp:

(WebCore::IDBDatabaseBackend::VersionChangeOperation::perform):

  • Modules/indexeddb/IDBVersionChangeEvent.cpp:

(WebCore::IDBVersionChangeEvent::IDBVersionChangeEvent):

  • Modules/indexeddb/IDBVersionChangeEvent.h:

(WebCore::IDBVersionChangeEvent::create):
(WebCore::IDBVersionChangeEvent::newVersion):

  • Modules/indexeddb/IDBVersionChangeEvent.idl:

LayoutTests:

  • storage/indexeddb/version-change-event-basic-expected.txt: Added.
  • storage/indexeddb/version-change-event-basic.html: Added.
5:13 PM Changeset in webkit [185479] by andersca@apple.com
  • 14 edits
    4 deletes in trunk/Source/WebKit2

Get rid of WebOriginDataManager
https://bugs.webkit.org/show_bug.cgi?id=145896

Reviewed by Andreas Kling.

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::DatabaseProcess): Deleted.
(WebKit::DatabaseProcess::getOrigins): Deleted.
(WebKit::DatabaseProcess::deleteEntriesForOrigin): Deleted.
(WebKit::DatabaseProcess::deleteEntriesModifiedBetweenDates): Deleted.
(WebKit::DatabaseProcess::deleteAllEntries): Deleted.

  • DatabaseProcess/DatabaseProcess.h:
  • DerivedSources.make:
  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKContext.cpp:
  • UIProcess/Databases/DatabaseProcessProxy.cpp:

(WebKit::DatabaseProcessProxy::didReceiveMessage): Deleted.

  • UIProcess/WebOriginDataManagerProxy.cpp: Removed.

(WebKit::WebOriginDataManagerProxy::supplementName): Deleted.
(WebKit::WebOriginDataManagerProxy::create): Deleted.
(WebKit::WebOriginDataManagerProxy::WebOriginDataManagerProxy): Deleted.
(WebKit::WebOriginDataManagerProxy::~WebOriginDataManagerProxy): Deleted.
(WebKit::WebOriginDataManagerProxy::processPoolDestroyed): Deleted.
(WebKit::WebOriginDataManagerProxy::processDidClose): Deleted.
(WebKit::WebOriginDataManagerProxy::shouldTerminate): Deleted.
(WebKit::WebOriginDataManagerProxy::refWebContextSupplement): Deleted.
(WebKit::WebOriginDataManagerProxy::derefWebContextSupplement): Deleted.
(WebKit::CallbackSynchronizer::create): Deleted.
(WebKit::CallbackSynchronizer::~CallbackSynchronizer): Deleted.
(WebKit::CallbackSynchronizer::taskStarted): Deleted.
(WebKit::CallbackSynchronizer::taskCompleted): Deleted.
(WebKit::CallbackSynchronizer::CallbackSynchronizer): Deleted.
(WebKit::createSynchronizedCallback): Deleted.
(WebKit::sendMessageToAllProcessesInProcessPool): Deleted.
(WebKit::WebOriginDataManagerProxy::getOrigins): Deleted.
(WebKit::WebOriginDataManagerProxy::didGetOrigins): Deleted.
(WebKit::WebOriginDataManagerProxy::deleteEntriesForOrigin): Deleted.
(WebKit::WebOriginDataManagerProxy::deleteEntriesModifiedBetweenDates): Deleted.
(WebKit::WebOriginDataManagerProxy::didDeleteEntries): Deleted.
(WebKit::WebOriginDataManagerProxy::deleteAllEntries): Deleted.
(WebKit::WebOriginDataManagerProxy::didDeleteAllEntries): Deleted.

  • UIProcess/WebOriginDataManagerProxy.h: Removed.
  • UIProcess/WebOriginDataManagerProxy.messages.in: Removed.
  • UIProcess/WebProcessPool.cpp:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/OriginData/WebOriginDataManager.cpp: Removed.

(WebKit::WebOriginDataManager::WebOriginDataManager): Deleted.
(WebKit::WebOriginDataManager::getOrigins): Deleted.
(WebKit::WebOriginDataManager::deleteEntriesForOrigin): Deleted.
(WebKit::WebOriginDataManager::deleteEntriesModifiedBetweenDates): Deleted.
(WebKit::WebOriginDataManager::deleteAllEntries): Deleted.

  • WebProcess/OriginData/WebOriginDataManager.h: Removed.
  • WebProcess/OriginData/WebOriginDataManager.messages.in: Removed.
  • WebProcess/OriginData/WebOriginDataManagerSupplement.h: Removed.

(WebKit::WebOriginDataManagerSupplement::WebOriginDataManagerSupplement): Deleted.
(WebKit::WebOriginDataManagerSupplement::~WebOriginDataManagerSupplement): Deleted.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:
  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::~WebProcess):
(WebKit::WebProcess::WebProcess): Deleted.
(WebKit::WebProcess::getOrigins): Deleted.
(WebKit::WebProcess::deleteEntriesForOrigin): Deleted.
(WebKit::WebProcess::deleteEntriesModifiedBetweenDates): Deleted.
(WebKit::WebProcess::deleteAllEntries): Deleted.

  • WebProcess/WebProcess.h:
  • WebProcess/cocoa/WebProcessCocoa.mm:
3:30 PM Changeset in webkit [185478] by dbates@webkit.org
  • 4 edits
    1 add in trunk/Tools

[iOS] Cannot run run-webkit-tests with public SDK; LayoutTestRelay fails to build
https://bugs.webkit.org/show_bug.cgi?id=145319

Reviewed by David Kilzer.

Add SPI wrapper header for CoreSimulator and update the source files to reference
it instead of directly referencing the CoreSimulator header.

  • LayoutTestRelay/LayoutTestRelay.xcodeproj/project.pbxproj:
  • LayoutTestRelay/LayoutTestRelay/CoreSimulatorSPI.h: Added.
  • LayoutTestRelay/LayoutTestRelay/LTRelayController.m:
  • LayoutTestRelay/LayoutTestRelay/main.m:
2:49 PM Changeset in webkit [185477] by commit-queue@webkit.org
  • 12 edits
    1 add in trunk/Source

Media Session: Add plumbing for media control event delivery.
https://bugs.webkit.org/show_bug.cgi?id=145859

Patch by Matt Rajca <mrajca@apple.com> on 2015-06-11
Reviewed by Anders Carlsson.

Source/WebCore:

  • Modules/mediasession/MediaEventTypes.h: Added.
  • WebCore.xcodeproj/project.pbxproj:
  • page/Page.cpp:

(WebCore::Page::handleMediaEvent): Toggle media playback upon receiving the PlayPause event as described in the spec.

  • page/Page.h:

Source/WebKit2:

  • UIProcess/API/C/WKPage.cpp:

(WKPageHandleMediaEvent):

  • UIProcess/API/C/WKPagePrivate.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::handleMediaEvent):

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::handleMediaEvent):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
2:40 PM Changeset in webkit [185476] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: IndexedDB data not showing for MDN example page
https://bugs.webkit.org/show_bug.cgi?id=145851

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-06-11
Reviewed by Anders Carlsson.

  • UserInterface/Views/StorageSidebarPanel.js:

(WebInspector.StorageSidebarPanel.prototype._indexedDatabaseWasAdded):
Fix typo in Storage tab refactoring that was causing an
uncaught exception and not showing Indexed DBs.

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

[OS X] Decoding fonts may return nil when using force click
https://bugs.webkit.org/show_bug.cgi?id=145890

Reviewed by Beth Dakin.

[NSFontDescriptor fontDescriptorWithFontAttributes] might return nil, which
causes the encoding of an NSFont to erroneously return true.

  • Shared/mac/ArgumentCodersMac.mm:

(IPC::decode):

2:11 PM Changeset in webkit [185474] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Reimplement WKOriginDataManager in terms of API::WebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=145889

Reviewed by Dan Bernstein.

  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKContext.cpp:

(WKContextGetOriginDataManager):

  • UIProcess/API/C/WKOriginDataManager.cpp:

(WKOriginDataManagerGetTypeID):
(WKOriginDataManagerGetOrigins):
(WKOriginDataManagerDeleteEntriesForOrigin):
(WKOriginDataManagerDeleteEntriesModifiedBetweenDates):
(WKOriginDataManagerDeleteAllEntries):

2:06 PM Changeset in webkit [185473] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit2

Full screen video space can be resized to 1pt wide
https://bugs.webkit.org/show_bug.cgi?id=145895
<rdar://problem/20907914>

Reviewed by Simon Fraser.

Prior to the upcoming OS X, full screen mode was not resizable. Now that it is,
we need to set a minimum window width that is large enough to hold the media
controls. This makes our full-screen video behave the same as the QuickTimeX player.

  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Active that new
kWKLayoutModeDynamicSizeWithMinimumViewSize style, and set the minimum view size to
be the width of our media controls, with 20 pixels of padding on either side.
(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Set the layout
mode back to the default style.

1:53 PM Changeset in webkit [185472] by jonlee@apple.com
  • 18 edits in trunk/Source

Update media controls JS and CSS to use picture-in-picture
https://bugs.webkit.org/show_bug.cgi?id=145827
<rdar://problem/21311576>

Reviewed by Dean Jackson.

Source/WebCore:

  • English.lproj/mediaControlsLocalizedStrings.js: Update localized strings.

Add a string for the placeholder text, and for the aria-label of the
placard.

  • Modules/mediacontrols/MediaControlsHost.idl: Remove uncalled functions.
  • Modules/mediacontrols/MediaControlsHost.h: Also remove optimizedFullscreenSupported(),

which was never used.

  • Modules/mediacontrols/MediaControlsHost.cpp: Remove uncalled functions and media part IDs.

(WebCore::MediaControlsHost::enterFullscreenOptimized): Deleted.
(WebCore::MediaControlsHost::mediaUIImageData): Deleted.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-picture-in-picture-button): Update pseudo-element name.
(audio::-webkit-media-controls-optimized-fullscreen-button): Deleted.

  • Modules/mediacontrols/mediaControlsApple.js: Update global variable name, and classes.

(Controller.prototype.createControls): Update button name. Add aria-label to the placeholder.
(Controller.prototype.updateFullscreenButtons):
(Controller.prototype.updateLayoutForDisplayedWidth):
(Controller.prototype.handlePictureInPictureButtonClicked): Update handler names.
(Controller.prototype.handleOptimizedFullscreenButtonClicked): Deleted.

  • Modules/mediacontrols/mediaControlsiOS.css: Rename pseudo-element.

(audio::-webkit-media-controls-picture-in-picture-button): Add mask images.
(audio::-webkit-media-controls-picture-in-picture-button:active):
(video::-webkit-media-controls-picture-in-picture-button):
(video::-webkit-media-controls-picture-in-picture-button.return-from-picture-in-picture):
(audio::-webkit-media-controls-wireless-playback-status.picture-in-picture):
(audio::-webkit-media-controls-wireless-playback-text-top.picture-in-picture):
(audio::-webkit-media-controls-wireless-playback-text-bottom.picture-in-picture):
(audio::-webkit-media-controls-optimized-fullscreen-button): Deleted.
(audio::-webkit-media-controls-optimized-fullscreen-button:active): Deleted.
(video::-webkit-media-controls-optimized-fullscreen-button): Deleted.
(audio::-webkit-media-controls-wireless-playback-status.optimized): Deleted. The placard
pseudo-element should be updated from wireless-playback-status to just playback-status
since it serves both for pip and AirPlay.
(audio::-webkit-media-controls-wireless-playback-text-top.optimized): Deleted.
(audio::-webkit-media-controls-wireless-playback-text-bottom.optimized): Deleted.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.createControls): Update button names.
(ControllerIOS.prototype.configureInlineControls):
(ControllerIOS.prototype.handlePictureInPictureButtonClicked): Update handler name.
(ControllerIOS.prototype.handlePictureInPictureTouchStart):
(ControllerIOS.prototype.handlePictureInPictureTouchEnd):
(ControllerIOS.prototype.handlePictureInPictureTouchCancel):
(ControllerIOS.prototype.handlePresentationModeChange): Remove changes to the inline bg
image style, and rely on the CSS to fill those in. Use localized strings for the placard.
Move the aria-label to createControls().
(ControllerIOS.prototype.handleOptimizedFullscreenButtonClicked): Deleted.
(ControllerIOS.prototype.handleOptimizedFullscreenTouchStart): Deleted.
(ControllerIOS.prototype.handleOptimizedFullscreenTouchEnd): Deleted.
(ControllerIOS.prototype.handleOptimizedFullscreenTouchCancel): Deleted.

  • html/HTMLMediaElement.cpp: Remove enterFullscreenOptimized since it is never called.

(WebCore::HTMLMediaElement::enterFullscreenOptimized): Deleted.

  • html/HTMLMediaElement.h:
  • platform/ios/WebCoreSystemInterfaceIOS.h: Remove wkGetMediaUIImageData.
  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::mediaControlsStyleSheet): Remove calls to wkGetMediaUIImageData.

Source/WebKit/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Deleted GetMediaUIImageData.

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Deleted GetMediaUIImageData.

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

Web Inspector: font-family names interpreted as color
https://bugs.webkit.org/show_bug.cgi?id=123468

Patch by Devin Rousso <Devin Rousso> on 2015-06-11
Reviewed by Timothy Hatcher.

  • UserInterface/Views/CodeMirrorAdditions.js: Added logic to prevent color picker buttons from appearing before colors that come after a quote character (both " and ').
1:50 PM Changeset in webkit [185470] by dino@apple.com
  • 10 edits
    2 adds in trunk

Add an appearance keyword for wireless playback / airplay icon
https://bugs.webkit.org/show_bug.cgi?id=145892
<rdar://problem/21344872>

Reviewed by Simon Fraser.

Source/WebCore:

Add a new "-webkit-appearance" value named "-apple-airplay"
which will be used to render an icon. This change simply
adds support for the value, and puts in hooks for drawing.

At the moment this is only going to be used by Airplay, so
the public-facing name is "-apple-airplay". However, the
implementation in Theme has a more generic name, in case
we hook it up for other ports later.

Test: fast/css/appearance-airplay.html

  • css/CSSParser.cpp:

(WebCore::cssValueKeywordID): This new keyword should not get
translated into having a -webkit prefix.

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): New mapping from
the Theme to the CSS value.

  • css/CSSValueKeywords.in: Add "-apple-airplay".
  • platform/ThemeTypes.h: New ControlPart.
  • rendering/RenderTheme.cpp: Stub implementation of the rendering and

style update for the new appearance.
(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::adjustWirelessPlaybackIconStyle):
(WebCore::RenderTheme::paintWirelessPlaybackIcon):

  • rendering/RenderTheme.h:
  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::adjustWirelessPlaybackIconStyle):
(WebCore::RenderThemeMac::paintWirelessPlaybackIcon):

LayoutTests:

Simple test that makes sure we parse and evaluate
the new appearance value.

  • fast/css/appearance-airplay-expected.txt: Added.
  • fast/css/appearance-airplay.html: Added.
1:23 PM Changeset in webkit [185469] by ap@apple.com
  • 3 edits in trunk/LayoutTests

Update plugins/embed-attributes-style.html to not use the QuickTime plug-in
https://bugs.webkit.org/show_bug.cgi?id=145891

Reviewed by Anders Carlsson.

  • platform/mac/plugins/embed-attributes-style-expected.png:
  • plugins/embed-attributes-style.html:
1:21 PM Changeset in webkit [185468] by commit-queue@webkit.org
  • 10 edits in trunk/Source/WebCore

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

"This patch is breaking binding tests" (Requested by youenn on
#webkit).

Reverted changeset:

"Bindings generator should generate code for Promise-based
APIs"
https://bugs.webkit.org/show_bug.cgi?id=145833
http://trac.webkit.org/changeset/185464

1:12 PM Changeset in webkit [185467] by commit-queue@webkit.org
  • 11 edits in trunk

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

"This patch is breaking 32bit mac build" (Requested by youenn
on #webkit).

Reverted changeset:

"[Streams API] ReadableJSStream should handle promises
returned by JS source start callback"
https://bugs.webkit.org/show_bug.cgi?id=145792
http://trac.webkit.org/changeset/185465

1:09 PM Changeset in webkit [185466] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit2

Speculative build fix for GTK after r185463.

  • CMakeLists.txt:

Remove WebPluginSiteDataManager.cpp from CMake build.

12:30 PM Changeset in webkit [185465] by youenn.fablet@crf.canon.fr
  • 11 edits in trunk

[Streams API] ReadableJSStream should handle promises returned by JS source start callback
https://bugs.webkit.org/show_bug.cgi?id=145792

Source/JavaScriptCore:

Reviewed by Darin Adler.

Added support for JSFunction implemented by std::function.

  • runtime/JSFunction.cpp:

(JSC::getNativeExecutable): Refactored code to share it with the two JSFunction::create
(JSC::JSFunction::create):
(JSC::runStdFunction):

  • runtime/JSFunction.h: Added std::function based JSFunction::create prototype.
  • runtime.JSPromise.h:

Source/WebCore:

Reviewed by Darin Adler.

Covered by rebased tests.

When calling start callback, the returned value is checked.
If it is not a promise, we do as if it is a resolved promise.
If it is a promise, we call its then() method with two resolve/reject JS functions.

  • Modules/streams/ReadableStream.cpp:
  • bindings/js/ReadableJSStream.cpp:

(WebCore::ReadableJSStream::invoke): Returns a JSPromise* if any is returned by the JS source callback.
(WebCore::thenPromise): Utility method to call the promise.
(WebCore::createStartResultFulfilledFunction): The promise resolve callback.
(WebCore::ReadableJSStream::doStart): Calls thenPromise if a JSPromise* is returned by invoke.
(WebCore::ReadableJSStream::ReadableJSStream):

  • bindings/js/ReadableJSStream.h:

LayoutTests:

Reviewed by Darin Adler.

Rebasing expectations, and removing timeouts for tests that no longer timeout.

  • streams/reference-implementation/readable-stream-expected.txt:
  • streams/reference-implementation/readable-stream.html:
12:26 PM Changeset in webkit [185464] by youenn.fablet@crf.canon.fr
  • 10 edits in trunk/Source/WebCore

Bindings generator should generate code for Promise-based APIs
https://bugs.webkit.org/show_bug.cgi?id=145833

Reviewed by Darin Adler.

Covered by existing tests.

  • Modules/webaudio/AudioContext.idl: Removing custom binding for resume, suspend and close.
  • bindings/js/JSAudioContextCustom.cpp: Ditto.
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader): Refactoring to use IsReturningPromise.
(GenerateImplementation): Disabling include for return type if it is a promise.
(GenerateParametersCheck): Adding DeferredWrapper() as argument to the DOM method if JS method returns a promise.
(GenerateImplementationFunctionCall): Added support for promise-returning API.
(IsReturningPromise): Checking whether function is returning a promise.

  • bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:

(webkit_dom_test_obj_test_promise_function):

  • bindings/scripts/test/GObject/WebKitDOMTestObj.h:
  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::jsTestObjPrototypeFunctionTestPromiseFunction):

  • bindings/scripts/test/ObjC/DOMTestObj.h:
  • bindings/scripts/test/ObjC/DOMTestObj.mm:

(-[DOMTestObj testPromiseFunction]):

  • bindings/scripts/test/TestObj.idl: Adding promise returning function.
11:33 AM Changeset in webkit [185463] by andersca@apple.com
  • 16 edits
    2 deletes in trunk/Source/WebKit2

Remove WebPluginSiteDataManager
https://bugs.webkit.org/show_bug.cgi?id=145884

Reviewed by Andreas Kling.

  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::clearSiteData): Deleted.

  • PluginProcess/PluginProcess.h:
  • PluginProcess/PluginProcess.messages.in:
  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKContext.cpp:
  • UIProcess/API/C/WKPluginSiteDataManager.cpp:
  • UIProcess/Plugins/PluginProcessManager.cpp:

(WebKit::PluginProcessManager::clearSiteData): Deleted.

  • UIProcess/Plugins/PluginProcessManager.h:
  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::clearSiteData): Deleted.
(WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch): Deleted.
(WebKit::PluginProcessProxy::didFinishLaunching): Deleted.
(WebKit::PluginProcessProxy::didClearSiteData): Deleted.

  • UIProcess/Plugins/PluginProcessProxy.h:
  • UIProcess/Plugins/PluginProcessProxy.messages.in:
  • UIProcess/Plugins/WebPluginSiteDataManager.cpp: Removed.

(WebKit::WebPluginSiteDataManager::GetSitesWithDataState::GetSitesWithDataState): Deleted.
(WebKit::WebPluginSiteDataManager::GetSitesWithDataState::getSitesWithDataForNextPlugin): Deleted.
(WebKit::WebPluginSiteDataManager::GetSitesWithDataState::didGetSitesWithDataForSinglePlugin): Deleted.
(WebKit::WebPluginSiteDataManager::ClearSiteDataState::ClearSiteDataState): Deleted.
(WebKit::WebPluginSiteDataManager::ClearSiteDataState::clearSiteDataForNextPlugin): Deleted.
(WebKit::WebPluginSiteDataManager::ClearSiteDataState::didClearSiteDataForSinglePlugin): Deleted.
(WebKit::WebPluginSiteDataManager::create): Deleted.
(WebKit::WebPluginSiteDataManager::WebPluginSiteDataManager): Deleted.
(WebKit::WebPluginSiteDataManager::~WebPluginSiteDataManager): Deleted.
(WebKit::WebPluginSiteDataManager::invalidate): Deleted.
(WebKit::WebPluginSiteDataManager::getSitesWithData): Deleted.
(WebKit::WebPluginSiteDataManager::didGetSitesWithData): Deleted.
(WebKit::WebPluginSiteDataManager::clearSiteData): Deleted.
(WebKit::WebPluginSiteDataManager::didClearSiteData): Deleted.
(WebKit::WebPluginSiteDataManager::didGetSitesWithDataForSinglePlugin): Deleted.
(WebKit::WebPluginSiteDataManager::didGetSitesWithDataForAllPlugins): Deleted.
(WebKit::WebPluginSiteDataManager::didClearSiteDataForSinglePlugin): Deleted.
(WebKit::WebPluginSiteDataManager::didClearSiteDataForAllPlugins): Deleted.

  • UIProcess/Plugins/WebPluginSiteDataManager.h: Removed.

(WebKit::WebPluginSiteDataManager::processPool): Deleted.
(WebKit::WebPluginSiteDataManager::clearProcessPool): Deleted.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::~WebProcessPool): Deleted.

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebProcessProxy.cpp:
  • WebKit2.xcodeproj/project.pbxproj:
11:30 AM Changeset in webkit [185462] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.16.7

New tag.

11:01 AM Changeset in webkit [185461] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Missing content in UIWebView snapshots sometimes
https://bugs.webkit.org/show_bug.cgi?id=145779
rdar://problem/20744708

Reviewed by Darin Adler.

When expanding collapsed parts of quoted text on iOS, sometimes the "concertina"
images would be blank. This happened because we'd fail to create tiles for regions
outside the LegacyTileCache's visibleRect.

Fix by giving LegacyTileCache an optional override visibleRect, which is set
and cleared during -renderInContext: using the context clip rect.

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

(WebCore::LegacyTileCache::visibleRectInLayer):
(WebCore::LegacyTileCache::setOverrideVisibleRect):

  • platform/ios/LegacyTileLayer.mm:

(-[LegacyTileHostLayer renderInContext:]):

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

Make WKWebsiteDataStoreRef backed by an API::WebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=145882

Reviewed by Dan Bernstein.

  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKContext.cpp:

(WKContextGetPluginSiteDataManager):

  • UIProcess/API/C/WKPluginSiteDataManager.cpp:

(WKPluginSiteDataManagerGetTypeID):
(WKPluginSiteDataManagerGetSitesWithData):
(WKPluginSiteDataManagerClearSiteData):
(WKPluginSiteDataManagerClearAllSiteData):

10:20 AM Changeset in webkit [185459] by dbates@webkit.org
  • 10 edits
    2 deletes in trunk/Source/WebCore

Simplify event handling logic for search cancel button
https://bugs.webkit.org/show_bug.cgi?id=145780

Reviewed by Darin Adler.

Following the patch for <https://bugs.webkit.org/show_bug.cgi?id=145774> we can take advantage
of the DOM click event to simplify the event handling logic for the search cancel button.
It is sufficient to listen for mousedown and click events instead of listening for mousedown
and mouseup events, capturing all events during drag, and using the hover state of the button
on mouse release together with a instance variable set on mouse press to determine whether
the cancel button was clicked.

As a side effect of removing the requirement that the search cancel button be hovered (a
workaround to ensure that the mouse was pressed and released on the button in absence of
listening for an explicit DOM click event) we can remove the accessibility-specific class,
AccessibilitySearchFieldCancelButton, that was primarily used to fake the hover state of
the button so that the accessibility machinery could simulate a click on it. Instead we
can add use the default accessibility machinery for clicking on an element.

No new tests since no functionality was changed.

  • CMakeLists.txt: Remove reference to file AccessibilitySearchFieldButtons.cpp.
  • WebCore.vcxproj/WebCore.vcxproj: Remove reference to files AccessibilitySearchFieldButtons.{cpp, h}.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • accessibility/AXObjectCache.cpp:

(WebCore::createFromRenderer): Remove special-purpose logic that instantiated
AccessibilitySearchFieldCancelButton for the search cancel button. Instead we can make
use of the existing accessibility machinery to handle this button.

  • accessibility/AccessibilityAllInOne.cpp: Remove #include of AccessibilitySearchFieldButtons.cpp

since the file is no longer needed.

  • accessibility/AccessibilitySearchFieldButtons.cpp: Removed.
  • accessibility/AccessibilitySearchFieldButtons.h: Removed.
  • dom/Element.h:

(WebCore::Element::isSearchFieldCancelButtonElement): Deleted.

  • html/shadow/TextControlInnerElements.cpp:

(WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement): Set the ARIA role
and label attributes so that the accessibility system identifies the search cancel button as
a button and shows a description for the button, respectively.
(WebCore::SearchFieldCancelButtonElement::defaultEventHandler): Simplify the event handling logic
such that we clear the field when we receive a DOM click event (i.e. the mouse was pressed
and released on the button). Remove unused variable, oldValue. Substitute emptyString() for the
empty string literal in the call to HTMLInputElement::setValueForUser() to avoid an implicit
conversion to String. Also remove out-of-date comment that repeated what the code does.
(WebCore::SearchFieldCancelButtonElement::willDetachRenderers): Deleted. We no longer need to use
custom style resolve callbacks to reset the state of the EventHandler since we no longer need to
have the EventHandler dispatch all mouse events to us on mouse press.

  • html/shadow/TextControlInnerElements.h:
10:03 AM Changeset in webkit [185458] by Antti Koivisto
  • 5 edits in trunk/Source/WebKit2

Network process crashes decoding invalid cache entry on 32bit system
https://bugs.webkit.org/show_bug.cgi?id=145842
rdar://problem/21228334

Reviewed by Anders Carlsson.

After cache scheme changes we may end up decoding invalid cache entries. This is by design,
we should just fail decoding and delete these entries.

However Decoder::bufferIsLargeEnoughToContain test in some cases would allow corrupted large
sizes due to overflow in 32bit pointer math and we would crash when allocating a string.

  • NetworkProcess/cache/NetworkCacheCoders.cpp:

(WebKit::NetworkCache::Coder<CString>::decode):
(WebKit::NetworkCache::decodeStringText):
(WebKit::NetworkCache::Coder<WebCore::CertificateInfo>::decode):
(WebKit::NetworkCache::Coder<MD5::Digest>::encode):

  • NetworkProcess/cache/NetworkCacheCoders.h:
  • NetworkProcess/cache/NetworkCacheDecoder.cpp:

(WebKit::NetworkCache::Decoder::Decoder):
(WebKit::NetworkCache::Decoder::bufferIsLargeEnoughToContain):

Reshuffle to avoid sum.

(WebKit::NetworkCache::Decoder::decodeFixedLengthData):

  • NetworkProcess/cache/NetworkCacheDecoder.h:

(WebKit::NetworkCache::Decoder::bufferSize):
(WebKit::NetworkCache::Decoder::currentOffset):
(WebKit::NetworkCache::Decoder::length): Deleted.
(WebKit::NetworkCache::Decoder::isInvalid): Deleted.
(WebKit::NetworkCache::Decoder::markInvalid): Deleted.

Remove these, they are not really used or needed.

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

Rewrite WKPluginSiteDataManager using WebsiteDataStore functions
https://bugs.webkit.org/show_bug.cgi?id=145868

Reviewed by Antti Koivisto.

  • UIProcess/API/C/WKPluginSiteDataManager.cpp:

(WKPluginSiteDataManagerGetSitesWithData):
(WKPluginSiteDataManagerClearSiteData):
(WKPluginSiteDataManagerClearAllSiteData):
(toNPClearSiteDataFlags): Deleted.

  • UIProcess/Plugins/WebPluginSiteDataManager.h:

(WebKit::WebPluginSiteDataManager::processPool):

9:00 AM Changeset in webkit [185456] by commit-queue@webkit.org
  • 5 edits in trunk

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

it broke the 32-bit build (Requested by clopez on #webkit).

Reverted changeset:

"[GTK] [Wayland] Should be possible to build with support for
both X11 and Wayland."
https://bugs.webkit.org/show_bug.cgi?id=145701
http://trac.webkit.org/changeset/185453

8:42 AM Changeset in webkit [185455] by Matt Baker
  • 8 edits in trunk/Source/WebInspectorUI

Web Inspector: Rendering Frames timeline should distinguish between layout and painting
https://bugs.webkit.org/show_bug.cgi?id=145856

Reviewed by Timothy Hatcher.

This patch formalizes the runloop task concept in the frontend, adds new Paint task type to the Rendering
Frames timeline, and reorders UI elements such as chart sections and frame "segments" to match the order in
which tasks are executed within the runloop.

We will need to make UI changes to the standard Timelines view in a follow up patch, since tree element icons
for Paint records now use a different color that those of other Layout records.

  • UserInterface/Images/TimelineRecordPaint.svg:

Changed to use green color.

  • UserInterface/Models/RenderingFrameTimelineRecord.js:

(WebInspector.RenderingFrameTimelineRecord):
(WebInspector.RenderingFrameTimelineRecord.displayNameForTaskType):
(WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask.get validRecordForTaskType):
(WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask.set return):
(WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask):
(WebInspector.RenderingFrameTimelineRecord.prototype.get durationRemainder): Deleted.
(WebInspector.RenderingFrameTimelineRecord.prototype.durationForRecords.get var): Deleted.
Added TaskType enum to decouple runloop task types from timeline record types, and removed duration remainder
support now that "Other" has an associated task type.

  • UserInterface/Views/RenderingFrameTimelineDataGridNode.js:

(WebInspector.RenderingFrameTimelineDataGridNode.prototype.get data):
(WebInspector.RenderingFrameTimelineDataGridNode.prototype.createCellContent):

  • UserInterface/Views/RenderingFrameTimelineView.js:

(WebInspector.RenderingFrameTimelineView):
Added new grid column for Paint task, reordered columns to be consistent with the rest of the UI.

  • UserInterface/Views/TimelineRecordFrame.css:

(.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-script):
(.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-layout):
(.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-paint):
(.timeline-record-frame > .frame > .duration): Deleted.
(.timeline-record-frame > .frame > .duration.timeline-record-type-network): Deleted.
(.timeline-record-frame > .frame > .duration.timeline-record-type-layout): Deleted.
(.timeline-record-frame > .frame > .duration.timeline-record-type-script): Deleted.
Updated styles for Render Frame tasks.

  • UserInterface/Views/TimelineRecordFrame.js:

(WebInspector.TimelineRecordFrame.prototype._updateChildElements.createDurationElement):
Updated to use Render Frame task types. Frame segment insertion order is now consistent with the rest of the UI.

  • UserInterface/Views/TimelineSidebarPanel.js:

(WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart.chartData.Object.keys.map):
(WebInspector.TimelineSidebarPanel.set this):
(WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart.get this):
(WebInspector.TimelineSidebarPanel): Deleted.
(WebInspector.TimelineSidebarPanel.prototype._refreshFrameSelectionChart.durationForRecordType): Deleted.
(WebInspector.TimelineSidebarPanel.prototype._refreshFrameSelectionChart): Deleted.
Updated to use Render Frame task types.

8:24 AM Changeset in webkit [185454] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Wrong overview graph shown after switching from Frames to Timelines
https://bugs.webkit.org/show_bug.cgi?id=145778

Reviewed by Timothy Hatcher.

TimelineSidebarPanel stores a reference to the selected timeline before switching to the Rendering Frames view,
which is used to restore the tree selection, overview graph, and content views when switching back to the
standard Timelines view. However if another recording is created before switching, the previously selected
timeline tracked by the sidebar cannot be restored, since it doesn't belong to the active recording.

This is addressed by storing the previously selected timeline type, rather than the timeline object itself.
The type is also updated whenever the selected timeline in the tree outline changes, ensuring that the correct
timeline will always be restored.

  • UserInterface/Views/TimelineSidebarPanel.js:

(WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if.get if):
(WebInspector.TimelineSidebarPanel.get else): Deleted.
(WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if): Deleted.
(WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject): Deleted.

8:21 AM Changeset in webkit [185453] by clopez@igalia.com
  • 5 edits in trunk

[GTK] [Wayland] Should be possible to build with support for both X11 and Wayland.
https://bugs.webkit.org/show_bug.cgi?id=145701

Reviewed by Žan Doberšek.

.:

  • Source/cmake/OptionsGTK.cmake: Remove conflicting options.

Source/WebCore:

No new tests, no behavior changes.

When building both targets, we have to include the wayland-egl
headers in order to build the Wayland target. This causes that
EGLNativePixmapType and EGLNativeWindowType get defined as
different types than when building only the X11 target.

By type casting them to the ones that are expected, we are able
to build both targets at the same time.

I have done tests (building each target alone as also both targets
at the same time), and everything seems to works as expected.

Once built for both targets, if you try to launch the MiniBrowser
from inside a Wayland compositor (Weston on top of X for example),
it will trigger the X11 target if the DISPLAY environment variable
is set and the environment variable GDK_BACKEND is not set to wayland,
otherwise it will trigger the Wayland target.

  • platform/graphics/GLContext.cpp:

(WebCore::GLContext::createContextForWindow): Add type cast.

  • platform/graphics/egl/GLContextEGL.cpp: Add missing include when

building both targets that is required for defining DefaultRootWindow().
(WebCore::GLContextEGL::createPixmapContext): Add type cast.

5:05 AM Changeset in webkit [185452] by Antti Koivisto
  • 4 edits in trunk/Source/WebKit2

3% cold PLT regression from network cache on iOS
https://bugs.webkit.org/show_bug.cgi?id=145694
rdar://problem/21158245

Reviewed by Chris Dumez.

Cache does not help in cold page loads but it shouldn't' be hurting either. Write I/O needs to be toned down a bit.

  • NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:

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

Dispatch channels inherit their I/O priority from the target queue. Use background queue for write I/O.

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::Storage):
(WebKit::NetworkCache::Storage::dispatchPendingReadOperations):
(WebKit::NetworkCache::Storage::dispatchPendingWriteOperations):

Only write one file at a time instead of maximum of three.

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

For consistency with store prepend new entries here too.

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

Delay start of the first write operation by 1s.
Prepend instead of append to the pending write deque so retrieveFromMemory lookup finds newest entries first in case of duplicates

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

  • NetworkProcess/cache/NetworkCacheStorage.h:
2:30 AM Changeset in webkit [185451] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL] Fix the debug build after r185417.
https://bugs.webkit.org/show_bug.cgi?id=145876

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-06-11
Reviewed by Gyuyoung Kim.

  • platform/graphics/efl/ImageBufferEfl.cpp: added the missing "MIMETypeRegistry.h".
12:00 AM Changeset in webkit [185450] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Tahoma isn't installed on iOS, so there is no need to blacklist it
https://bugs.webkit.org/show_bug.cgi?id=145865

Reviewed by Dan Bernstein.

No new tests because I can't copy Tahoma into our open source repository.

  • platform/graphics/cocoa/FontCocoa.mm:

(WebCore::fontFamilyShouldNotBeUsedForArabic):

Jun 10, 2015:

11:55 PM Changeset in webkit [185449] by hyuki.kim@samsung.com
  • 2 edits in trunk/Tools

[EFL] dimmed area for popup does not cover the fullscreen mode.
https://bugs.webkit.org/show_bug.cgi?id=145133

Reviewed by Gyuyoung Kim.

By calling elm_win_resize_object_add(), popup was added as a resize object of elm_win.
as a result, popup can cover the fullscreen area when it enters a fullscreen mode.

  • MiniBrowser/efl/main.c:

(on_fullscreen_accept):
(on_fullscreen_deny):
(on_fullscreen_enter):

10:48 PM Changeset in webkit [185448] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Don't send touch events on link preview.
https://bugs.webkit.org/show_bug.cgi?id=145863

Disable web touch event recognizer on link preview. We do the same when finding nodes in inspector or when long press gesture
is recognized (by _cancelAllTouches).

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2015-06-10
Reviewed by Beth Dakin.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView willPresentPreviewViewController:forPosition:inSourceView:]): Remove touch event gesture recognizer on preview start.
(-[WKContentView didDismissPreviewViewController:committing:]): Add the gesture recognizer back on dismiss.

9:16 PM Changeset in webkit [185447] by commit-queue@webkit.org
  • 6 edits in trunk

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

seems to have broken WTF.StringOperators test (Requested by
alexchristensen on #webkit).

Reverted changeset:

"[Content Extensions] Limit number of rules."
https://bugs.webkit.org/show_bug.cgi?id=145663
http://trac.webkit.org/changeset/185442

7:57 PM Changeset in webkit [185446] by jonlee@apple.com
  • 4 edits in trunk/Source/WebCore

Update presentation mode JS API to using 'picture-in-picture'
https://bugs.webkit.org/show_bug.cgi?id=145826
rdar://problem/2131153

Reviewed by Anders Carlsson.

Update presentation modes to use 'picture-in-picture' in lieu of 'optimized'.

  • html/HTMLVideoElement.idl: Update to "picture-in-picture".
  • html/HTMLVideoElement.cpp:

(WebCore::presentationModePictureInPicture): Rename static function returning string.
(WebCore::presentationModeOptimized): Deleted.
(WebCore::HTMLVideoElement::webkitSupportsPresentationMode): Use the new static function name.
(WebCore::HTMLVideoElement::webkitSetPresentationMode): Ditto.
(WebCore::HTMLVideoElement::webkitPresentationMode): Ditto.

  • Modules/mediacontrols/mediaControlsiOS.js: Update to 'picture-in-picture'.

(ControllerIOS.prototype.configureInlineControls):
(ControllerIOS.prototype.isFullScreen):
(ControllerIOS.prototype.handleOptimizedFullscreenButtonClicked):
(ControllerIOS.prototype.handlePresentationModeChange):
(ControllerIOS.prototype.controlsAlwaysVisible):

7:34 PM Changeset in webkit [185445] by andersca@apple.com
  • 10 edits in trunk/Source/WebKit2

WKWebsiteDataStore should handle removing plug-in data for individual records
https://bugs.webkit.org/show_bug.cgi?id=145864

Reviewed by Beth Dakin.

  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::deleteWebsiteDataForHostNames):

  • PluginProcess/PluginProcess.h:
  • PluginProcess/PluginProcess.messages.in:
  • UIProcess/Plugins/PluginProcessManager.cpp:

(WebKit::PluginProcessManager::deleteWebsiteDataForHostNames):

  • UIProcess/Plugins/PluginProcessManager.h:
  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::deleteWebsiteDataForHostNames):
(WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
(WebKit::PluginProcessProxy::didFinishLaunching):
(WebKit::PluginProcessProxy::didDeleteWebsiteDataForHostNames):

  • UIProcess/Plugins/PluginProcessProxy.h:
  • UIProcess/Plugins/PluginProcessProxy.messages.in:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::removeData):

7:01 PM Changeset in webkit [185444] by benjamin@webkit.org
  • 1 edit in trunk/Source/WebCore/ChangeLog

[Mobile Safari, WKWebView] increase DeviceOrientationEvent events emission frequency
https://bugs.webkit.org/show_bug.cgi?id=145814

Patch by Boris Smus <boris@smus.com> on 2015-06-10
Reviewed by Benjamin Poulain.

Increased the sampling rate of DeviceOrientationEvent from 20 Hz to 60
Hz to make good head tracking possible.

  • platform/ios/WebCoreMotionManager.h:
6:57 PM Changeset in webkit [185443] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

[Mobile Safari, WKWebView] increase DeviceOrientationEvent events emission frequency
https://bugs.webkit.org/attachment.cgi?bugid=145814

Patch by Boris Smus <boris@smus.com> on 2015-06-10
Reviewed by Benjamin Poulain.

Increased the sampling rate of DeviceOrientationEvent from 20 Hz to 60
Hz to make good head tracking possible.

  • platform/ios/WebCoreMotionManager.h:
5:52 PM Changeset in webkit [185442] by achristensen@apple.com
  • 6 edits in trunk

Source/WebCore:
[Content Extensions] Limit number of rules.
https://bugs.webkit.org/show_bug.cgi?id=145663
rdar://problem/21242407

Reviewed by Benjamin Poulain.

Added an API test to make sure that parsing fails when there are too many rules.

  • contentextensions/ContentExtensionError.cpp:

(WebCore::ContentExtensions::contentExtensionErrorCategory):

  • contentextensions/ContentExtensionError.h:
  • contentextensions/ContentExtensionParser.cpp:

(WebCore::ContentExtensions::loadEncodedRules):
Fail to parse a content extension with more than 50000 rules.

Tools:
[Content Extensions] Make max NFA size and max rule count user defaults.
https://bugs.webkit.org/show_bug.cgi?id=145663
rdar://problem/21242407

Reviewed by Benjamin Poulain.

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(TestWebKitAPI::TEST_F):

5:45 PM Changeset in webkit [185441] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.16-branch/Source/WebKit/mac

Merged r185436. rdar://problem/21309911

5:40 PM Changeset in webkit [185440] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

ASSERTION FAILED: s.length() > 1 on LayoutTests/js/regexp-flags.html
https://bugs.webkit.org/show_bug.cgi?id=145599

Unreviewed, simple follow up patch.

use jsString instead of jsMakeNontrivialString
since the flag string may be trivial (0 or 1 length).

  • runtime/RegExpPrototype.cpp:

(JSC::regExpProtoGetterFlags):

5:27 PM Changeset in webkit [185439] by andersca@apple.com
  • 10 edits in trunk/Source/WebKit2

WKWebsiteDataStore should handle removing plug-in data
https://bugs.webkit.org/show_bug.cgi?id=145862

Reviewed by Sam Weinig.

  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::deleteWebsiteData):

  • PluginProcess/PluginProcess.h:
  • PluginProcess/PluginProcess.messages.in:
  • UIProcess/Plugins/PluginProcessManager.cpp:

(WebKit::PluginProcessManager::deleteWebsiteData):

  • UIProcess/Plugins/PluginProcessManager.h:
  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::~PluginProcessProxy):
(WebKit::PluginProcessProxy::deleteWebsiteData):
(WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
(WebKit::PluginProcessProxy::didFinishLaunching):
(WebKit::PluginProcessProxy::didDeleteWebsiteData):

  • UIProcess/Plugins/PluginProcessProxy.h:
  • UIProcess/Plugins/PluginProcessProxy.messages.in:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::removeData):

4:50 PM Changeset in webkit [185438] by commit-queue@webkit.org
  • 4 edits
    4 adds in trunk

REGRESSION (r184895): Vertical border elements ([-webkit]-border-image set to 'repeat') that used to render perfectly are now rendering incorrectly.
https://bugs.webkit.org/show_bug.cgi?id=145801

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-06-10
Reviewed by Simon Fraser.

Source/WebCore:

When using the tiling to draw the sides of an image-border, the image slice
is repeated only in one direction. For top and bottom sides, the slice is
repeated horizontally and for left and right sides, it's repeated vertically.
The tile might be scaled in the other direction of the tiling if the border
extent and the slice extent are different in this direction.

The bug happens because we were scaling the tile in the tiling direction.

Test: fast/borders/border-image-repeat-stretch.html

  • rendering/style/NinePieceImage.cpp:

(WebCore::NinePieceImage::scaleSlicesIfNeeded): Fix the type and the name
of deviceScaleFactor.

(WebCore::NinePieceImage::computeIntrinsicSideTileScale): Fix the scaling
direction of the border image side tiling.

  • rendering/style/NinePieceImage.h:

LayoutTests:

  • fast/borders/border-image-repeat-stretch-expected.html: Added.
  • fast/borders/border-image-repeat-stretch.html: Added.
  • fast/borders/resources/border-image-repeat-stretch-expected.svg: Added.
  • fast/borders/resources/border-image.svg: Added.

Ensure that the sides of a border-images are drawn correctly in the cases
of 'repeat' and 'stretch'.

4:43 PM Changeset in webkit [185437] by Yusuke Suzuki
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

JavaScript: Drop the “escaped reserved words as identifiers” compatibility measure
https://bugs.webkit.org/show_bug.cgi?id=90678

Reviewed by Darin Adler.

After ES6, escaped reserved words in identifiers are prohibited.
After parsing Identifier, we should perform m_buffer16.shrink(0).

  • parser/Lexer.cpp:

(JSC::Lexer<CharacterType>::parseIdentifierSlowCase):

  • tests/mozilla/ecma_3/Unicode/uc-003.js:

(test): Deleted.

  • tests/stress/reserved-word-with-escape.js: Added.

(testSyntax):
(testSyntaxError):

4:35 PM Changeset in webkit [185436] by jhoneycutt@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Meta refresh preference is not respected on fast path WebView
initialization

<https://bugs.webkit.org/show_bug.cgi?id=145861>
<rdar://problem/21309911>

Reviewed by Brady Eidson.

  • WebView/WebView.mm:

(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
Set the WebCore setting from the WebPreferences preference.

4:07 PM Changeset in webkit [185435] by Chris Dumez
  • 6 edits
    4 adds in trunk

ASSERT_WITH_SECURITY_IMPLICATION in WebCore::DocumentOrderedMap::getElementById
https://bugs.webkit.org/show_bug.cgi?id=145857
<rdar://problem/16798440>

Reviewed by Darin Adler.

Source/WebCore:

Make sure Node::insertedInto() gets called on the inserted node and its
descendants after its insertion into the tree but *before*
ContainerNode::childrenChanged() is called on the parent node. This is
needed so that the descendants know they've been inserted into the tree
(and their InDocumentFlag flag gets set) before the parent node does
anything with them in childrenChanged().

In the case of <rdar://problem/16798440>, executing HTMLScriptElement's
childrenChanged() after appending a child to a script element was causing
the script to be executed. The script would call getElementBy() which
would traverse the DOM tree and find a matching Element in the newly
inserted subtree. However, the matching Element's InDocumentFlag flag was
not set yet because the element's insertedInto() method has not been called
yet at this point. This would cause us to hit an assertion as
DocumentOrderedMap::getElementById() is only supposed to return elements
that are in a Document.

This patch is based on Blink r178976 by <esprehn@chromium.org>:
https://src.chromium.org/viewvc/blink?view=rev&revision=178976

Tests: fast/dom/script-getElementById-during-insertion.html

fast/dom/script-remove-child-id-map.html

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::notifyChildInserted):
(WebCore::ContainerNode::notifyChildRemoved):
(WebCore::ContainerNode::removeChildren):
(WebCore::ContainerNode::parserInsertBefore): Deleted.
(WebCore::ContainerNode::removeChild): Deleted.
(WebCore::ContainerNode::parserRemoveChild): Deleted.
(WebCore::ContainerNode::parserAppendChild): Deleted.
(WebCore::ContainerNode::childrenChanged): Deleted.
(WebCore::ContainerNode::setAttributeEventListener): Deleted.
(WebCore::ContainerNode::querySelector): Deleted.

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
(WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree):

  • dom/ContainerNodeAlgorithms.h:

(WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
(WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
(WebCore::ChildNodeInsertionNotifier::notify):
(WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromDocument): Deleted.

  • dom/Element.cpp:

(WebCore::Element::addShadowRoot):

LayoutTests:

Add layout tests covering different crashes caused by the same bug.

  • fast/dom/script-getElementById-during-insertion-expected.txt: Added.
  • fast/dom/script-getElementById-during-insertion.html: Added.

Reduction test case for <rdar://problem/16798440>.

  • fast/dom/script-remove-child-id-map-expected.txt: Added.
  • fast/dom/script-remove-child-id-map.html: Added.

Test imported from Blink r178976.

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

[Web Timing] Fix flaky test.
https://bugs.webkit.org/show_bug.cgi?id=145846

Patch by Alex Christensen <achristensen@webkit.org> on 2015-06-10
Reviewed by Alexey Proskuryakov.

The timing data is gathered in ResourceHandle::getConnectionTimingData as
millisecond deltas from the fetch start time, not the navigation start time.
The difference between navigation and fetch start time is usually so small that
it only caused one flaky test, but this should fix that flakiness. This patch
corrects how the millisecond deltas are used.

  • page/PerformanceTiming.cpp:

(WebCore::PerformanceTiming::domainLookupStart):
(WebCore::PerformanceTiming::domainLookupEnd):
(WebCore::PerformanceTiming::connectStart):
(WebCore::PerformanceTiming::connectEnd):
(WebCore::PerformanceTiming::secureConnectionStart):
(WebCore::PerformanceTiming::requestStart):
(WebCore::PerformanceTiming::responseStart):
(WebCore::PerformanceTiming::responseEnd):
(WebCore::PerformanceTiming::documentLoadTiming):
(WebCore::PerformanceTiming::resourceLoadTimeRelativeToFetchStart):
(WebCore::PerformanceTiming::monotonicTimeToIntegerMilliseconds):
(WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute): Deleted.

  • page/PerformanceTiming.h:
3:44 PM Changeset in webkit [185433] by basile_clement@apple.com
  • 2 edits in trunk/Source/WTF

Unreviewed, fix an typo in unused template code.

  • wtf/TinyPtrSet.h:

(WTF::TinyPtrSet::iterator::operator*): s/at(index)/at(m_index)/

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

Implement RegExp.prototype.flags
https://bugs.webkit.org/show_bug.cgi?id=145599

Patch by Jordan Harband <ljharb@gmail.com> on 2015-06-10
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:

Per https://people.mozilla.org/~jorendorff/es6-draft.html#sec-get-regexp.prototype.flags

  • runtime/CommonIdentifiers.h:
  • runtime/RegExpPrototype.cpp:

(JSC::flagsString):
(JSC::regExpProtoFuncToString):
(JSC::regExpProtoGetterFlags):

  • tests/stress/static-getter-in-names.js:

LayoutTests:

  • js/Object-getOwnPropertyNames-expected.txt:
  • js/regexp-flags-expected.txt: Added.
  • js/regexp-flags.html: Added.
  • js/script-tests/Object-getOwnPropertyNames.js:
  • js/script-tests/regexp-flags.js: Added.

(.get shouldBe):

2:53 PM Changeset in webkit [185431] by Beth Dakin
  • 6 edits in trunk/Source/WebCore

Overriding the overlay scrollbar style on WKView doesn't take effect immediately
https://bugs.webkit.org/show_bug.cgi?id=145855
-and corresponding-
rdar://problem/20948706

Reviewed by Simon Fraser.

Since we opt into layer-per-part scrollbars in order to move the knob on the
secondary thread, AppKit is creating its own layers for the knob and track. To
invalidate them, we need to call into the ScrollbarPainter’s setNeedsDisplay.

New virtual function on ScrollAnimator to call into ScrollbarPainter’s
setNeedsDispay.

  • platform/ScrollAnimator.h:

Call the new function when setting the overlay style.

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::setScrollbarOverlayStyle):

Add setNeedsDisplay to the list of ScrollbarPainter methods.

  • platform/mac/NSScrollerImpDetails.h:

Implement invalidateScrollbarPartLayers.

  • platform/mac/ScrollAnimatorMac.h:
  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::invalidateScrollbarPartLayers):

2:30 PM Changeset in webkit [185430] by achristensen@apple.com
  • 1 edit
    4 copies
    1 delete in trunk/LayoutTests

Move all content extension tests to same directory to fix flakiness.
https://bugs.webkit.org/show_bug.cgi?id=145854

Reviewed by Alexey Proskuryakov.

  • http/tests/contentextensions/loading/main-resource-redirect-blocked-expected.txt: Removed.
  • http/tests/contentextensions/loading/main-resource-redirect-blocked.php: Removed.
  • http/tests/contentextensions/loading/main-resource-redirect-blocked.php.json: Removed.
  • http/tests/contentextensions/loading/resources/main-resource-redirect-blocked-target.html: Removed.
  • http/tests/contentextensions/main-resource-redirect-blocked-expected.txt: Copied from http/tests/contentextensions/loading/main-resource-redirect-blocked-expected.txt.
  • http/tests/contentextensions/main-resource-redirect-blocked.php: Copied from http/tests/contentextensions/loading/main-resource-redirect-blocked.php.
  • http/tests/contentextensions/main-resource-redirect-blocked.php.json: Copied from http/tests/contentextensions/loading/main-resource-redirect-blocked.php.json.
  • http/tests/contentextensions/resources/main-resource-redirect-blocked-target.html: Copied from http/tests/contentextensions/loading/resources/main-resource-redirect-blocked-target.html.
1:50 PM Changeset in webkit [185429] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

MediaRemoteControls should be marked JSGenerateToJSObject.
https://bugs.webkit.org/show_bug.cgi?id=145849

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

Since MediaRemoteControls has a parent interface, we need to add the JSGenerateToJSObject attribute so the
toJS(...) function gets generated. This is required for event handling to work.

  • Modules/mediasession/MediaRemoteControls.idl:
1:47 PM Changeset in webkit [185428] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit2

[WK2] Do not indicate Media Keys are present when they are not
https://bugs.webkit.org/show_bug.cgi?id=145713
<rdar://problem/19752566>

Reviewed by Dean Jackson.

Correct the reporting of Media Key presence by checking for the actual
media key file, not just the directory. Sometimes the directory will exist
with no media key files (e.g., if a user navigates to the directory using
the Finder).

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::computeMediaKeyFile): Moved earlier in file so it could be used by
the 'mediaKeyOrigins' method.
(WebKit::WebsiteDataStore::mediaKeyOrigins): Only indicate we have a media key
origin if the folder actually contains the media key file.
(WebKit::WebsiteDataStore::removeMediaKeys): Use the existing 'computeMediaKeyFile',
rather than manually building the file from strings.

1:35 PM Changeset in webkit [185427] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFG ASSERTION FAILED: !iterate() on stress/singleton-scope-then-overwrite.js.ftl-eager
https://bugs.webkit.org/show_bug.cgi?id=145853

Unreviewed, remove the assertion.

  • dfg/DFGCSEPhase.cpp:
12:18 PM WebKitGTK/2.8.x edited by clopez@igalia.com
Propose r184954 (diff)
11:56 AM Changeset in webkit [185426] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

User can not scroll on page when dragging inside video
https://bugs.webkit.org/show_bug.cgi?id=145848
<rdar://problem/20997158>

Reviewed by Brent Fulgham.

Revert the change made in http://trac.webkit.org/changeset/183797
which breaks panning on pages if the touch starts inside the video.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.handleWrapperTouchStart): Do not return true, which stops
the handleEvent call in the superclass from preventing the default action.

11:44 AM Changeset in webkit [185425] by fpizlo@apple.com
  • 12 edits in trunk

JetStream should have a more rational story for jitter-oriented latency tests
https://bugs.webkit.org/show_bug.cgi?id=145762

Reviewed by Geoffrey Garen.

JetStream has some latency tests that are meant to measure jitter. Prior to this change, they
did this by computing the RMS. But the RMS is a pretty bad metric. The thing that it rewards
isn't really the thing that you'd want your browser to do. These RMS-based tests involve taking
the geomean of the RMS of some samples and the sample average. The lower the geomean, the better
(in the JetStream harness we then invert the scores so that higher is better, but let's ignore
that for this discussion and assume that lower is better). Here's an example of how this can go
bad. A browser that always computes a task in some horribly long time (say, 1000ms) but never
varies that time will perform better than a browser that usually computes the task super quickly
(say, 10ms) and sometimes just a little bit less quickly (say, 15ms). The former browser will
have an RMS of 0 and an average of 1000. The latter will have a RMS somewhere around 3.5 and an
average of 12.5 (assuming equal probability of 10ms and 15ms). The geomean of (0, 1000) is 0.
The geomean of (3.5, 12.5) is 6.6. Lower is better, so the former browser scores higher - even
though it's obviously never better to have a browser always complete a task in 1000ms when a
different browser can do it in 15ms in the worst case.

JetStream should not have this pathology. The right way of avoiding it is to replace RMS with
some other metric of how bad things get. A good metric is the average of the worst percentile.
The worst 1% or the worst 5% would be good things to average. This will catch cases where the VM
jittered due to JIT or GC, but it never have the pathology that we end up giving the better score
to a VM whose best case is worst than another VM's worst case.

For now, this change uses the highest samples above the 95% percentile. I'm not yet sure if that
is the best thing - it might include too many scores that are around the best-case performance -
but it's certainly better than RMS and it might be good enough to keep. But because of that
uncertainty, I'm setting the version to be "1.1-alpha1" to indicate that we aren't ready to
release this yet.

  • JetStream/Octane2/base.js:

(.this.Setup.setup.setup):
(.this.TearDown.tearDown.tearDown):
(BenchmarkSuite.GeometricMeanTime):
(BenchmarkSuite.AverageAbovePercentile):
(BenchmarkSuite.GeometricMeanLatency):
(BenchmarkSuite.prototype.NotifyStep):
(BenchmarkSuite.prototype.RunSingleBenchmark):

  • JetStream/Octane2/mandreel.js:

(setupMandreel):
(updateMandreelStats):
(startMandreelTimer):
(latencyMandreel):
(tearDownMandreel):
(RMSMandreel): Deleted.

  • JetStream/Octane2/splay.js:

(GenerateKey):
(SplayUpdateStats):
(InsertNewNode):
(SplayTearDown):
(SplayRMS): Deleted.

  • JetStream/create.rb:
11:43 AM Changeset in webkit [185424] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Explicitly keep track of active HTMLMediaElements in MediaSessions.
https://bugs.webkit.org/show_bug.cgi?id=145829

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

  • Modules/mediasession/MediaSession.cpp: Add support for keeping track of active media elements.

(WebCore::MediaSession::addActiveMediaElement):

  • Modules/mediasession/MediaSession.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::playInternal): If the paused attribute is true and the readyState attribute has the

value HAVE_FUTURE_DATA or HAVE_ENOUGH_DATA, the media element becomes an active participating element of the
media session.

11:15 AM Changeset in webkit [185423] by Chris Dumez
  • 15 edits in trunk/Source/WebCore

Drop unused argument for Node::didNotifySubtreeInsertions()
https://bugs.webkit.org/show_bug.cgi?id=145845

Reviewed by Andreas Kling.

  • dom/ContainerNodeAlgorithms.h:

(WebCore::ChildNodeInsertionNotifier::notify):

  • dom/Node.h:

(WebCore::Node::didNotifySubtreeInsertions):

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::didNotifySubtreeInsertions):

  • html/HTMLFrameElementBase.h:
  • svg/SVGFEImageElement.cpp:

(WebCore::SVGFEImageElement::didNotifySubtreeInsertions):

  • svg/SVGFEImageElement.h:
  • svg/SVGMPathElement.cpp:

(WebCore::SVGMPathElement::didNotifySubtreeInsertions):

  • svg/SVGMPathElement.h:
  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::didNotifySubtreeInsertions):

  • svg/SVGTRefElement.h:
  • svg/SVGTextPathElement.cpp:

(WebCore::SVGTextPathElement::didNotifySubtreeInsertions):

  • svg/SVGTextPathElement.h:
  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::didNotifySubtreeInsertions):

  • svg/animation/SVGSMILElement.h:
10:42 AM Changeset in webkit [185422] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.16-branch/Source

Versioning.

10:40 AM Changeset in webkit [185421] by bshafiei@apple.com
  • 5 edits in branches/safari-600.7-branch/Source

Versioning.

9:57 AM Changeset in webkit [185420] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Support fetching website data
https://bugs.webkit.org/show_bug.cgi?id=145828

Reviewed by Darin Adler.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::fetchData):
(WebKit::WebsiteDataStore::plugins):

  • UIProcess/WebsiteData/WebsiteDataStore.h:
9:43 AM Changeset in webkit [185419] by commit-queue@webkit.org
  • 2 edits
    1 delete in trunk/Source/JavaScriptCore

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

broke debug and jsc tests (Requested by alexchristensen on
#webkit).

Reverted changeset:

"JavaScript: Drop the “escaped reserved words as identifiers”
compatibility measure"
https://bugs.webkit.org/show_bug.cgi?id=90678
http://trac.webkit.org/changeset/185414

8:58 AM Changeset in webkit [185418] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fixing the build for the GTK port with Clang.

  • UIProcess/gtk/InputMethodFilter.h: Add the <functional> header inclusion

to avoid compilation errors due to missing std::function<>.

8:58 AM Changeset in webkit [185417] by hyuki.kim@samsung.com
  • 5 edits
    1 add in trunk/Source/WebCore

[EFL] Jpeg image export implementation for Canvas.
https://bugs.webkit.org/show_bug.cgi?id=145457

Reviewed by Gyuyoung Kim.

Add implementation of jpeg image export on Webkit EFL by using JPEGImageEncoder.

No new tests, fast/canvas/toDataURL-supportedTypes.html can be reused.

  • PlatformEfl.cmake:
  • platform/MIMETypeRegistry.cpp:

(WebCore::initializeSupportedImageMIMETypesForEncoding):

  • platform/graphics/cairo/ImageBufferCairo.cpp:
  • platform/graphics/efl/ImageBufferEfl.cpp: Added.

(WebCore::writeFunction):
(WebCore::encodeImage):
(WebCore::ImageBuffer::toDataURL):

  • platform/image-encoders/JPEGImageEncoder.cpp:

(WebCore::compressRGBABigEndianToJPEG):

8:17 AM Changeset in webkit [185416] by Carlos Garcia Campos
  • 5 edits
    2 moves in trunk/Source

[GTK] Move KeyBindingTranslator from platform to WebKit2 layer
https://bugs.webkit.org/show_bug.cgi?id=145840

Reviewed by Martin Robinson.

It's currently used only by WebKit2 in the UI process and it's
another file built twice because of the GTK2 plugin process.

  • PlatformGTK.cmake:

Source/WebKit2:

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:
  • UIProcess/gtk/KeyBindingTranslator.cpp: Renamed from Source/WebCore/platform/gtk/KeyBindingTranslator.cpp.

(WebKit::backspaceCallback):
(WebKit::selectAllCallback):
(WebKit::cutClipboardCallback):
(WebKit::copyClipboardCallback):
(WebKit::pasteClipboardCallback):
(WebKit::toggleOverwriteCallback):
(WebKit::popupMenuCallback):
(WebKit::showHelpCallback):
(WebKit::deleteFromCursorCallback):
(WebKit::moveCursorCallback):
(WebKit::KeyBindingTranslator::KeyBindingTranslator):
(WebKit::KeyBindingTranslator::commandsForKeyEvent):

  • UIProcess/gtk/KeyBindingTranslator.h: Renamed from Source/WebCore/platform/gtk/KeyBindingTranslator.h.

(WebKit::KeyBindingTranslator::addPendingEditorCommand):

6:32 AM Changeset in webkit [185415] by Carlos Garcia Campos
  • 21 edits in trunk/Source

[GTK] Get rid of GetEditorCommandsForKeyEvent sync message
https://bugs.webkit.org/show_bug.cgi?id=145598

Reviewed by Žan Doberšek.

Source/WebCore:

  • platform/PlatformKeyboardEvent.h:

(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::commands):

  • platform/gtk/KeyBindingTranslator.cpp: Use a single list of

custom key bindings. We don't need to distinguish between key down and
key press commands, since the web editor client already does that
when executing the commands.
(WebCore::KeyBindingTranslator::commandsForKeyEvent): This is
getEditorCommandsForKeyEvent() renamed as commandsForKeyEvent(),
since it now returns the list of commands to simplify the
code. Also simplify the custom key bindings handling, by using the
global list instead of moving it to a HashMap.
(WebCore::KeyBindingTranslator::getEditorCommandsForKeyEvent): Deleted.

  • platform/gtk/KeyBindingTranslator.h:

Source/WebKit2:

We are sending GetEditorCommandsForKeyEvent sync message from web
process to the UI process for every key pressed. And if the
keydown event doesn't handle the key, the message is sent again
for the keypress event, so in many cases it happens twice per
keypress. We can get the list of commands when the key press event
happens in the web view, and send it to the web process as part of
the keyboard event like mac port does. In the web process,
commands not inserting text will be handled by keydown and the
rest in keypress without having to use any other IPC message for that.

  • Shared/NativeWebKeyboardEvent.h: Add command list parameter to

the constructor.

  • Shared/WebEvent.h: Add GTK specific constructor that receives a

list of commands and whether the event was handled by input methods.
(WebKit::WebKeyboardEvent::commands): Returns the list of commands.

  • Shared/WebEventConversion.cpp:

(WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
Also copy the commands and handledByInputMethod member.

  • Shared/WebKeyboardEvent.cpp:

(WebKit::WebKeyboardEvent::WebKeyboardEvent): Implement GTK
specific constructor that receives a list of commands and whether
the event was handled by input methods.
(WebKit::WebKeyboardEvent::encode): Encode commands and handledByInputMethod.
(WebKit::WebKeyboardEvent::decode): Decode commands and handledByInputMethod.

  • Shared/gtk/NativeWebKeyboardEventGtk.cpp:

(WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent): Add
command list parameter to the constructor.

  • Shared/gtk/WebEventFactory.cpp:

(WebKit::WebEventFactory::createWebKeyboardEvent): Use the new
WebKeyboardEvent constructor and simplify the code. We don't need
to explicitly set VK_PROCESSKEY as windows virtual key code when
the event was handled by input methods. The WebCore event handler
already does that.

  • Shared/gtk/WebEventFactory.h:
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::getEditorCommandsForKeyEvent): Deleted.

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp: Add a

KeyBindingTranslator member.
(webkitWebViewBaseKeyPressEvent): Use the new
InputMethodFilter::filterKeyEvent() API and get the list of
commands for the key when events was not handled by input methods.
(webkitWebViewBaseKeyReleaseEvent): Use the new
InputMethodFilter::filterKeyEvent() API.

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.messages.in: Remove GetEditorCommandsForKeyEvent message.
  • UIProcess/gtk/InputMethodFilter.cpp:

(WebKit::InputMethodFilter::handleKeyboardEvent): Call the
completation handler.
(WebKit::InputMethodFilter::handleKeyboardEventWithCompositionResults): Ditto.
(WebKit::InputMethodFilter::filterKeyEvent): Use a completion
handler for the task, so that the caller (the web view) can handle
the keyboard event.

  • UIProcess/gtk/InputMethodFilter.h:
  • UIProcess/gtk/WebPageProxyGtk.cpp:

(WebKit::WebPageProxy::getEditorCommandsForKeyEvent): Deleted.

  • WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:

(WebKit::WebEditorClient::handleKeyboardEvent): Return earlier if
the event was handled by input methods. And get the list of
commands from the PlatformKeyboardEvent instead of sending a sync
message to the UI process.
(WebKit::WebEditorClient::handleInputMethodKeydown): If the event
was handled by inpout methods, set the event as default handled so
that the WebCore event handler sets VK_PROCESSKEY as windows
virtual key code.
(WebKit::WebEditorClient::getEditorCommandsForKeyEvent): Deleted.

6:25 AM Changeset in webkit [185414] by Yusuke Suzuki
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

JavaScript: Drop the “escaped reserved words as identifiers” compatibility measure
https://bugs.webkit.org/show_bug.cgi?id=90678

Reviewed by Darin Adler.

After ES6, escaped reserved words in identifiers are prohibited.

  • parser/Lexer.cpp:

(JSC::Lexer<CharacterType>::parseIdentifierSlowCase):

  • tests/stress/reserved-word-with-escape.js: Added.

(testSyntax):
(testSyntaxError):

6:07 AM Changeset in webkit [185413] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fix GTK build after r185412.

Add missing include.

  • NetworkProcess/cache/NetworkCacheFileSystem.cpp:
6:00 AM Changeset in webkit [185412] by Antti Koivisto
  • 10 edits
    1 move
    1 add in trunk/Source/WebKit2

NetworkCache: Delete old cache versions
https://bugs.webkit.org/show_bug.cgi?id=145800

Reviewed by Darin Adler.

  • CMakeLists.txt:
  • NetworkProcess/cache/NetworkCacheBlobStorage.cpp:

(WebKit::NetworkCache::BlobStorage::synchronize):

  • NetworkProcess/cache/NetworkCacheFileSystem.cpp: Added.

(WebKit::NetworkCache::directoryEntryType):
(WebKit::NetworkCache::traverseDirectory):

Pass entry type as callback argument.

(WebKit::NetworkCache::deleteDirectoryRecursively):

Add helper.

(WebKit::NetworkCache::fileTimes):
(WebKit::NetworkCache::updateFileModificationTimeIfNeeded):

  • NetworkProcess/cache/NetworkCacheFileSystem.h: Copied from Source/WebKit2/NetworkProcess/cache/NetworkCacheFileSystemPosix.h.

Move code to cpp.

(WebKit::NetworkCache::traverseDirectory): Deleted.
(WebKit::NetworkCache::traverseCacheFiles): Deleted.
(WebKit::NetworkCache::fileTimes): Deleted.
(WebKit::NetworkCache::updateFileModificationTimeIfNeeded): Deleted.

  • NetworkProcess/cache/NetworkCacheFileSystemPosix.h: Removed.
  • NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:
  • NetworkProcess/cache/NetworkCacheStatistics.cpp:

(WebKit::NetworkCache::Statistics::bootstrapFromNetworkCache):

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::makeBlobDirectoryPath):
(WebKit::NetworkCache::traverseRecordsFiles):

Move cache hierarchy aware traversal code here from NetworkCacheFileSystem (for better layering).
Rename for clarity.

(WebKit::NetworkCache::deleteEmptyRecordsDirectories):

Factor to a function.

(WebKit::NetworkCache::Storage::Storage):
(WebKit::NetworkCache::Storage::synchronize):
(WebKit::NetworkCache::Storage::traverse):
(WebKit::NetworkCache::Storage::clear):

Use traverseRecordsFiles for traversal.

(WebKit::NetworkCache::Storage::shrink):
(WebKit::NetworkCache::Storage::deleteOldVersions):

Delete version subdirectories with version number less than the current version.
Remove code for clearing unversioned V1 caches. No one should have them.

  • NetworkProcess/cache/NetworkCacheStorage.h:
  • UIProcess/API/APIUserContentExtensionStore.cpp:
  • WebKit2.xcodeproj/project.pbxproj:
4:29 AM Changeset in webkit [185411] by peavo@outlook.com
  • 2 edits in trunk/Source/WebCore

[WinCairo] Crash on exit when terminating egl
https://bugs.webkit.org/show_bug.cgi?id=145832

Reviewed by Carlos Garcia Campos.

Avoid terminating egl on exit for WinCairo.

  • platform/graphics/PlatformDisplay.cpp:

(WebCore::PlatformDisplay::~PlatformDisplay):

3:33 AM Changeset in webkit [185410] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

[GTK] Web Inspector is broken
https://bugs.webkit.org/show_bug.cgi?id=145836

Reviewed by Carlos Garcia Campos.

  • PlatformGTK.cmake: Thread the InspectorBackendCommands.js file as a separate

dependency of InspectorGResourceBundle.xml. It can't be listed under the InspectorFiles
variable and then searched via the CMake glob command because it probably won't exist
at the time the command is run (since it's copied into the specified path), so it won't
be listed among the dependencies at all.

3:15 AM Changeset in webkit [185409] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] InlineCallFrame::arguments should be sized-to-fit.
<https://webkit.org/b/145782>

Reviewed by Darin Adler.

I spotted this Vector<ValueRecovery> looking a bit chubby in Instruments,
with 354 kB of memory allocated on cnet.com.

Use resizeToFit() instead of resize() since we know the final size up front.

  • dfg/DFGByteCodeParser.cpp:

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

1:54 AM Changeset in webkit [185408] by Gyuyoung Kim
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed, EFL gardening on Jun 10th

  • platform/efl/TestExpectations: Mark fast tests to flaky since r183540.
1:10 AM Changeset in webkit [185407] by youenn.fablet@crf.canon.fr
  • 6 edits in trunk/Source/WebCore

Refactor AudioContext implementation to enable automatic binding generation of promise-based methods
https://bugs.webkit.org/show_bug.cgi?id=145223

Reviewed by Darin Adler.

Introducing DOMPromise as a typed wrapper above DeferredWrapper.
This DOMPromise allows constraining Promise resolution/rejection to a single resolution type and rejection type.
This might be useful for typed callback usage of promise based APIs, like getUserMedia() or ReadableStreamReader.read().

Applying DOMPromise to AudioContext close, suspend and resume.
Changed binding code to represent what could be automatically generated by binding generator.
Fixing unneeded copies of std::function callbacks.

Disabling DOMPromise copy constructors to lower chances that resolution/rejection is done twice on the same object.

Covered by existing tests.

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::addReaction):
(WebCore::AudioContext::setState):
(WebCore::AudioContext::suspend):
(WebCore::AudioContext::resume):
(WebCore::AudioContext::close):

  • Modules/webaudio/AudioContext.h:
  • bindings/js/JSAudioContextCustom.cpp:

(WebCore::JSAudioContext::suspend):
(WebCore::JSAudioContext::resume):
(WebCore::JSAudioContext::close):

  • bindings/js/JSDOMPromise.cpp:

(WebCore::DeferredWrapper::callFunction):

  • bindings/js/JSDOMPromise.h:

(WebCore::DeferredWrapper::resolve):
(WebCore::DeferredWrapper::reject):
(WebCore::DOMPromise::DOMPromise):
(WebCore::DOMPromise::resolve):
(WebCore::DOMPromise::reject):

1:09 AM Changeset in webkit [185406] by youenn.fablet@crf.canon.fr
  • 12 edits in trunk

[Streams API] Implement pulling of a source by a ReadableStream
https://bugs.webkit.org/show_bug.cgi?id=145262

Reviewed by Darin Adler

Source/WebCore:

Introduced abstract ReadableStream::doPull() which is overriden in ReadableJSStream.
Added support to call the "pull" JS callback in ReadableJSStream::doPull().
Added calls to pull as requested by the spec (when resolving a read callback, at start time...).

Fixed issue in ReadableStreamReader::read() (use of successCallback(JSValue()) in lieu of endCallback())

Covered by rebased tests.

  • Modules/streams/ReadableStream.cpp:

(WebCore::ReadableStream::start): calling pull() once start.
(WebCore::ReadableStream::pull): calling doPull() if readableStream states requires to.
(WebCore::ReadableStream::read): calling pull() after resolving a read callback.

  • Modules/streams/ReadableStream.h:
  • Modules/streams/ReadableStreamReader.cpp:

(WebCore::ReadableStreamReader::read): fixed JSValue() bug.

  • bindings/js/ReadableJSStream.cpp:

(WebCore::ReadableJSStream::doPull): calling of JS callback.
(WebCore::ReadableJSStream::storeException): catches exception and store them.
(WebCore::ReadableJSStream::storeError): refactoring for checkForException.
(WebCore::ReadableJSStream::enqueue):

  • bindings/js/ReadableJSStream.h:

LayoutTests:

Rebased expectations, removed some "timeout: 50" parameters.
Removed a test from streams/reference-implementation/readable-stream.html that cannot pass
until promises returned to start and pull JS callbacks are handled.
Fixed bug in streams-utils.js (was using the old API replaced by controller).

  • streams/reference-implementation/bad-underlying-sources-expected.txt:
  • streams/reference-implementation/bad-underlying-sources.html:
  • streams/reference-implementation/readable-stream-expected.txt:
  • streams/reference-implementation/readable-stream.html:
  • streams/reference-implementation/resources/streams-utils.js:

(.stream.new.ReadableStream.):
(.stream.new.ReadableStream):
(sequentialReadableStream):

12:29 AM Changeset in webkit [185405] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL] Execute Javascript method in mini browser address bar.
https://bugs.webkit.org/show_bug.cgi?id=145725

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

Support 'javascript:' scheme in WebKit EFL Mini Browser.

  • MiniBrowser/efl/main.c:

(url_from_user_input):
(url_load_from_user_input):
(on_url_bar_activated):
(elm_main):

Jun 9, 2015:

11:26 PM Changeset in webkit [185404] by youenn.fablet@crf.canon.fr
  • 7 edits in trunk/Source/WebCore

DeferredWrapper should clear its JS strong references once its promise is resolved/rejected
https://bugs.webkit.org/show_bug.cgi?id=145753

Reviewed by Darin Adler.

Clear strong references at the end of DeferredWrapper::resolve and DeferredWrapper::reject.
Added assertions to check that resolve or reject is called only once.

Removed DeferredWrapper constructor that creates internally its promise.
Reason is DeferredWrapper can be resolved synchronously and promise
will be lost when returning it at the end of the binding promise function.
Updated all custom bindings accordingly.

Covered by existing tests.

  • bindings/js/JSAudioContextCustom.cpp:

(WebCore::JSAudioContext::suspend): Updated DeferredWrapper constructor to properly return the promise.
(WebCore::JSAudioContext::resume): Ditto.
(WebCore::JSAudioContext::close): Ditto.

  • bindings/js/JSDOMPromise.cpp:

(WebCore::DeferredWrapper::resolve): Cleared strong references after promise resolution.
(WebCore::DeferredWrapper::reject): Cleared strong references after promise rejection.

  • bindings/js/JSDOMPromise.h:

(WebCore::DeferredWrapper::resolve): Added ASSERT to check promise is not yet rejected/resolved.
(WebCore::DeferredWrapper::reject): Ditto.
(WebCore::DeferredWrapper::reject<ExceptionCode>): Ditto.
(WebCore::DeferredWrapper::resolve<String>): Ditto.
(WebCore::DeferredWrapper::resolve<bool>): Ditto.
(WebCore::DeferredWrapper::resolve<JSC::JSValue>): Ditto.
(WebCore::char>>):
(WebCore::DeferredWrapper::reject<String>): Ditto.

  • bindings/js/JSMediaDevicesCustom.cpp:

(WebCore::JSMediaDevices::getUserMedia): Updated DeferredWrapper constructor to properly return the promise.

  • bindings/js/JSReadableStreamReaderCustom.cpp:

(WebCore::JSReadableStreamReader::read): Ditto.
(WebCore::JSReadableStreamReader::closed): Ditto.

  • bindings/js/JSSubtleCryptoCustom.cpp:

(WebCore::JSSubtleCrypto::encrypt): Ditto.
(WebCore::JSSubtleCrypto::decrypt): Ditto.
(WebCore::JSSubtleCrypto::sign): Ditto.
(WebCore::JSSubtleCrypto::verify): Ditto.
(WebCore::JSSubtleCrypto::digest): Ditto.
(WebCore::JSSubtleCrypto::generateKey): Ditto.
(WebCore::JSSubtleCrypto::importKey): Ditto.
(WebCore::JSSubtleCrypto::exportKey): Ditto.
(WebCore::JSSubtleCrypto::wrapKey): Ditto.
(WebCore::JSSubtleCrypto::unwrapKey): Ditto.

10:59 PM Changeset in webkit [185403] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Protect FrameView from being destroyed in Document::recalcStyle()
https://bugs.webkit.org/show_bug.cgi?id=143033
rdar://problem/20326871

Reviewed by Andreas Kling.

This patch ensures that FrameView stays valid in Document::recalcStyle().
It follows the defensive pattern we use to deal with the refcounted FrameView (see EventDispatcher::dispatchEvent)

When the iframe destroys itself in the onBeforeLoad callback (as the result of
PostResolutionCallbackDisabler -> HTMLObjectElement::updateWidget -> guardedDispatchBeforeLoadEvent),
we detach the frame and release the FrameView. However Document::recalcStyle() expects
the FrameView to stay valid.

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

  • dom/Document.cpp:

(WebCore::Document::recalcStyle):

10:38 PM Changeset in webkit [185402] by commit-queue@webkit.org
  • 10 edits
    2 adds in trunk

3D-transformed video does not display on platforms without accelerated video rendering
https://bugs.webkit.org/show_bug.cgi?id=144782

Patch by Daegyu Lee <daegyu.lee@navercorp.com> on 2015-06-09
Reviewed by Simon Fraser.

Source/WebCore:

Video element does not get GraphicsLayer when MediaPlayerPrivate::supportsAcceleratedRendering() returns false
which means not using accelerated video decoding.
Although the video element gets GraphicsLayer by changing the CSS style of video element by javascript,
there is no way to set GraphicsLayer::setDrawsContent(true) for updating the video content.
As a result, after changing the CSS style, the video content does not show.
To avoid missing setDrawsContent(true), add conditions(!supportsAcceleratedRendering() && m_requiresOwnBackingStore).

Test: media/video-transformed-by-javascript.html

media/video-transformed-by-javascript-expected.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::containsPaintedContent):

LayoutTests:

Add layout test that is simply checking video transform by javascript works properly.

  • media/video-transformed-by-javascript-expected.txt: Added.
  • media/video-transformed-by-javascript.html: Added.
  • platform/gtk/TestExpectations:
  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
9:00 PM Changeset in webkit [185401] by dbates@webkit.org
  • 3 edits in trunk/LayoutTests

Update iOS TestExpectations files

  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
8:34 PM Changeset in webkit [185400] by commit-queue@webkit.org
  • 7 edits in trunk

Implement dumpProgressFinishedCallback() for Win layoutTestController.
https://bugs.webkit.org/show_bug.cgi?id=66773

Patch by Hyungwook Lee <hyungwook.lee@navercorp.com> on 2015-06-09
Reviewed by Darin Adler.

Source/WebKit/win:

  • WebView.cpp:

(WebView::setFrameLoadDelegatePrivate):

Tools:

  • DumpRenderTree/win/FrameLoadDelegate.cpp:
  • DumpRenderTree/win/FrameLoadDelegate.h:

LayoutTests:

  • platform/win/TestExpectations:
7:00 PM Changeset in webkit [185399] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Unreviewed build fix. Some builder names are really long.

  • init-database.sql:
5:57 PM Changeset in webkit [185398] by rniwa@webkit.org
  • 6 edits
    2 adds in trunk

REGRESSION(r180867): Tabbing to login field on iCloud.com doesn't have highlight for text
https://bugs.webkit.org/show_bug.cgi?id=145830

Reviewed by Darin Adler.

Source/WebCore:

The bug was caused by setSelection not updating RenderView when there is a style recalc scheduled
that doesn't trigger a layout. Fixed the bug by explicitly updating the selection in
Document::recalcStyle in that case.

Test: editing/selection/update-selection-by-style-change.html

  • dom/Document.cpp:

(WebCore::Document::recalcStyle):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::updateAppearanceAfterLayout): Renamed from didLayout.

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

(WebCore::FrameView::performPostLayoutTasks):

LayoutTests:

Added a regression test.

  • editing/selection/update-selection-by-style-change-expected.html: Added.
  • editing/selection/update-selection-by-style-change.html: Added.
5:53 PM Changeset in webkit [185397] by dino@apple.com
  • 4 edits in trunk/Source/WebCore

MediaControls: Reenable resize of controls on pinch zoom
https://bugs.webkit.org/show_bug.cgi?id=145824
<rdar://problem/21212778>

Reviewed by Darin Adler.

Reinstate the code that updated the scaling of the
controls in response to changes in page scale.
This time around we have to change both the controls
panel, and its blurry background.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.set pageScaleFactor): Deleted a comment.

  • Modules/mediacontrols/mediaControlsiOS.css:

(video::-webkit-media-controls-panel-background): Set the background to pin
to the bottom of its view.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.get pageScaleFactor): Basic getter, copied from mediaControlsApple.
(ControllerIOS.prototype.set pageScaleFactor): The setter that reacts to the page scale
and applies an inverse scaling on the control panel using a transform, and adjusts the
height on the background similarly.

5:46 PM Changeset in webkit [185396] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

GraphicsContext state stack wasting lots of memory when empty.
<https://webkit.org/b/145817>

Reviewed by Geoffrey Garen.

Give the GraphicsContextState stack an inline capacity of 1, and make sure
to free any heap-allocated backing store when the stack goes empty.

The 1 is because HTMLCanvasElement keeps one "save" on the underlying
GraphicsContext at all times, and this prevents those canvases from always
sitting on an empty stack with 16 capacity.

This saves ~520 kB on cnet.com video pages.

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::restore):

  • platform/graphics/GraphicsContext.h:
5:45 PM Changeset in webkit [185395] by commit-queue@webkit.org
  • 8 edits
    2 adds in trunk

SVG Fragment is not rendered if it is the css background image of an HTML element
https://bugs.webkit.org/show_bug.cgi?id=91790

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-06-09
Reviewed by Darin Adler.

Source/WebCore:

To show an SVG fragment, the SVGImage has to scrollToFragment() using
the resource url. The changes http://trac.webkit.org/changeset/164804
and http://trac.webkit.org/changeset/164983 set the url of SVGImage to
to be used later in SVGImage::draw(). The problem is the SVGImage url
is only set when it is the src of an <img> tag. We did not do the same
thing when the SVGImage is the css background image of an HTML element.

The fix is to set the url of the SVGImage always when it's created by
the CachedImage. The CachedImage must have a valid url when the SVGImage
is created.

Test: svg/css/svg-resource-fragment-identifier-background.html

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::load):
(WebCore::CachedImage::checkShouldPaintBrokenImage):
Replace the calls resourceRequest().url() and m_resourceRequest.url() by
calling url() since they are all the same.

(WebCore::CachedImage::createImage): Pass the resource url to SVGImage
and change ImageObserver& by ImageObserver*, since null is not legal.

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::SVGImage):

  • svg/graphics/SVGImage.h: Add a url parameter to SVGImage constructor.
  • svg/graphics/SVGImageCache.cpp:

(WebCore::SVGImageCache::findImageForRenderer): Add a new helper function.

(WebCore::SVGImageCache::imageSizeForRenderer):
(WebCore::SVGImageCache::imageForRenderer): Code clean up.

  • svg/graphics/SVGImageCache.h: Make imageForRenderer() const.
  • svg/graphics/SVGImageForContainer.cpp: Remove unneeded header file.

LayoutTests:

  • svg/css/svg-resource-fragment-identifier-background-expected.html: Added.
  • svg/css/svg-resource-fragment-identifier-background.html: Added.

Ensure that the SVG fragment is displayed correctly when it's used as a
css background image.

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

Add support for toggling playback in MediaSessions and MediaSessionManagers.
https://bugs.webkit.org/show_bug.cgi?id=145822

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

  • Modules/mediasession/MediaSession.cpp: Toggle playback of all active media elements.

(WebCore::MediaSession::togglePlayback):

  • Modules/mediasession/MediaSession.h:
  • Modules/mediasession/MediaSessionManager.cpp: Toggle playback of all media sessions as described in the Media Session spec.

(WebCore::MediaSessionManager::togglePlayback):

  • Modules/mediasession/MediaSessionManager.h:
4:49 PM Changeset in webkit [185393] by Darin Adler
  • 5 edits in trunk

Takes two delete key presses to delete pasted emoji up-pointing index finger with skin tone
https://bugs.webkit.org/show_bug.cgi?id=145823

Reviewed by Anders Carlsson.

Source/WebCore:

Tests: editing/deleting/delete-emoji.html

  • rendering/RenderText.cpp:

(WebCore::isHangulLVT): Use constants instead of macros. Also changed to take a UChar since
the Hangul processing can work on UTF-16 code unit at a time and doesn't have to handle
surrogate pairs.
(WebCore::isMark): Use U_GC_M_MASK instead of writing the algorithm out another way.
(WebCore::isInArmenianToLimbuRange): Added.
(WebCore::RenderText::previousOffsetForBackwardDeletion): Refactored for clarity and to use
the U16_PREV macro instead of doing what it does in a sloppier way. Added code to allow a
variation selector before an emoji modifier to fix the bug. Changed Hangul logic to work a
code unit at a time, since it can, to use an enum class, and to use constants rather than
all capital macros. Also changed the "dumb" case to use a more appropriate ICU macro.

LayoutTests:

  • editing/deleting/delete-emoji-expected.txt: Updated to expect a little more testing.
  • editing/deleting/delete-emoji.html: Added a test case and streamlined the test a bit.
4:24 PM Changeset in webkit [185392] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk

feComposite filter does not clip the paint rect to its effect rect when the operator is 'in' or 'atop'
https://bugs.webkit.org/show_bug.cgi?id=137856

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-06-09
Reviewed by Darin Adler.

Source/WebCore:

There was bug in calculating the absolutePaintRect of the feComposite filter
when the operator is equal to 'in' or 'atop'. The absolutePaintRect was set
to the absolutePaintRect of the background FilterEffect which is correct.
What was missing is clipping this rectangle to the maxEffectRect of the
filter which we do for other operators.

Tests: svg/filters/feComposite-background-rect-control-operators.svg

  • platform/graphics/IntRect.h:

(WebCore::operator-=):
(WebCore::operator-): Add new operators to IntRect.

  • platform/graphics/filters/FEComposite.cpp:

(WebCore::FEComposite::determineAbsolutePaintRect): Make sure the filter
absolutePaintRect is clipped to maxEffectRect for all operators.

(WebCore::FEComposite::platformApplySoftware): Code clean-up.

  • platform/graphics/filters/FilterEffect.cpp:

(WebCore::FilterEffect::determineAbsolutePaintRect): Move the clipping
part to a separate function.

(WebCore::FilterEffect::clipAbsolutePaintRect): Clip the absolutePaintRect
to the maxEffectRect of the filter.

  • platform/graphics/filters/FilterEffect.h:

LayoutTests:

  • svg/filters/feComposite-background-rect-control-operators-expected.svg: Added.
  • svg/filters/feComposite-background-rect-control-operators.svg: Added.

Ensure the painting rect of the feComposite filter with operator 'in' or
'atop' is clipped to its bounding rectangle

4:22 PM Changeset in webkit [185391] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix build.

  • UIProcess/Plugins/WebPluginSiteDataManager.cpp:

(WebKit::WebPluginSiteDataManager::GetSitesWithDataState::getSitesWithDataForNextPlugin):

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

Change the PluginProcessManager data fetching function to take a completion handler
https://bugs.webkit.org/show_bug.cgi?id=145821

Reviewed by Sam Weinig.

  • UIProcess/Plugins/PluginProcessManager.cpp:

(WebKit::PluginProcessManager::fetchWebsiteData):
(WebKit::PluginProcessManager::getSitesWithData): Deleted.

  • UIProcess/Plugins/PluginProcessManager.h:
  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::generateCallbackID):
(WebKit::PluginProcessProxy::~PluginProcessProxy):
(WebKit::PluginProcessProxy::fetchWebsiteData):
(WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
(WebKit::PluginProcessProxy::didFinishLaunching):
(WebKit::PluginProcessProxy::didGetSitesWithData):
(WebKit::PluginProcessProxy::getSitesWithData): Deleted.

  • UIProcess/Plugins/PluginProcessProxy.h:
  • UIProcess/Plugins/WebPluginSiteDataManager.cpp:

(WebKit::WebPluginSiteDataManager::GetSitesWithDataState::getSitesWithDataForNextPlugin):

3:57 PM Changeset in webkit [185389] by commit-queue@webkit.org
  • 3 edits
    2 copies in trunk/Source/WebCore

Implement MediaSessionManager to keep track of all MediaSessions.
https://bugs.webkit.org/show_bug.cgi?id=145806

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

  • Modules/mediasession/MediaSession.cpp:

(WebCore::MediaSession::MediaSession): Add ourselves to the MediaSessionManager upon construction.
(WebCore::MediaSession::~MediaSession): Remove ourselves from the MediaSessionManager before destruction.

  • Modules/mediasession/MediaSessionManager.cpp: Added to keep track of all living MediaSessions.

(WebCore::MediaSessionManager::singleton):
(WebCore::MediaSessionManager::addMediaSession):
(WebCore::MediaSessionManager::removeMediaSession):

  • Modules/mediasession/MediaSessionManager.h: Added.
  • WebCore.xcodeproj/project.pbxproj: Added new MediaSessionManager sources.
3:20 PM Changeset in webkit [185388] by ryuan.choi@navercorp.com
  • 5 edits in trunk/Source/WebCore

[CoordinatedGraphics] Remove RefCounted from Tile
https://bugs.webkit.org/show_bug.cgi?id=145788

Reviewed by Darin Adler.

Since r185140, Tile does not need to be RefCounted.

No new tests, no behavior changes.

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

(WebCore::Tile::create): Deleted.

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

(WebCore::TiledBackingStore::invalidate):
(WebCore::TiledBackingStore::updateTileBuffers): Simplifies not to use unnecessary Vector.
(WebCore::TiledBackingStore::coverageRatio):
(WebCore::TiledBackingStore::createTiles):
(WebCore::TiledBackingStore::resizeEdgeTiles):
(WebCore::TiledBackingStore::setKeepRect):
(WebCore::TiledBackingStore::tileAt): Deleted one line wrapper.
(WebCore::TiledBackingStore::setTile): Ditto.
(WebCore::TiledBackingStore::removeTile): Ditto.

  • platform/graphics/texmap/coordinated/TiledBackingStore.h:
3:15 PM Changeset in webkit [185387] by Chris Dumez
  • 12 edits in trunk/Source

Allow one sync GC per gcTimer interval on critical memory pressure warning
https://bugs.webkit.org/show_bug.cgi?id=145773

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

On critical memory pressure warning, we were calling GCController::garbageCollectSoon(),
which does not offer any guarantee on when the garbage collection will actually take
place.

On critical memory pressure, we need to free up memory as soon as possible to avoid
getting killed so this is an issue. Also, the fact that we clear the PageCache on
critical memory pressure means a GC would likely be useful, even if the last
collection did not free much memory.

This patch adds a new GCController::garbageCollectNowIfNotDoneRecently() API that allows
one synchronous GC per gcTimer interval on critical memory pressure warning. This makes
us more responsive to critical memory pressure and avoids doing synchronous GCs too
often.

  • heap/FullGCActivityCallback.cpp:

(JSC::FullGCActivityCallback::doCollection):

  • heap/FullGCActivityCallback.h:

(JSC::GCActivityCallback::createFullTimer):

  • heap/GCActivityCallback.h:
  • heap/Heap.cpp:

(JSC::Heap::collectAllGarbageIfNotDoneRecently):

  • heap/Heap.h:
  • heap/IncrementalSweeper.cpp:

(JSC::IncrementalSweeper::doWork): Deleted.

  • heap/IncrementalSweeper.h:

Drop fullSweep() API as it no longer seems useful. garbageCollectNow()
already does a sweep after the full collection.

Source/WebCore:

  • bindings/js/GCController.cpp:

(WebCore::GCController::garbageCollectNowIfNotDoneRecently):

Add new GCController::garbageCollectNowIfNotDoneRecently() API that
allows one synchronous GC per full GC timer interval. If called more
than once per interval, it becomes equivalent to garbageCollectSoon()
and merely accelerates the next collection.

  • bindings/js/GCController.h:
  • platform/MemoryPressureHandler.cpp:

(WebCore::MemoryPressureHandler::releaseCriticalMemory):

Call the new GCController::garbageCollectNowIfNotDoneRecently() on
critical memory pressure instead of garbageCollectionSoon() to try
as do a synchronous GC if one wasn't already done recently.
Also drop call to fullSweep() as GCController::garbageCollectNow*()
already do a sweep after the collection.

3:12 PM Changeset in webkit [185386] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit2

Add code to keep track of plug-in data host names in website data records
https://bugs.webkit.org/show_bug.cgi?id=145818

Reviewed by Andreas Kling.

  • Shared/WebsiteData/WebsiteData.cpp:

(WebKit::WebsiteData::encode):
(WebKit::WebsiteData::decode):

  • Shared/WebsiteData/WebsiteData.h:
  • UIProcess/WebsiteData/WebsiteDataRecord.cpp:

(WebKit::WebsiteDataRecord::displayNameForPluginDataHostName):
(WebKit::WebsiteDataRecord::addPluginDataHostName):
(WebKit::WebsiteDataRecord::displayNameForCookieHostName): Deleted.

  • UIProcess/WebsiteData/WebsiteDataRecord.h:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::fetchData):

3:01 PM Changeset in webkit [185385] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.7.11

New tag.

3:01 PM Changeset in webkit [185384] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.16.6

New tag.

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

Add Plug-in type declarations to WKWebsiteDataRecord and friends
https://bugs.webkit.org/show_bug.cgi?id=145816

Reviewed by Andreas Kling.

  • Shared/WebsiteData/WebsiteDataTypes.h:
  • UIProcess/API/Cocoa/WKWebsiteDataRecord.mm:

(dataTypesToString):

  • UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:

(WebKit::toWebsiteDataTypes):
(WebKit::toWKWebsiteDataTypes):

  • UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h:
2:25 PM Changeset in webkit [185382] by akling@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

[JSC] CodeBlock::m_constantRegisters should be sized-to-fit.
<https://webkit.org/b/145784>

Reviewed by Darin Adler.

Spotted this Vector looking chubby on cnet.com, with 1.23 MB of memory
allocated below CodeBlock::setConstantRegisters().

Use resizeToFit() instead since we know the final size up front.
Also removed some unused functions that operated on this constants vector
and the corresponding one in UnlinkedCodeBlock.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::addOrFindConstant): Deleted.
(JSC::CodeBlock::findConstant): Deleted.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::setConstantRegisters):
(JSC::CodeBlock::numberOfConstantRegisters): Deleted.

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedCodeBlock::addOrFindConstant): Deleted.

  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedCodeBlock::numberOfConstantRegisters): Deleted.
(JSC::UnlinkedCodeBlock::getConstant): Deleted.

2:23 PM Changeset in webkit [185381] by akling@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

[JSC] Polymorphic{Get,Put}ByIdList::addAccess() should optimize for size, not speed.
<https://webkit.org/b/145786>

Reviewed by Darin Adler.

These functions already contained comments saying they optimize for size over speed,
but they were using Vector::resize() which adds the usual slack for faster append().

Switch them over to using Vector::resizeToFit() instead, which makes the Vector
allocate a perfectly sized backing store.

Spotted 670 kB of the GetById ones, and 165 kB of PutById on cnet.com, so these
Vectors are definitely worth shrink-wrapping.

  • bytecode/PolymorphicGetByIdList.cpp:

(JSC::PolymorphicGetByIdList::addAccess):

  • bytecode/PolymorphicPutByIdList.cpp:

(JSC::PolymorphicPutByIdList::addAccess):

2:21 PM Changeset in webkit [185380] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] JSPropertyNameEnumerator's property name vector should be sized-to-fit.
<https://webkit.org/b/145787>

Reviewed by Darin Adler.

Saw 108 kB worth of JSPropertyNameEnumerator backing store Vectors on cnet.com.
Use Vector::resizeToFit() since we know the perfect size up front.

  • runtime/JSPropertyNameEnumerator.cpp:

(JSC::JSPropertyNameEnumerator::finishCreation):

2:20 PM Changeset in webkit [185379] by akling@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

FunctionExecutable::isCompiling() is weird and wrong.
<https://webkit.org/b/145689>

Reviewed by Geoffrey Garen.

Remove FunctionExecutable::isCompiling() and the clearCodeIfNotCompiling() style
functions that called it before throwing away code.

isCompiling() would consider the executable to be "compiling" if it had a CodeBlock
but no JITCode. In practice, every executable gets a JITCode at the same time as it
gets a CodeBlock, by way of prepareForExecutionImpl().

  • debugger/Debugger.cpp:
  • heap/Heap.cpp:

(JSC::Heap::deleteAllCompiledCode):
(JSC::Heap::deleteAllUnlinkedFunctionCode):

  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::TypeRecompiler::visit):

  • runtime/Executable.cpp:

(JSC::FunctionExecutable::clearUnlinkedCodeForRecompilation):
(JSC::FunctionExecutable::clearCodeIfNotCompiling): Deleted.
(JSC::FunctionExecutable::clearUnlinkedCodeForRecompilationIfNotCompiling): Deleted.

  • runtime/Executable.h:
  • runtime/VM.cpp:

(JSC::StackPreservingRecompiler::visit):

2:19 PM Changeset in webkit [185378] by Darin Adler
  • 1 edit in trunk/Source/WebCore/ChangeLog

no, it was not reviewed

2:18 PM Changeset in webkit [185377] by Darin Adler
  • 5 edits in trunk/Source/WebCore

Follow-up fix for:
JavaScript bindings are unnecessarily checking for impossible empty JSValue arguments
https://bugs.webkit.org/show_bug.cgi?id=145811

Reviewed by Antti Koivisto.

There was one unusual case in the bindings generator that was depending on this.

  • bindings/js/JSDOMBinding.h:

(WebCore::argumentOrNull): Deleted.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateParametersCheck): Stop using argumentOrNull.

  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Updated.
  • bindings/scripts/test/JS/JSTestObj.cpp: Updated.
1:23 PM Changeset in webkit [185376] by bshafiei@apple.com
  • 18 edits
    3 copies in branches/safari-600.1.4.16-branch

Merged r183682. rdar://problem/21290700

1:22 PM Changeset in webkit [185375] by bshafiei@apple.com
  • 18 edits
    3 copies in branches/safari-600.7-branch

Merged r183682. rdar://problem/21290693

1:12 PM Changeset in webkit [185374] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r185262): NetworkCache is in wrong location on OS X
https://bugs.webkit.org/show_bug.cgi?id=145812

Reviewed by Anders Carlsson.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory):
(WebKit::WebProcessPool::isNetworkCacheEnabled):

Make sure static functions that use NSUserDefaults call registerUserDefaultsIfNeeded() first.

12:55 PM Changeset in webkit [185373] by Darin Adler
  • 15 edits in trunk/Source/WebCore

JavaScript bindings are unnecessarily checking for impossible empty JSValue arguments
https://bugs.webkit.org/show_bug.cgi?id=145811

Reviewed by Antti Koivisto.

At some point, someone who didn't understand JSValue very well added checks for
isEmpty (and the function isEmpty itself) in JavaScript bindings. But the engine
never would pass an empty JSValue to a binding; that's used only inside the
engine itself. I think this was done by some Google V8 experts a while back, so
it's not entirely surprising they didn't understand this. But we don't want to
keep all that unneeded code.

  • bindings/js/JSAudioTrackCustom.cpp:

(WebCore::JSAudioTrack::setKind): Removed the isEmpty clause here. I presume this
was copied and pasted from script-generated bindings. While I was at it, I used a
slightly more efficient code path that avoids doing a ref/deref on the string by
using auto&. That's trickier to do correctly for functions with more than one
argument, so I didn't do it in the bindings generator yet.
(WebCore::JSAudioTrack::setLanguage): Ditto.

  • bindings/js/JSTextTrackCustom.cpp:

(WebCore::JSTextTrack::setKind): Ditto.
(WebCore::JSTextTrack::setLanguage): Ditto.

  • bindings/js/JSVideoTrackCustom.cpp:

(WebCore::JSVideoTrack::setKind): Ditto.
(WebCore::JSVideoTrack::setLanguage): Ditto.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation): Use "=" syntax instead of constructor style syntax for
the argument processing. I think this is more readable.
(GenerateParametersCheck): For the enum code path, did the more efficient auto&
idiom to avoid ref/deref on a string. For the toExistingAtomicString path,
restructured so we don't have to check the flag indicating that something is atomic.
Later we could also avoid the ref/deref; added a FIXME about that.
(GetNativeType): Use String, not const String, for local variables. Sure, the
string is const, but so is every other local variable type we use! No need to be
wordy about it.
(JSValueToNative): Removed the uneeded calls to isEmpty. Since the call sites no
longer use construction syntax, used initializer syntax style for a couple classes
that are constructed with multiple arguments.

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: Updated.
  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestEventTarget.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestNondeterministic.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestTypedefs.cpp: Ditto.
12:29 PM Changeset in webkit [185372] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebCore

Fix unused private field warning in GraphicsLayerUpdater.h
https://bugs.webkit.org/show_bug.cgi?id=145757

Reviewed by Darin Adler.

  • platform/graphics/GraphicsLayerUpdater.cpp:

(WebCore::GraphicsLayerUpdater::GraphicsLayerUpdater):

  • platform/graphics/GraphicsLayerUpdater.h:
12:29 PM Changeset in webkit [185371] by rniwa@webkit.org
  • 5 edits in trunk/Tools

run-benchmark should either checkout JetStream 1.0.1 or support running the latest version
https://bugs.webkit.org/show_bug.cgi?id=145764

Reviewed by Darin Adler.

Added the support for checkout a subversion directory in run-benchmark and used in the plans for
JetStream and SunSpider.

  • Scripts/webkitpy/benchmark_runner/benchmark_builder/generic_benchmark_builder.py:

(GenericBenchmarkBuilder):
(GenericBenchmarkBuilder.prepare): Instead of taking each argument from benchmark plan, just accept
the whole JSON as the input.
(GenericBenchmarkBuilder._checkoutWithSubverion): Added.
(GenericBenchmarkBuilder._applyPatch): Check the existence of benchmark_patch in prepare() instead.

  • Scripts/webkitpy/benchmark_runner/benchmark_runner.py:

(BenchmarkRunner.execute): Removed the check for having either 'local_copy' or 'remote_archive' in
a benchmark plan now that it's checkedi in GenericBenchmarkBuilder.prepare.

  • Scripts/webkitpy/benchmark_runner/data/plans/jetstream.plan:
  • Scripts/webkitpy/benchmark_runner/data/plans/sunspider.plan:
11:42 AM Changeset in webkit [185370] by Yusuke Suzuki
  • 41 edits
    9 adds in trunk

Introduce getter definition into static hash tables and use it for getters in RegExp.prototype.
https://bugs.webkit.org/show_bug.cgi?id=145705

Reviewed by Darin Adler.

Source/JavaScriptCore:

In this patch, we introduce Accessor type into property tables.
With Accessor type, create_hash_table creates a static getter property.
This getter property is reified as the same to the static functions.

In the mean time, we only support getter because putEntry and lookupPut
only work with null setter currently. However, in the spec, there's
no need to add static setter properties. So we will add it if it becomes
necessary in the future.

And at the same time, this patch fixes the issue 145738. Before this patch,
putEntry in JSObject::deleteProperty adds undefined property if
isValidOffset(...) is false (deleted). As the result, deleting twice
revives the property with undefined value.

If the static functions are reified and the entry is
BuiltinOrFunctionOrAccessor, there's no need to execute putEntry with
static hash table entry. They should be handled in the normal structure's
looking up because they should be already reified. So added guard for this.

  • CMakeLists.txt:
  • DerivedSources.make:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • create_hash_table:
  • runtime/JSObject.cpp:

(JSC::getClassPropertyNames):
(JSC::JSObject::put):
(JSC::JSObject::deleteProperty):
(JSC::JSObject::reifyStaticFunctionsForDelete):

  • runtime/Lookup.cpp:

(JSC::reifyStaticAccessor):
(JSC::setUpStaticFunctionSlot):

  • runtime/Lookup.h:

(JSC::HashTableValue::propertyGetter):
(JSC::HashTableValue::propertyPutter):
(JSC::HashTableValue::accessorGetter):
(JSC::HashTableValue::accessorSetter):
(JSC::getStaticPropertySlot):
(JSC::getStaticValueSlot):
(JSC::putEntry):
(JSC::reifyStaticProperties):

  • runtime/PropertySlot.h:
  • runtime/RegExpObject.cpp:

(JSC::RegExpObject::getOwnPropertySlot):
(JSC::regExpObjectGlobal): Deleted.
(JSC::regExpObjectIgnoreCase): Deleted.
(JSC::regExpObjectMultiline): Deleted.
(JSC::appendLineTerminatorEscape<LChar>): Deleted.
(JSC::appendLineTerminatorEscape<UChar>): Deleted.
(JSC::regExpObjectSourceInternal): Deleted.
(JSC::regExpObjectSource): Deleted.

  • runtime/RegExpPrototype.cpp:

(JSC::RegExpPrototype::getOwnPropertySlot):
(JSC::regExpProtoGetterGlobal):
(JSC::regExpProtoGetterIgnoreCase):
(JSC::regExpProtoGetterMultiline):
(JSC::appendLineTerminatorEscape<LChar>):
(JSC::appendLineTerminatorEscape<UChar>):
(JSC::regExpProtoGetterSourceInternal):
(JSC::regExpProtoGetterSource):

  • tests/stress/static-function-delete.js: Added.

(shouldBe):

  • tests/stress/static-function-put.js: Added.

(shouldBe):

  • tests/stress/static-getter-delete.js: Added.

(shouldBe):
(shouldThrow):

  • tests/stress/static-getter-descriptors.js: Added.

(shouldBe):

  • tests/stress/static-getter-enumeration.js: Added.

(shouldBe):

  • tests/stress/static-getter-get.js: Added.

(shouldBe):

  • tests/stress/static-getter-in-names.js: Added.

(shouldBe):

  • tests/stress/static-getter-names.js: Added.

(shouldBe):

  • tests/stress/static-getter-put.js: Added.

(shouldBe):
(shouldThrow):

LayoutTests:

Adjust RegExp.prototype and instance's getter layout.
This is a breaking change from ES5.
So ES5 conformance tests like sputnik is needed to be fixed.

  • ietestcenter/Javascript/15.2.3.3-4-212-expected.txt:
  • ietestcenter/Javascript/15.2.3.3-4-213-expected.txt:
  • ietestcenter/Javascript/15.2.3.3-4-214-expected.txt:
  • ietestcenter/Javascript/15.2.3.3-4-215-expected.txt:
  • ietestcenter/Javascript/TestCases/15.2.3.3-4-212.js:

(ES5Harness.registerTest):

  • ietestcenter/Javascript/TestCases/15.2.3.3-4-213.js:

(ES5Harness.registerTest):

  • ietestcenter/Javascript/TestCases/15.2.3.3-4-214.js:

(ES5Harness.registerTest):

  • ietestcenter/Javascript/TestCases/15.2.3.3-4-215.js:

(ES5Harness.registerTest):

  • js/Object-getOwnPropertyNames-expected.txt:
  • js/dom/getOwnPropertyDescriptor-expected.txt:
  • js/mozilla/strict/15.10.7-expected.txt:
  • js/mozilla/strict/script-tests/15.10.7.js:
  • js/pic/cached-named-property-getter.html:
  • js/resources/getOwnPropertyDescriptor.js:

(.get descriptorShouldBe):

  • js/script-tests/Object-getOwnPropertyNames.js:
  • sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/15.10.7.1_source/S15.10.7.1_A10.html:
  • sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/15.10.7.1_source/S15.10.7.1_A8.html:
  • sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/15.10.7.1_source/S15.10.7.1_A9.html:
  • sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/15.10.7.2_global/S15.10.7.2_A10.html:
  • sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/15.10.7.2_global/S15.10.7.2_A8.html:
  • sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/15.10.7.2_global/S15.10.7.2_A9.html:
  • sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/15.10.7.3_ignoreCase/S15.10.7.3_A10.html:
  • sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/15.10.7.3_ignoreCase/S15.10.7.3_A8.html:
  • sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/15.10.7.3_ignoreCase/S15.10.7.3_A9.html:
  • sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/15.10.7.4_multiline/S15.10.7.4_A10.html:
  • sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/15.10.7.4_multiline/S15.10.7.4_A8.html:
  • sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.7/15.10.7.4_multiline/S15.10.7.4_A9.html:
11:31 AM Changeset in webkit [185369] by Yusuke Suzuki
  • 6 edits
    2 adds in trunk

Crash when passing Symbol to NPAPI plugin objects
https://bugs.webkit.org/show_bug.cgi?id=145798

Reviewed by Darin Adler.

Source/WebCore:

Test: plugins/npruntime/script-object-with-symbols.html

For C bridge APIs, we add guards for symbols.
This is the same to the existing guards in Objective-C APIs.

  • bridge/c/c_class.cpp:

(JSC::Bindings::CClass::methodNamed):
(JSC::Bindings::CClass::fieldNamed):

  • bridge/objc/objc_class.mm:

(JSC::Bindings::ObjcClass::methodNamed):
(JSC::Bindings::ObjcClass::fieldNamed):
(JSC::Bindings::ObjcClass::fallbackObject):

Source/WebKit2:

When the symbol is passed, propertyName.publicName() becomes nullptr.
So dereferencing it causes null dereference errors.
At first, this bug appears in the https://bugs.webkit.org/show_bug.cgi?id=145556,
plugin[@@toStringTag] ("string" + plugin) causes SEGV in plugins/embed-inside-object.html test.

This patch avoids it by early returning when the symbols are passed.
Methods for symbols are not implemented in the NPObject side, so it works correctly.

  • WebProcess/Plugins/Netscape/JSNPObject.cpp:

(WebKit::npIdentifierFromIdentifier):
(WebKit::JSNPObject::callMethod):
(WebKit::JSNPObject::getOwnPropertySlot):
(WebKit::JSNPObject::put):
(WebKit::JSNPObject::deleteProperty):
(WebKit::JSNPObject::propertyGetter):
(WebKit::JSNPObject::methodGetter):

LayoutTests:

  • plugins/npruntime/script-object-with-symbols-expected.txt: Added.
  • plugins/npruntime/script-object-with-symbols.html: Added.
11:03 AM Changeset in webkit [185368] by akling@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

[JSC] JSString::getIndex() should avoid reifying substrings.
<https://webkit.org/b/145803>

Reviewed by Darin Adler.

Implement getIndex() using JSString::view(), which cuts it down to a one-liner
and also avoids reifying substrings.

I saw 178 kB of reified substrings below operationGetByVal -> getIndex()
on cnet.com, so this should help.

  • runtime/JSString.cpp:

(JSC::JSRopeString::getIndexSlowCase): Deleted.

  • runtime/JSString.h:

(JSC::JSString::getIndex):

11:01 AM Changeset in webkit [185367] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] String.prototype.indexOf() should use StringView.
<https://webkit.org/b/145351>

Reviewed by Darin Adler.

Use StringView::find() to implement String.prototype.indexOf().
This avoids reifying the needle and haystack JSStrings in case they
are substrings.

Reduces malloc memory by ~190 kB on cnet.com.

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncIndexOf):

10:11 AM Changeset in webkit [185366] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[SOUP] Network Cache: Give more priority to reads over writes in IO WorkQueue
https://bugs.webkit.org/show_bug.cgi?id=145791

Reviewed by Sergio Villar Senin.

Keep using G_PRIORITY_DEFAULT for reads, but use
G_PRIORITY_DEFAULT_IDLE for writes now.

  • NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:

(WebKit::NetworkCache::outputStreamWriteReadyCallback): Use
G_PRIORITY_DEFAULT_IDLE for write async operations.
(WebKit::NetworkCache::IOChannel::write): Pass
G_PRIORITY_DEFAULT_IDLE to runTaskInQueue().

10:07 AM Changeset in webkit [185365] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[SOUP] Network Cache: run the IO completion handler in the given queue instead of the whole operation
https://bugs.webkit.org/show_bug.cgi?id=145797

Reviewed by Žan Doberšek.

I misunderstood what the WorkQueue parameter meant in the IO
channel operations. It's the queue where the completion handler
should be run, not the whole operation. Since our operations are
already non-blocking, we can just run the read/writes in the main
thread, and schedule the completion handler in the given work
queue when the operation finishes.

  • NetworkProcess/cache/NetworkCacheIOChannel.h:
  • NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:

(WebKit::NetworkCache::inputStreamReadReadyCallback):
(WebKit::NetworkCache::IOChannel::read):
(WebKit::NetworkCache::IOChannel::readSync):
(WebKit::NetworkCache::outputStreamWriteReadyCallback):
(WebKit::NetworkCache::IOChannel::write):

9:56 AM Changeset in webkit [185364] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Remove more unused SPI methods
https://bugs.webkit.org/show_bug.cgi?id=145804

Reviewed by Simon Fraser.

  • Misc/WebNSURLRequestExtras.h:
  • Misc/WebNSURLRequestExtras.m:

(-[NSURLRequest _web_HTTPReferrer]): Deleted.
(-[NSURLRequest _web_HTTPContentType]): Deleted.
(-[NSURLRequest _web_isConditionalRequest]): Deleted.

8:26 AM Changeset in webkit [185363] by dbates@webkit.org
  • 3 edits in trunk/LayoutTests

Update iOS TestExpectations files

  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
6:26 AM Changeset in webkit [185362] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r185357): Fix build for iOS 8.x

  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(fallbackIconForFile): Add cast prior to iOS 9.

3:30 AM Changeset in webkit [185361] by Gyuyoung Kim
  • 1 edit
    1 delete in trunk/Tools

Remove ewstool scripts used by chromium port
https://bugs.webkit.org/show_bug.cgi?id=145789

Reviewed by Csaba Osztrogonác.

  • EWSTools/GoogleComputeEngine/build-chromium-ews.sh: Removed.
  • EWSTools/GoogleComputeEngine/build-commit-queue.sh: Removed.
  • EWSTools/GoogleComputeEngine/build-cr-linux-debug-ews.sh: Removed.
  • EWSTools/GoogleComputeEngine/build-feeder-style-sheriffbot.sh: Removed.
  • EWSTools/GoogleComputeEngine/findzone.sh: Removed.
3:03 AM Changeset in webkit [185360] by Gyuyoung Kim
  • 2 edits in trunk/Source/WebKit2

[EFL] Fix a crash on MiniBrowser when running on debug mode
https://bugs.webkit.org/show_bug.cgi?id=145793

Reviewed by Carlos Garcia Campos.

r185314 missed to initialize parameters.diskCacheDirectory with configuration's one.

  • UIProcess/efl/WebProcessPoolEfl.cpp:

(WebKit::WebProcessPool::platformInitializeWebProcess):

2:56 AM Changeset in webkit [185359] by Michał Pakuła vel Rutka
  • 2 edits in trunk/Tools

Unreviewed, updated my list of email addresses.

  • Scripts/webkitpy/common/config/contributors.json:
2:46 AM Changeset in webkit [185358] by Csaba Osztrogonác
  • 20 edits in trunk

[cmake] Fix the style issues in cmake project files
https://bugs.webkit.org/show_bug.cgi?id=145755

Reviewed by Darin Adler.

Source/JavaScriptCore:

  • CMakeLists.txt:

Source/WebCore:

  • CMakeLists.txt:
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • PlatformMac.cmake:
  • PlatformWin.cmake:
  • PlatformWinCairo.cmake:

Source/WebKit:

  • PlatformMac.cmake:

Source/WebKit2:

  • CMakeLists.txt:
  • PlatformGTK.cmake:
  • PlatformMac.cmake:

Source/WTF:

  • wtf/CMakeLists.txt:

Tools:

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/PlatformEfl.cmake:
1:18 AM Changeset in webkit [185357] by jhoneycutt@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] UI process memory spike, hang when uploading a very large JPEG

<https://bugs.webkit.org/show_bug.cgi?id=145567>
<rdar://problem/21206699>

When uploading an image, we generate a thumbnail to use for an icon
that sits next to the control. To do this, we load the image and draw
it into a thumbnail-sized canvas. This can be very expensive for large
images.

To fix this, we'll use CGImageSource API, which will allow us to get
any existing thumbnail that exists in the source file.

Reviewed by Darin Adler.

  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(squareCropRectForSize):
Use std::round, based on Darin's review feedback that a) rintf is
incorrect in 64-bit systems where CGFloat is a double, b) rintf uses a
variable rounding mode, which is undesirable.
(squareImage):
Changed to take a CGImageRef.
Use RetainPtr and +[UIImage imageWithCGImage:] to match other code in
this file.
(thumbnailSizedImageForImage):
Changed to take a CGImageRef and to use iconSideLength.
(iconForImageFile):
Create an image source for the file, then use CGImageSource API to
generate a thumbnail.
(-[_WKImageFileUploadItem initWithFileURL:originalImage:]): Deleted.
(-[_WKImageFileUploadItem displayImage]):
Use iconForImageFile() rather than trying to generate an icon from the
UIImage.
(-[WKFileUploadPanel _uploadItemForImageData:imageName:successBlock:failureBlock:]):
Removed originalImage parameter; _WKImageFileUploadItem no longer uses
it.
(-[WKFileUploadPanel _uploadItemForJPEGRepresentationOfImage:successBlock:failureBlock:]):
(-[WKFileUploadPanel _uploadItemForImage:withAssetURL:successBlock:failureBlock:]):

12:45 AM Changeset in webkit [185356] by youenn.fablet@crf.canon.fr
  • 7 edits in trunk

[Streams API] ReadableJSStream should handle JS source getters that throw
https://bugs.webkit.org/show_bug.cgi?id=145600

Reviewed by Darin Adler.

Source/WebCore:

Checking whether there is an exception when trying to access to a source method.
If so, rethrowing it in case of "start".

Refactoring of code to prepare pulling, cancelling and additional parameter handling in ReadableStream construtor.

Fixed the case of ReadableStream constructor called with an undefined parameter.

Covered by rebased test expectation.

  • bindings/js/JSReadableStreamCustom.cpp:

(WebCore::constructJSReadableStream): Refactoring to group all parameter check and exception handling in ReadableJSStream::create.

  • bindings/js/ReadableJSStream.cpp:

(WebCore::getPropertyFromObject):
(WebCore::callFunction):
(WebCore::ReadableJSStream::invoke): Added method to be used also for pulling and cancelling.
(WebCore::ReadableJSStream::doStart):
(WebCore::ReadableJSStream::create):

  • bindings/js/ReadableJSStream.h:

LayoutTests:

  • streams/reference-implementation/bad-underlying-sources-expected.txt:
  • streams/reference-implementation/readable-stream-expected.txt:

Jun 8, 2015:

10:29 PM Changeset in webkit [185355] by bshafiei@apple.com
  • 8 edits
    2 deletes in tags/Safari-601.1.34.2

Merged r185335.

10:26 PM Changeset in webkit [185354] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.34.2/Source

Versioning.

10:21 PM Changeset in webkit [185353] by dbates@webkit.org
  • 4 edits in trunk/LayoutTests

Update iOS TestExpectations files

  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
10:12 PM Changeset in webkit [185352] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.34.2

New tag.

9:25 PM Changeset in webkit [185351] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Fix a typo in r185345.

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

(OSXSafariDriver.closeBrowsers):

8:10 PM Changeset in webkit [185350] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Made MicroTask.h a project header.

Rubber-stamped by Anders Carlsson.

  • WebCore.xcodeproj/project.pbxproj: Demoted MicroTask.h from Public to Project. WebCore

doesn’t have public headers, and this header isn’t used by WebKit.

8:03 PM Changeset in webkit [185349] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Clearing active Timeline recording should stop capturing
https://bugs.webkit.org/show_bug.cgi?id=145767

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/TimelineRecordingContentView.js:

(WebInspector.TimelineRecordingContentView.prototype._clearTimeline):
Stop capturing if necessary.

7:59 PM Changeset in webkit [185348] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Removed WebDragSourceActionAttachment from the WebDragSourceAction enum.

Rubber-stamped by Anders Carlsson.

  • WebView/WebUIDelegate.h: Removed the value. It was added in r181760 and never used.
7:31 PM Changeset in webkit [185347] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[Cocoa] Use generics in framework headers
https://bugs.webkit.org/show_bug.cgi?id=145781

Reviewed by Sam Weinig.

  • mac/postprocess-framework-headers.sh: Use the parameter to WK_ARRAY and WK_SET.
7:17 PM Changeset in webkit [185346] by Gyuyoung Kim
  • 51 edits in trunk/Source

Purge PassRefPtr in JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=145750

Source/JavaScriptCore:

As a step to purge PassRefPtr, this patch replaces PassRefPtr with Ref or RefPtr.

Reviewed by Darin Adler.

  • API/JSClassRef.cpp:

(OpaqueJSClass::createNoAutomaticPrototype):

  • API/JSClassRef.h:
  • API/JSContextRef.cpp:
  • API/JSScriptRef.cpp:

(OpaqueJSScript::create):

  • API/JSStringRef.cpp:

(JSStringCreateWithCharacters):
(JSStringCreateWithUTF8CString):

  • API/OpaqueJSString.cpp:

(OpaqueJSString::create):

  • API/OpaqueJSString.h:

(OpaqueJSString::create):

  • bytecompiler/StaticPropertyAnalysis.h:

(JSC::StaticPropertyAnalysis::create):

  • debugger/DebuggerCallFrame.h:

(JSC::DebuggerCallFrame::create):

  • dfg/DFGToFTLDeferredCompilationCallback.cpp:

(JSC::DFG::ToFTLDeferredCompilationCallback::create):

  • dfg/DFGToFTLDeferredCompilationCallback.h:
  • dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp:

(JSC::DFG::Ref<ToFTLForOSREntryDeferredCompilationCallback>ToFTLForOSREntryDeferredCompilationCallback::create):
(JSC::DFG::ToFTLForOSREntryDeferredCompilationCallback::create): Deleted.

  • dfg/DFGToFTLForOSREntryDeferredCompilationCallback.h:
  • dfg/DFGWorklist.cpp:

(JSC::DFG::Worklist::create):
(JSC::DFG::ensureGlobalDFGWorklist):
(JSC::DFG::ensureGlobalFTLWorklist):

  • dfg/DFGWorklist.h:
  • heap/EdenGCActivityCallback.h:

(JSC::GCActivityCallback::createEdenTimer):

  • heap/FullGCActivityCallback.h:

(JSC::GCActivityCallback::createFullTimer):

  • heap/GCActivityCallback.h:
  • inspector/InjectedScriptHost.h:
  • inspector/JavaScriptCallFrame.h:

(Inspector::JavaScriptCallFrame::create):

  • inspector/ScriptArguments.cpp:

(Inspector::ScriptArguments::create):

  • inspector/ScriptArguments.h:
  • jit/JITStubRoutine.h:

(JSC::JITStubRoutine::createSelfManagedRoutine):

  • jit/JITToDFGDeferredCompilationCallback.cpp:

(JSC::JITToDFGDeferredCompilationCallback::create):

  • jit/JITToDFGDeferredCompilationCallback.h:
  • jsc.cpp:

(jscmain):

  • parser/NodeConstructors.h:

(JSC::ArrayPatternNode::create):
(JSC::ObjectPatternNode::create):
(JSC::BindingNode::create):

  • parser/Nodes.cpp:

(JSC::FunctionParameters::create):

  • parser/Nodes.h:
  • parser/SourceProvider.h:

(JSC::StringSourceProvider::create):

  • profiler/Profile.cpp:

(JSC::Profile::create):

  • profiler/Profile.h:
  • profiler/ProfileGenerator.cpp:

(JSC::ProfileGenerator::create):

  • profiler/ProfileGenerator.h:
  • profiler/ProfileNode.h:

(JSC::ProfileNode::create):

  • runtime/DataView.cpp:

(JSC::DataView::create):

  • runtime/DataView.h:
  • runtime/DateInstanceCache.h:

(JSC::DateInstanceData::create):

  • runtime/JSPromiseReaction.cpp:

(JSC::createExecutePromiseReactionMicrotask):

  • runtime/JSPromiseReaction.h:
  • runtime/PropertyNameArray.h:

(JSC::PropertyNameArrayData::create):

  • runtime/TypeSet.h:

(JSC::StructureShape::create):
(JSC::TypeSet::create):

  • runtime/TypedArrayBase.h:

(JSC::TypedArrayBase::create):
(JSC::TypedArrayBase::createUninitialized):
(JSC::TypedArrayBase::subarrayImpl):

  • runtime/VM.cpp:

(JSC::VM::createContextGroup):
(JSC::VM::create):
(JSC::VM::createLeaked):

  • runtime/VM.h:
  • yarr/RegularExpression.cpp:

(JSC::Yarr::RegularExpression::Private::create):

Source/WebCore:

Reviewed by Darin Adler.

As a step to purge PassRefPtr, this patch replaces PassRefPtr with Ref or RefPtr.

No new tests, no behavior changes.

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::commonVM):

5:47 PM Changeset in webkit [185345] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Yet another unreviewed build fix :(

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

(OSXSafariDriver):
(OSXSafariDriver.launchUrl):
(OSXSafariDriver.closeBrowsers):

5:45 PM Changeset in webkit [185344] by fpizlo@apple.com
  • 5 edits
    2 adds in trunk/Source/JavaScriptCore

It should be possible to hoist all constants in DFG SSA
https://bugs.webkit.org/show_bug.cgi?id=145769

Reviewed by Geoffrey Garen.

It's sometimes somewhat more efficient, and convenient, to have all constants at the
top of the root block. We don't require this as an IR invariant because too many phases
want to be able to insert constants in weird places. But, this phase will be great for
preparing for https://bugs.webkit.org/show_bug.cgi?id=145768.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGConstantHoistingPhase.cpp: Added.

(JSC::DFG::performConstantHoisting):

  • dfg/DFGConstantHoistingPhase.h: Added.
  • dfg/DFGPlan.cpp:

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

5:29 PM Changeset in webkit [185343] by Alan Bujtas
  • 5 edits
    4 adds in trunk

Subpixel rendering: Clip-path does not work properly on subpixel positions.
https://bugs.webkit.org/show_bug.cgi?id=145749
rdar://problem/20824305

Reviewed by Simon Fraser.

This patch ensures that clip-path is device pixel snapped both for composited and
non-composited content.

Source/WebCore:

Tests: compositing/masks/compositing-clip-path-on-subpixel-position.html

fast/masking/clip-path-on-subpixel-position.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::setupClipPath):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateMaskingLayerGeometry):

LayoutTests:

  • compositing/masks/compositing-clip-path-on-subpixel-position-expected.html: Added.
  • compositing/masks/compositing-clip-path-on-subpixel-position.html: Added.
  • fast/masking/clip-path-on-subpixel-position-expected.html: Added.
  • fast/masking/clip-path-on-subpixel-position.html: Added.
5:28 PM Changeset in webkit [185342] by Chris Dumez
  • 16 edits in trunk/Source

Access GCController instance via GCController::singleton() instead of a free function
https://bugs.webkit.org/show_bug.cgi?id=145776

Reviewed by Darin Adler.

Access GCController instance via GCController::singleton() instead of a
free function as per coding style and for consistency with other
singleton classes in the codebase.

Source/WebCore:

  • bindings/js/GCController.cpp:

(WebCore::GCController::singleton):
(WebCore::gcController): Deleted.

  • bindings/js/GCController.h:
  • bindings/js/JSDOMWindowShell.cpp:

(WebCore::JSDOMWindowShell::setWindow):

  • bindings/js/ScriptCachedFrameData.cpp:

(WebCore::ScriptCachedFrameData::clear):

  • bindings/js/ScriptController.cpp:

(WebCore::collectGarbageAfterWindowShellDestruction):

  • platform/MemoryPressureHandler.cpp:

(WebCore::MemoryPressureHandler::releaseCriticalMemory):

Source/WebKit/mac:

  • Misc/WebCoreStatistics.mm:

(+[WebCoreStatistics garbageCollectJavaScriptObjects]):
(+[WebCoreStatistics garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging:]):
(+[WebCoreStatistics setJavaScriptGarbageCollectorTimerEnabled:]):

  • WebView/WebView.mm:

(+[WebView garbageCollectNow]):
(+[WebView discardAllCompiledCode]):
(-[WebView _close]):

Source/WebKit/win:

  • WebCoreStatistics.cpp:

(WebCoreStatistics::garbageCollectJavaScriptObjects):
(WebCoreStatistics::garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging):
(WebCoreStatistics::setJavaScriptGarbageCollectorTimerEnabled):

  • WebJavaScriptCollector.cpp:

(WebJavaScriptCollector::collect):
(WebJavaScriptCollector::collectOnAlternateThread):

Source/WebKit2:

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::garbageCollectJavaScriptObjects):
(WebKit::InjectedBundle::garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::terminate):
(WebKit::WebProcess::didClose):
(WebKit::WebProcess::garbageCollectJavaScriptObjects):
(WebKit::WebProcess::setJavaScriptGarbageCollectorTimerEnabled):

5:23 PM Changeset in webkit [185341] by dbates@webkit.org
  • 3 edits
    2 adds in trunk

Mouse release on AutoFill button activates it; should only activate on click
https://bugs.webkit.org/show_bug.cgi?id=145774
<rdar://problem/21069245>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Fixes an issue where a click event was dispatched to a shadow tree node regardless of whether
both the mouse press and mouse release were targeted at it. In particular, releasing the mouse
on the AutoFill button activates it regardless of whether the mouse was pressed on it.

Currently we always dispatch a click event to a node n where the mouse was released when n is
in a shadow tree regardless of whether the mouse was pressed on n. Instead we should only
dispatch a click event to n if the mouse was pressed and released on n. If n is a shadow tree
descendant, the mouse was released on n, and n never received a mouse press then we should
dispatch the click event at the shadow host element of n to preserve the illusion to web
developers that the shadow host element is a single element.

Test: fast/forms/auto-fill-button/mouse-down-input-mouse-release-auto-fill-button.html

  • page/EventHandler.cpp:

(WebCore::targetNodeForClickEvent): Added; returns the target node for the DOM click event.
(WebCore::EventHandler::handleMouseReleaseEvent): Modified to use dispatch the DOM click event
at the node returned by targetNodeForClickEvent().
(WebCore::mouseIsReleasedOnPressedElement): Deleted.

LayoutTests:

Add test to ensure we only dispatch a click event at the HTML input element when pressing
on the editable portion of the input element and releasing the mouse on the AutoFill button.

  • fast/forms/auto-fill-button/mouse-down-input-mouse-release-auto-fill-button-expected.txt: Added.
  • fast/forms/auto-fill-button/mouse-down-input-mouse-release-auto-fill-button.html: Added.
5:21 PM Changeset in webkit [185340] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Unreviewed build fix. Initialize result in the case things blow up below.

  • Scripts/webkitpy/benchmark_runner/benchmark_runner.py:

(BenchmarkRunner.execute):

5:16 PM Changeset in webkit [185339] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Partially revert and fix after r185243.

  • Scripts/benchmark_runner/benchmark_runner.py:
  • Scripts/run-benchmark:
4:52 PM Changeset in webkit [185338] by beidson@apple.com
  • 11 edits
    2 copies
    4 adds
    1 delete in trunk/LayoutTests

Fix up the layouttest situation after r185322.
https://bugs.webkit.org/show_bug.cgi?id=145777

Reviewed by Alexey Proskuryakov.

  • js/dom/global-constructors-attributes-expected.txt:
  • js/dom/global-constructors-attributes-idb-expected.txt: Added.
  • js/dom/global-constructors-attributes-idb.html: Copied from LayoutTests/js/dom/global-constructors-attributes.html.
  • js/dom/global-constructors-attributes.html:

Run this test only against IDB* and webkitIDB* constructors:

  • js/dom/script-tests/global-constructors-attributes-idb.js: Copied from LayoutTests/js/dom/script-tests/global-constructors-attributes.js.

(.self.postMessage):
(.self.onconnect.self.postMessage):
(.self.onconnect):
(classNameForObject):
(constructorPropertiesOnGlobalObject):

Don’t run the test against known IDB constructors:

  • js/dom/script-tests/global-constructors-attributes.js:

Update all the various platform-specific results for the main test to remove mentions of IDB.

  • platform/efl/js/dom/global-constructors-attributes-expected.txt:
  • platform/gtk/js/dom/global-constructors-attributes-expected.txt:
  • platform/ios-sim-deprecated/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-mavericks/TestExpectations:
  • platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt: Removed.
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
  • platform/win/js/dom/global-constructors-attributes-expected.txt:
  • platform/wk2/js/dom/global-constructors-attributes-idb-expected.txt: Added.
4:44 PM Changeset in webkit [185337] by Chris Dumez
  • 12 edits
    10 adds in trunk

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

Reviewed by Brady Eidson.

Source/WebCore:

We would sometimes crash when pruning the PageCache because it was
possible for frames to still be loading while in the PageCache and
we would try to stop the load when the CachedFrame is destroyed. This
code path was not supposed to be exercised as we were not supposed to
have pages still loading inside the PageCache.

r185017 made sure we don't insert into the PageCache pages that are
still loading. However, nothing was preventing content from starting
new loads in their 'pagehide' event handlers, *after* the decision
to put the page in the PageCache was made.

This patch prevents content from starting loads from a 'pagehide'
event handler so that we can no longer have content that is loading
inside the PageCache. 'ping' image loads still go through though as
these are specially handled and use PingLoaders.

Tests: http/tests/navigation/image-load-in-pagehide-handler.html

http/tests/navigation/subframe-pagehide-handler-starts-load.html
http/tests/navigation/subframe-pagehide-handler-starts-load2.html

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::loadWithDocumentLoader):
(WebCore::FrameLoader::stopAllLoaders):
(WebCore::FrameLoader::handleBeforeUnloadEvent):

  • loader/FrameLoader.h:

(WebCore::FrameLoader::pageDismissalEventBeingDispatched):
(WebCore::FrameLoader::PageDismissalEventType::PageDismissalEventType):
(WebCore::FrameLoader::PageDismissalEventType::operator Page::DismissalType):

Add wrapper class for m_pageDismissalEventBeingDispatched member type.
The wrapper takes care of updating the m_dismissalEventBeingDispatched
member on the Page every time the member on FrameLoader is updated. We
now cache this information on the Page so that clients can cheaply
query if a dismissal event is being dispatched in any of the Page's
frame, without having to traverse the frame tree.

  • loader/ImageLoader.cpp:

(WebCore::pageIsBeingDismissed):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::load):

Abort the load early if we are currently dispatching a 'pagehide'
event. We don't allow new loads at such point because we've already
made the decision to add the Page to the PageCache.

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestImage):

  • page/Chrome.cpp:

(WebCore::Chrome::runModal): Deleted.
(WebCore::Chrome::setToolbarsVisible): Deleted.
(WebCore::Chrome::toolbarsVisible): Deleted.
(WebCore::Chrome::runJavaScriptConfirm): Deleted.
(WebCore::Chrome::runJavaScriptPrompt): Deleted.
(WebCore::Chrome::shouldInterruptJavaScript): Deleted.

  • page/Chrome.h:
  • page/ChromeClient.h:
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::canShowModalDialogNow):

Drop ChromeClient::shouldRunModalDialogDuringPageDismissal() and code
using it as it is unused and I did not think it was worth updating
this code.

  • page/Page.h:

(WebCore::Page::dismissalEventBeingDispatched):
(WebCore::Page::setDismissalEventBeingDispatched):

Add a m_dismissalEventBeingDispatched member to the Page so that we can
easily query if a dismissal event is being dispatched in any of the
frames, without having to traverse the frame tree. I suspect more call
sites of FrameLoader::pageDismissalEventBeingDispatched() may actually
want this but I did not make such change in this patch. It is important
to check all the frames and not simply the current one because a frame's
pagehide event handler may trigger a load in another frame.

LayoutTests:

  • http/tests/navigation/image-load-in-pagehide-handler-expected.txt: Added.
  • http/tests/navigation/image-load-in-pagehide-handler.html: Added.
  • http/tests/navigation/resources/image-load-in-pagehide-handler-2.html: Added.

Add layout test to make sure that ping loads in 'pagehide' handlers are
still going through after this change.

  • http/tests/navigation/resources/frame-do-load.html: Added.
  • http/tests/navigation/resources/frame-pagehide-starts-load-in-subframe.html: Added.
  • http/tests/navigation/resources/frame-pagehide-starts-load.html: Added.
  • http/tests/navigation/subframe-pagehide-handler-starts-load-expected.txt: Added.
  • http/tests/navigation/subframe-pagehide-handler-starts-load.html: Added.
  • http/tests/navigation/subframe-pagehide-handler-starts-load2-expected.txt: Added.
  • http/tests/navigation/subframe-pagehide-handler-starts-load2.html: Added.

Add layout tests to make sure we don't crash if a frame starts an XHR load
from the 'pagehide' event handler. One of the tests covers the case where a
frame's pagehide handler starts a load in a subframe as this case is
requires a bit more handling.

4:36 PM Changeset in webkit [185336] by commit-queue@webkit.org
  • 48 edits in trunk/Source/WebCore

Replaced 0 with nullptr in WebCore/Modules.
https://bugs.webkit.org/show_bug.cgi?id=145758

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

No new tests, no behavior changes.

  • Modules/battery/BatteryManager.cpp:

(WebCore::BatteryManager::BatteryManager):

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::CDM::CDM):

  • Modules/encryptedmedia/MediaKeys.cpp:

(WebCore::MediaKeys::MediaKeys):
(WebCore::MediaKeys::~MediaKeys):

  • Modules/indexeddb/IDBCursor.h:

(WebCore::IDBCursor::continueFunction):

  • Modules/indexeddb/IDBCursorBackendOperations.cpp:

(WebCore::CursorAdvanceOperation::perform):
(WebCore::CursorIterationOperation::perform):

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::transactionFinished):

  • Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp:

(WebCore::IDBDatabaseCallbacksImpl::IDBDatabaseCallbacksImpl):

  • Modules/indexeddb/IDBEventDispatcher.cpp:

(WebCore::IDBEventDispatcher::dispatch):

  • Modules/indexeddb/IDBIndex.h:

(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::count):
(WebCore::IDBIndex::openKeyCursor):

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::add):
(WebCore::IDBObjectStore::put):
(WebCore::IDBObjectStore::index):
(WebCore::IDBObjectStore::openCursor):

  • Modules/indexeddb/IDBObjectStore.h:

(WebCore::IDBObjectStore::count):

  • Modules/indexeddb/IDBOpenDBRequest.cpp:

(WebCore::IDBOpenDBRequest::onUpgradeNeeded):
(WebCore::IDBOpenDBRequest::onSuccess):

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::IDBRequest):

  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::OpenCursorNotifier::cursorFinished):

  • Modules/indexeddb/IDBTransactionBackend.cpp:

(WebCore::IDBTransactionBackend::commit):

  • Modules/indexeddb/IDBTransactionBackendOperations.cpp:

(WebCore::OpenCursorOperation::perform):

  • Modules/indieui/UIRequestEvent.cpp:

(WebCore::UIRequestEventInit::UIRequestEventInit):
(WebCore::UIRequestEvent::UIRequestEvent):

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::MediaSource):
(WebCore::MediaSource::setReadyState):
(WebCore::MediaSource::removeSourceBuffer):

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::~SourceBuffer):
(WebCore::SourceBuffer::removedFromMediaSource):

  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::~MediaStream):

  • Modules/mediastream/MediaStreamEvent.cpp:

(WebCore::MediaStreamEventInit::MediaStreamEventInit):

  • Modules/mediastream/MediaStreamTrackEvent.cpp:

(WebCore::MediaStreamTrackEventInit::MediaStreamTrackEventInit):

  • Modules/mediastream/RTCDataChannel.cpp:

(WebCore::RTCDataChannel::stop):

  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::contextDestroyed):

  • Modules/notifications/Notification.cpp:

(WebCore::Notification::Notification):

  • Modules/notifications/Notification.h:
  • Modules/speech/SpeechSynthesis.cpp:

(WebCore::SpeechSynthesis::SpeechSynthesis):
(WebCore::SpeechSynthesis::setPlatformSynthesizer):
(WebCore::SpeechSynthesis::cancel):
(WebCore::SpeechSynthesis::handleSpeakingCompleted):

  • Modules/speech/SpeechSynthesisUtterance.cpp:

(WebCore::SpeechSynthesisUtterance::~SpeechSynthesisUtterance):

  • Modules/webaudio/AudioBufferSourceNode.cpp:

(WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
(WebCore::AudioBufferSourceNode::clearPannerNode):

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::createMediaStreamSource):

  • Modules/webaudio/MediaElementAudioSourceNode.cpp:

(WebCore::MediaElementAudioSourceNode::~MediaElementAudioSourceNode):

  • Modules/webaudio/OscillatorNode.cpp:

(WebCore::OscillatorNode::setType):
(WebCore::OscillatorNode::process):

  • Modules/webdatabase/DatabaseManager.cpp:

(WebCore::DatabaseManager::DatabaseManager):

  • Modules/webdatabase/DatabaseThread.cpp:

(WebCore::DatabaseThread::DatabaseThread):
(WebCore::DatabaseThread::databaseThread):

  • Modules/webdatabase/DatabaseThread.h:
  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::DatabaseTracker):

  • Modules/webdatabase/SQLCallbackWrapper.h:

(WebCore::SQLCallbackWrapper::clear):
(WebCore::SQLCallbackWrapper::unwrap):

  • Modules/webdatabase/SQLStatementBackend.cpp:

(WebCore::SQLStatementBackend::clearFailureDueToQuota):

  • Modules/webdatabase/SQLTransaction.cpp:

(WebCore::SQLTransaction::deliverTransactionErrorCallback):

  • Modules/webdatabase/SQLTransactionBackend.cpp:

(WebCore::SQLTransactionBackend::doCleanup):
(WebCore::SQLTransactionBackend::getNextStatement):

  • Modules/webdatabase/SQLTransactionCoordinator.cpp:

(WebCore::SQLTransactionCoordinator::releaseLock):

  • Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:

(WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
(WebCore::ThreadableWebSocketChannelClientWrapper::clearPeer):
(WebCore::ThreadableWebSocketChannelClientWrapper::clearClient):

  • Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::stop):

  • Modules/websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::disconnect):
(WebCore::WebSocketChannel::didCloseSocketStream):

  • Modules/websockets/WebSocketFrame.h:
  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::WebSocketHandshake::clearScriptExecutionContext):
(WebCore::WebSocketHandshake::readStatusLine):

  • Modules/websockets/WorkerThreadableWebSocketChannel.cpp:

(WebCore::WorkerThreadableWebSocketChannel::Peer::disconnect):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):

4:31 PM Changeset in webkit [185335] by Chris Fleizach
  • 8 edits
    2 deletes in trunk

AX: improve list heuristics (presentational use versus actual lists)
https://bugs.webkit.org/show_bug.cgi?id=134187

Unreviewed. Rolling this change out temporarily.

Source/WebCore:

  • accessibility/AccessibilityList.cpp:

(WebCore::AccessibilityList::isDescriptionList):
(WebCore::AccessibilityList::determineAccessibilityRole):
(WebCore::AccessibilityList::childHasPseudoVisibleListItemMarkers): Deleted.

  • accessibility/AccessibilityList.h:

LayoutTests:

  • accessibility/list-detection-expected.txt:
  • accessibility/list-detection.html:
  • accessibility/list-detection2-expected.txt: Removed.
  • accessibility/list-detection2.html: Removed.
  • platform/gtk/accessibility/list-detection-expected.txt:
  • platform/win/TestExpectations:
4:27 PM Changeset in webkit [185334] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Include IndexedDB databases in -[WKWebsiteDataStore allWebsiteDataTypes]
https://bugs.webkit.org/show_bug.cgi?id=145775

Reviewed by Simon Fraser.

  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(+[WKWebsiteDataStore allWebsiteDataTypes]):

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

[Mac] Enable AVFoundation by default when QTKit is disabled by default
https://bugs.webkit.org/show_bug.cgi?id=145760

Reviewed by Alexey Proskuryakov.

No new tests, this change makes existing tests pass.

Settings::gAVFoundationEnabled defaults to true.

  • page/Settings.cpp:

(WebCore::invalidateAfterGenericFamilyChange):

3:32 PM Changeset in webkit [185332] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Unskip http/tests/misc/webtiming-ssl.php, as it should be passing on Yosemite.

  • platform/mac/TestExpectations:
3:29 PM Changeset in webkit [185331] by andersca@apple.com
  • 6 edits
    1 delete in trunk/Source/WebKit2

Move the snapshot layer contents SPI to the web view
https://bugs.webkit.org/show_bug.cgi?id=145771

Reviewed by Geoffrey Garen.

We need to potentially ask the web page to take a snapshot of the current item,
so move the SPI to WKWebView and name it appropriately.

  • UIProcess/API/Cocoa/WKBackForwardListItem.mm:

(-[WKBackForwardListItem _snapshotLayerContents]): Deleted.

  • UIProcess/API/Cocoa/WKBackForwardListItemPrivate.h: Removed.
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _snapshotLayerContentsForBackForwardListItem:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • WebKit2.xcodeproj/project.pbxproj:
3:29 PM Changeset in webkit [185330] by dbates@webkit.org
  • 7 edits in trunk

Many LayoutTests/http tests time out in DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=145770
<rdar://problem/19593910>

Reviewed by Alexey Proskuryakov.

Tools:

  • DumpRenderTree/ios/Info.plist: Add ATS key.
  • LayoutTestRelay/LayoutTestRelay/LTRelayController.m:

(-[LTRelayController _environmentVariables]): Copy environment variables LOCAL_RESOURCE_ROOT
and DUMPRENDERTREE_TEMP to the simulator environment to avoid assertion failures in tests
that make use of testRunner.pathToLocalResource().

LayoutTests:

Unskip LayoutTests/http tests in WebKit1 and explicitly skip the HTTP disk-cache tests
in WebKit1 as the network disk cache code is specific to WebKit2. Move common expectations
from the WebKit{1, 2}-specific TestExpectations file to platform/ios-simulator/TestExpectations.

  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
2:25 PM Changeset in webkit [185329] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Explicitly dismiss correction panel when user types a new character
https://bugs.webkit.org/show_bug.cgi?id=145732
<rdar://problem/19596892>

Reviewed by Darin Adler.

Explicitly dismiss the correction panel when the user types a new character.
This patch shouldn't change any behavior we're currently relying on AppKit to do the same.

Manually ran tests in ManualTests/autocorrection.

  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::respondToAppliedEditing):

1:40 PM Changeset in webkit [185328] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit/mac

Remove more unused Objective-C methods
https://bugs.webkit.org/show_bug.cgi?id=145761

Reviewed by Geoffrey Garen.

  • Misc/WebNSImageExtras.h:
  • Misc/WebNSImageExtras.m:

(-[NSImage _web_saveAndOpen]): Deleted.

  • Misc/WebNSViewExtras.h:
  • Misc/WebNSViewExtras.m:

(-[NSView _web_DragImageForElement:rect:event:pasteboard:source:offset:]): Deleted.
(-[NSView _web_convertRect:toView:]): Deleted.

1:26 PM Changeset in webkit [185327] by jfernandez@igalia.com
  • 3 edits
    2 adds in trunk

[CSS Grid Layout] Setting height on a grid item doesn't have any effect
https://bugs.webkit.org/show_bug.cgi?id=145604

Reviewed by Sergio Villar Senin.

Source/WebCore:

Box Alignment spec states that stretch is only possible when height is
'auto' and no 'auto' margins are used.

It might be the case that style changes so that stretching is not allowed,
hence we need to detect it and clear the override height the stretching
algorithm previously set. The new layout triggered by the style change
will then set grid item's height according to the new style rules.

Test: fast/css-grid-layout/grid-item-should-not-be-stretched-when-height-or-margin-change.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::applyStretchAlignmentToChildIfNeeded):

LayoutTests:

Tests to verify that we clear the override height set by the stretching logic
whenever height or margin change in a way they don't allow stretching anymore.

  • fast/css-grid-layout/grid-item-should-not-be-stretched-when-height-or-margin-change-expected.txt: Added.
  • fast/css-grid-layout/grid-item-should-not-be-stretched-when-height-or-margin-change.html: Added.
12:55 PM Changeset in webkit [185326] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Try to fix the Mavericks build.

  • WebView/WebPDFView.mm:

(removeUselessMenuItemSeparators):

12:47 PM Changeset in webkit [185325] by ap@apple.com
  • 2 edits in trunk/Source/WTF

Build fix.

  • wtf/TinyPtrSet.h: (WTF::TinyPtrSet::isEmpty): s/poointer/pointer/
12:41 PM Changeset in webkit [185324] by fpizlo@apple.com
  • 9 edits
    1 add in trunk/Source

The tiny set magic in StructureSet should be available in WTF
https://bugs.webkit.org/show_bug.cgi?id=145722

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

I moved the generic logic of small sets of pointers and moved it into WTF. Now,
StructureSet is a subclass of TinyPtrSet<Structure*>. There shouldn't be any functional
change.

  • bytecode/StructureSet.cpp:

(JSC::StructureSet::filter):
(JSC::StructureSet::filterArrayModes):
(JSC::StructureSet::speculationFromStructures):
(JSC::StructureSet::arrayModesFromStructures):
(JSC::StructureSet::dumpInContext):
(JSC::StructureSet::dump):
(JSC::StructureSet::clear): Deleted.
(JSC::StructureSet::add): Deleted.
(JSC::StructureSet::remove): Deleted.
(JSC::StructureSet::contains): Deleted.
(JSC::StructureSet::merge): Deleted.
(JSC::StructureSet::exclude): Deleted.
(JSC::StructureSet::isSubsetOf): Deleted.
(JSC::StructureSet::overlaps): Deleted.
(JSC::StructureSet::operator==): Deleted.
(JSC::StructureSet::addOutOfLine): Deleted.
(JSC::StructureSet::containsOutOfLine): Deleted.
(JSC::StructureSet::copyFromOutOfLine): Deleted.
(JSC::StructureSet::OutOfLineList::create): Deleted.
(JSC::StructureSet::OutOfLineList::destroy): Deleted.

  • bytecode/StructureSet.h:

(JSC::StructureSet::onlyStructure):
(JSC::StructureSet::StructureSet): Deleted.
(JSC::StructureSet::operator=): Deleted.
(JSC::StructureSet::~StructureSet): Deleted.
(JSC::StructureSet::isEmpty): Deleted.
(JSC::StructureSet::genericFilter): Deleted.
(JSC::StructureSet::isSupersetOf): Deleted.
(JSC::StructureSet::size): Deleted.
(JSC::StructureSet::at): Deleted.
(JSC::StructureSet::operator[]): Deleted.
(JSC::StructureSet::last): Deleted.
(JSC::StructureSet::iterator::iterator): Deleted.
(JSC::StructureSet::iterator::operator*): Deleted.
(JSC::StructureSet::iterator::operator++): Deleted.
(JSC::StructureSet::iterator::operator==): Deleted.
(JSC::StructureSet::iterator::operator!=): Deleted.
(JSC::StructureSet::begin): Deleted.
(JSC::StructureSet::end): Deleted.
(JSC::StructureSet::ContainsOutOfLine::ContainsOutOfLine): Deleted.
(JSC::StructureSet::ContainsOutOfLine::operator()): Deleted.
(JSC::StructureSet::copyFrom): Deleted.
(JSC::StructureSet::OutOfLineList::list): Deleted.
(JSC::StructureSet::OutOfLineList::OutOfLineList): Deleted.
(JSC::StructureSet::deleteStructureListIfNecessary): Deleted.
(JSC::StructureSet::isThin): Deleted.
(JSC::StructureSet::pointer): Deleted.
(JSC::StructureSet::singleStructure): Deleted.
(JSC::StructureSet::structureList): Deleted.
(JSC::StructureSet::set): Deleted.
(JSC::StructureSet::setEmpty): Deleted.
(JSC::StructureSet::getReservedFlag): Deleted.
(JSC::StructureSet::setReservedFlag): Deleted.

  • dfg/DFGStructureAbstractValue.cpp:

(JSC::DFG::StructureAbstractValue::clobber):
(JSC::DFG::StructureAbstractValue::filter):
(JSC::DFG::StructureAbstractValue::filterSlow):
(JSC::DFG::StructureAbstractValue::contains):

  • dfg/DFGStructureAbstractValue.h:

(JSC::DFG::StructureAbstractValue::makeTop):

Source/WTF:

As the management of structure sets evolved in JSC, the StructureSet data structure grew
increasingly smart. It's got some smart stuff for managing small sets of pointers. I
wanted to take the generic logic out of JSC and put it into a reusable templatized class
in WTF.

  • WTF.vcxproj/WTF.vcxproj:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/TinyPtrSet.h: Added.

(WTF::TinyPtrSet::TinyPtrSet):
(WTF::TinyPtrSet::operator=):
(WTF::TinyPtrSet::~TinyPtrSet):
(WTF::TinyPtrSet::clear):
(WTF::TinyPtrSet::onlyEntry):
(WTF::TinyPtrSet::isEmpty):
(WTF::TinyPtrSet::add):
(WTF::TinyPtrSet::remove):
(WTF::TinyPtrSet::contains):
(WTF::TinyPtrSet::merge):
(WTF::TinyPtrSet::forEach):
(WTF::TinyPtrSet::genericFilter):
(WTF::TinyPtrSet::filter):
(WTF::TinyPtrSet::exclude):
(WTF::TinyPtrSet::isSubsetOf):
(WTF::TinyPtrSet::isSupersetOf):
(WTF::TinyPtrSet::overlaps):
(WTF::TinyPtrSet::size):
(WTF::TinyPtrSet::at):
(WTF::TinyPtrSet::operator[]):
(WTF::TinyPtrSet::last):
(WTF::TinyPtrSet::iterator::iterator):
(WTF::TinyPtrSet::iterator::operator*):
(WTF::TinyPtrSet::iterator::operator++):
(WTF::TinyPtrSet::iterator::operator==):
(WTF::TinyPtrSet::iterator::operator!=):
(WTF::TinyPtrSet::begin):
(WTF::TinyPtrSet::end):
(WTF::TinyPtrSet::operator==):
(WTF::TinyPtrSet::addOutOfLine):
(WTF::TinyPtrSet::containsOutOfLine):
(WTF::TinyPtrSet::copyFrom):
(WTF::TinyPtrSet::copyFromOutOfLine):
(WTF::TinyPtrSet::OutOfLineList::create):
(WTF::TinyPtrSet::OutOfLineList::destroy):
(WTF::TinyPtrSet::OutOfLineList::list):
(WTF::TinyPtrSet::OutOfLineList::OutOfLineList):
(WTF::TinyPtrSet::deleteListIfNecessary):
(WTF::TinyPtrSet::isThin):
(WTF::TinyPtrSet::pointer):
(WTF::TinyPtrSet::singleEntry):
(WTF::TinyPtrSet::list):
(WTF::TinyPtrSet::set):
(WTF::TinyPtrSet::setEmpty):
(WTF::TinyPtrSet::getReservedFlag):
(WTF::TinyPtrSet::setReservedFlag):

11:21 AM Changeset in webkit [185323] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

[ARM] Add the missing setupArgumentsWithExecState functions after r185240
https://bugs.webkit.org/show_bug.cgi?id=145754

Reviewed by Benjamin Poulain.

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

9:49 AM Changeset in webkit [185322] by beidson@apple.com
  • 25 edits
    5 adds in trunk

Completely remove all IDB properties/constructors when it is disabled at runtime.
rdar://problem/18429374 and https://bugs.webkit.org/show_bug.cgi?id=137034

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • runtime/CommonIdentifiers.h:

Source/WebCore:

Test: storage/indexeddb/properties-disabled-at-runtime.html

  • Make constructors all runtime enabled.
  • Remove autogeneration of the window.(webkit)indexedDB accessors.
  • Add manual overrides for the (webkit)indexedDB accessors at runtime.
  • Modules/indexeddb/DOMWindowIndexedDatabase.idl:
  • Modules/indexeddb/IDBAny.idl:
  • Modules/indexeddb/IDBCursor.idl:
  • Modules/indexeddb/IDBCursorWithValue.idl:
  • Modules/indexeddb/IDBDatabase.idl:
  • Modules/indexeddb/IDBFactory.idl:
  • Modules/indexeddb/IDBIndex.idl:
  • Modules/indexeddb/IDBKeyRange.idl:
  • Modules/indexeddb/IDBObjectStore.idl:
  • Modules/indexeddb/IDBOpenDBRequest.idl:
  • Modules/indexeddb/IDBRequest.idl:
  • Modules/indexeddb/IDBTransaction.idl:
  • Modules/indexeddb/IDBVersionChangeEvent.idl:
  • page/DOMWindow.idl:
  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::jsDOMWindowIndexedDB):
(WebCore::JSDOMWindow::getOwnPropertySlot):

Source/WebKit2:

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess): Enable IDB at runtime if it's enabled at compile time.

LayoutTests:

  • platform/mac-mavericks/TestExpectations: Disable global-constructors-attributes on Mavericks as there is no way to have different WK1 and WK2 results.
  • platform/mac-wk1/TestExpectations: Enable the new "properties are missing" test for Mac WK1.
  • platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt: Added.
  • platform/win/TestExpectations: Enable the new "properties are missing" test for Win WK1
  • platform/wk2/TestExpectations: Disable the new "properties are missing" test for all WK2.
  • storage/indexeddb/properties-disabled-at-runtime-expected.txt: Added.
  • storage/indexeddb/properties-disabled-at-runtime.html: Added.
9:48 AM Changeset in webkit [185321] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[GTK] Fix parentheses warning in TestWebKitWebView.cpp
https://bugs.webkit.org/show_bug.cgi?id=145759

Reviewed by Carlos Garcia Campos.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:

(testWebViewSave):

9:31 AM WebKitGTK/2.8.x edited by Michael Catanzaro
Propose r185320 (diff)
9:17 AM Changeset in webkit [185320] by Michael Catanzaro
  • 9 edits in trunk/Source

[SOUP] Performs DNS prefetch when a proxy is configured (information leak)
https://bugs.webkit.org/show_bug.cgi?id=145542

Reviewed by Alexey Proskuryakov.

Source/WebCore:

No new tests, because it's hard to test whether a DNS request has been sent. We could do
this by adding new API to modify the GProxyResolver and GResolver used by the SoupSession in
the network process, but even if such API were desirable, it would be a big job. Tests
should not be allowed to dictate our public API.

  • platform/network/DNSResolveQueue.cpp:

(WebCore::DNSResolveQueue::add): Do not check whether the system is using a proxy, since
this can't be determined for all ports here.
(WebCore::DNSResolveQueue::timerFired): Do not check whether the system is using a proxy,
since this can't be determined for all ports here.
(WebCore::DNSResolveQueue::DNSResolveQueue): Remove member variables and member functions
that are only needed by the CF backend. Rename platformResolve to
platformMaybeResolveHost.
(WebCore::DNSResolveQueue::isUsingProxy): Moved to DNSCFNet.cpp.

  • platform/network/DNSResolveQueue.h: Remove member variables that are only needed by the

CF backend.

  • platform/network/cf/DNSCFNet.cpp:

(WebCore::proxyIsEnabledInSystemPreferences): Renamed from
platformProxyIsEnabledInSystemPreferences.
(WebCore::isUsingProxy): Moved from DNSResolveQueue.cpp. The member variables removed from
DNSResolveQueue are not static here. This is safe since it's a singleton.
(WebCore::DNSResolveQueue::platformMaybeResolveHost): Renamed from platformResolve.
Bail early from here if a proxy is configured.
(WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences): Renamed to
proxyIsEnabledInSystemPreferences.
(WebCore::DNSResolveQueue::platformResolve): Renamed to platformMaybeResolveHost.

  • platform/network/soup/DNSSoup.cpp:

(WebCore::gotProxySettingsCallback): Added. Call soup_session_prefetch_dns from here only
if a proxy would not be used to resolve the host.
(WebCore::DNSResolveQueue::platformMaybeResolveHost): Renamed from platformResolve.
Look up proxy settings using g_proxy_resolver_lookup_async rather than calling
soup_session_prefetch_dns directly.
(WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences): Deleted.
(WebCore::DNSResolveQueue::platformResolve): Renamed to platformMaybeResolveHost.

Source/WebKit2:

Add documentation to webkit_web_context_prefetch_dns to indicate that the function does
nothing if the system configuration indicates we should use a proxy to resolve the host.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

Source/WTF:

Add template specialization for GUniquePtr<char*>. This smart pointer will free its data
with g_strfreev() (as opposed to g_free(), which is used for GUniquePtr<char>).

  • wtf/gobject/GUniquePtr.h:
9:16 AM Changeset in webkit [185319] by andersca@apple.com
  • 5 edits
    2 deletes in trunk/Source/WebKit

Remove WebNSArrayExtras
https://bugs.webkit.org/show_bug.cgi?id=145747

Reviewed by Darin Adler.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

  • History/WebHistoryItem.mm:

(-[WebHistoryItem initFromDictionaryRepresentation:]):

  • Misc/WebNSArrayExtras.h: Removed.
  • Misc/WebNSArrayExtras.m: Removed.

(-[NSArray _webkit_numberAtIndex:]): Deleted.
(-[NSArray _webkit_stringAtIndex:]): Deleted.
(-[NSMutableArray _webkit_removeUselessMenuItemSeparators]): Deleted.

  • WebView/WebPDFView.mm:

(removeUselessMenuItemSeparators):
(-[WebPDFView _menuItemsFromPDFKitForEvent:]):

9:13 AM Changeset in webkit [185318] by svillar@igalia.com
  • 3 edits in trunk/LayoutTests

[CSS Grid Layout] Add some more testing for grid line names
https://bugs.webkit.org/show_bug.cgi?id=145691

Reviewed by Darin Adler.

After moving to the new syntax which uses brackets instead of
parentheses for grid line names lists, it's good to improve a bit
the testing of the feature with some more new test cases.

  • fast/css-grid-layout/named-grid-line-get-set-expected.txt:
  • fast/css-grid-layout/named-grid-line-get-set.html:
8:59 AM Changeset in webkit [185317] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebKit2

REGRESSION(r185251): [GTK] webkit_web_context_set_disk_cache_directory() doesn't work when using shared secondary process model after r185251
https://bugs.webkit.org/show_bug.cgi?id=145751

Reviewed by Darin Adler.

In r185251 the CFNetwork cache was disabled in the web process,
but it also removed the disk cache directory web process
initialization parameter. While we support networking in the web
process when shared secondary process model is used, the network
cache should still work. We can remove this if we eventually
switch to use the network process unconditionally.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode): Encode disk cache directory.
(WebKit::WebProcessCreationParameters::decode): Decode disk cache directory.

  • Shared/WebProcessCreationParameters.h: Bring back disk cache directory only for soup.
  • UIProcess/gtk/WebProcessPoolGtk.cpp:

(WebKit::WebProcessPool::platformInitializeWebProcess): Initialize disk cache directory parameter.

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformInitializeWebProcess): Use the disck cache directory parameter again.

7:36 AM Changeset in webkit [185316] by commit-queue@webkit.org
  • 24 edits in trunk/Source/WebCore

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

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

No new tests, no behavior changes.

  • Modules/mediastream/RTCConfiguration.h:

(WebCore::RTCConfiguration::iceServers):

  • Modules/mediastream/RTCDTMFSender.cpp:

(WebCore::RTCDTMFSender::scheduledEventTimerFired):

  • Modules/mediastream/RTCDataChannel.cpp:

(WebCore::RTCDataChannel::scheduledEventTimerFired):

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::processIceServer):
(WebCore::RTCPeerConnection::~RTCPeerConnection):
(WebCore::RTCPeerConnection::getStreamById):
(WebCore::RTCPeerConnection::hasLocalStreamWithTrackId):
(WebCore::RTCPeerConnection::stop):
(WebCore::RTCPeerConnection::scheduledEventTimerFired):

  • Modules/mediastream/RTCStatsReport.cpp:

(WebCore::RTCStatsReport::names):

  • Modules/navigatorcontentutils/NavigatorContentUtils.cpp:

(WebCore::initProtocolHandlerWhitelist):

  • Modules/speech/SpeechSynthesis.cpp:

(WebCore::SpeechSynthesis::getVoices):

  • Modules/webaudio/AudioBuffer.cpp:

(WebCore::AudioBuffer::memoryCost):

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::createMediaStreamSource):
(WebCore::AudioContext::derefFinishedSourceNodes):
(WebCore::AudioContext::derefUnfinishedSourceNodes):
(WebCore::AudioContext::handleDeferredFinishDerefs):
(WebCore::AudioContext::handleDirtyAudioSummingJunctions):
(WebCore::AudioContext::handleDirtyAudioNodeOutputs):
(WebCore::AudioContext::updateAutomaticPullNodes):
(WebCore::AudioContext::processAutomaticPullNodes):

  • Modules/webaudio/AudioNode.cpp:

(WebCore::AudioNode::updateChannelsForInputs):
(WebCore::AudioNode::checkNumberOfChannelsForInput):
(WebCore::AudioNode::pullInputs):
(WebCore::AudioNode::inputsAreSilent):
(WebCore::AudioNode::silenceOutputs):
(WebCore::AudioNode::unsilenceOutputs):
(WebCore::AudioNode::enableOutputsIfNecessary):
(WebCore::AudioNode::disableOutputsIfNecessary):
(WebCore::AudioNode::finishDeref):

  • Modules/webaudio/AudioNodeInput.cpp:

(WebCore::AudioNodeInput::numberOfChannels):
(WebCore::AudioNodeInput::sumAllConnections):

  • Modules/webaudio/AudioNodeOutput.cpp:

(WebCore::AudioNodeOutput::propagateChannelCount):
(WebCore::AudioNodeOutput::disable):
(WebCore::AudioNodeOutput::enable):

  • Modules/webaudio/AudioParam.cpp:

(WebCore::AudioParam::calculateFinalValues):

  • Modules/webaudio/AudioParamTimeline.cpp:

(WebCore::AudioParamTimeline::insertEvent):

  • Modules/webaudio/AudioSummingJunction.cpp:

(WebCore::AudioSummingJunction::updateRenderingState):

  • Modules/webaudio/MediaStreamAudioSource.cpp:

(WebCore::MediaStreamAudioSource::setAudioFormat):
(WebCore::MediaStreamAudioSource::consumeAudio):

  • Modules/webaudio/WaveShaperProcessor.cpp:

(WebCore::WaveShaperProcessor::setOversample):

  • Modules/webdatabase/DatabaseThread.cpp:

(WebCore::DatabaseThread::handlePausedQueue):
(WebCore::DatabaseThread::databaseThread):

  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::interruptAllDatabasesForContext):
(WebCore::DatabaseTracker::databaseNamesForOrigin):
(WebCore::DatabaseTracker::getOpenDatabases):
(WebCore::DatabaseTracker::usageForOrigin):
(WebCore::DatabaseTracker::deleteAllDatabases):
(WebCore::DatabaseTracker::deleteOrigin):
(WebCore::DatabaseTracker::deleteDatabaseFile):
(WebCore::DatabaseTracker::removeDeletedOpenedDatabases):
(WebCore::DatabaseTracker::setDatabasesPaused):

  • Modules/webdatabase/SQLTransactionCoordinator.cpp:

(WebCore::SQLTransactionCoordinator::shutdown):

  • Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::connect):

  • Modules/websockets/WebSocketExtensionDispatcher.cpp:

(WebCore::WebSocketExtensionDispatcher::addProcessor):
(WebCore::WebSocketExtensionDispatcher::appendAcceptedExtension):
(WebCore::WebSocketExtensionDispatcher::processHeaderValue):

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::WebSocketHandshake::clientHandshakeMessage):

7:08 AM Changeset in webkit [185315] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

[GTK] Remove the unused scroll function from WebPageGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=145756

Reviewed by Carlos Garcia Campos.

  • WebProcess/WebPage/gtk/WebPageGtk.cpp:

(WebKit::scroll): Deleted.

3:45 AM Changeset in webkit [185314] by Gyuyoung Kim
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r185262): [EFL] Modify legacyPlatformDefaultNetworkCacheDirectory() according to network cache
https://bugs.webkit.org/show_bug.cgi?id=145752

Reviewed by Carlos Garcia Campos.

EFL port needs to add different prefix for network cache directory since r185262.
Modify it basedon GTK port fix.

  • UIProcess/efl/WebProcessPoolEfl.cpp:

(WebKit::WebProcessPool::legacyPlatformDefaultNetworkCacheDirectory):

12:59 AM Changeset in webkit [185313] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Fixed the build.

  • WebView/WebView.mm:

(+[WebView _setCacheModel:]):

Note: See TracTimeline for information about the timeline view.