Timeline


and

08/19/14: Yesterday

21:32 Changeset [172796] by jinwoo7.song@samsung.com

Ignore usemap attributes without '#' in img element
https://bugs.webkit.org/show_bug.cgi?id=133336

Reviewed by Ryosuke Niwa.

HTML5 specification says we should ignore usemap attributes without #.
http://www.w3.org/TR/html5/infrastructure.html#valid-hash-name-reference

Source/WebCore:

Test: fast/dom/replaced-image-map-valid-hash-name.html

  • dom/TreeScope.cpp:

(WebCore::TreeScope::getImageMap):

LayoutTests:

  • fast/dom/replaced-image-map-valid-hash-name-expected.txt: Added.
  • fast/dom/replaced-image-map-valid-hash-name.html: Added.
  • fast/images/image-map-multiple-xhtml.xhtml: Modified usemap attribute value to use '#'.
20:02 Changeset [172795] by mitz@apple.com

update-webkit should not check for the presence of Apple’s Internal directory
Last part of https://bugs.webkit.org/show_bug.cgi?id=135815

Reviewed by Tim Horton.

  • Scripts/update-webkit:
19:38 Changeset [172794] by fpizlo@apple.com

REGRESSION(r172401): for-in optimization no longer works at all
https://bugs.webkit.org/show_bug.cgi?id=136056

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Roll this back in, along with a fix to make proxies work. Previously, for-in over proxies
would instacrash every time.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitGetByVal):
(JSC::BytecodeGenerator::pushIndexedForInScope):
(JSC::BytecodeGenerator::pushStructureForInScope):

  • bytecompiler/BytecodeGenerator.h:

(JSC::ForInContext::ForInContext):
(JSC::StructureForInContext::StructureForInContext):
(JSC::IndexedForInContext::IndexedForInContext):
(JSC::ForInContext::base): Deleted.

  • bytecompiler/NodesCodegen.cpp:

(JSC::ForInNode::emitMultiLoopBytecode):

  • runtime/JSProxy.cpp:

(JSC::JSProxy::getStructurePropertyNames):
(JSC::JSProxy::getGenericPropertyNames):

  • tests/stress/for-in-base-reassigned-later-and-change-structure.js: Added.

(foo):

  • tests/stress/for-in-base-reassigned-later.js: Added.

(foo):

  • tests/stress/for-in-base-reassigned.js: Added.

(foo):

  • tests/stress/for-in-proxy-target-changed-structure.js: Added.

(deleteAll):
(foo):

  • tests/stress/for-in-proxy.js: Added.

(foo):

LayoutTests:

This just needs a rebase because the number of calls into the DOM has changed and so the
number of console messages about security stuff has now changed.

  • http/tests/security/cross-frame-access-enumeration-expected.txt:
19:17 Changeset [172793] by ljaehun.lim@samsung.com

Unreviewed, fix EFL build after r17275

Fix error: ignoring #pragma clang diagnostic [-Werror=unknown-pragmas]

  • runtime/JSDataViewPrototype.cpp:

Add #if COMPILER(CLANG) and #endif.

17:36 Changeset [172792] by msaboff@apple.com

Crash in jsc-layout-tests.yaml/js/script-tests/reentrant-caching.js
https://bugs.webkit.org/show_bug.cgi?id=136080

Reviewed by Mark Lam.

Update VM::topVMEntryFrame via NativeCallFrameTracer() when we pass the caller's frame
to NativeCallFrameTracer() as the callee's frame may be the first callee from an entry
frame. In that case, the caller will have the prior VM entry frame.

The new NativeCallFrameTracer with a VMEntryFrame parameter should be used when throwing
an exception from a caller frame. The value to use for the VMEntryFrame should be a
value possibly modified by CallFrame::callerFrame(&*VMEntryFrame) used to find the caller.

  • interpreter/Interpreter.h:

(JSC::NativeCallFrameTracer::NativeCallFrameTracer): Added a new constructor that takes a
VMEntryFrame. Added an ASSERT to both constructors to check that the updated topCallFrame
is below the current vmEntryFrame.

  • jit/JITOperations.cpp:

(JSC::operationThrowStackOverflowError):
(JSC::operationCallArityCheck):
(JSC::operationConstructArityCheck):
Set VM::topVMEntryFrame to the possibly updated VMEntryFrame after getting the caller's frame.

17:22 Changeset [172791] by dburkart@apple.com

Merge r172317. <rdar://problem/18052514>

16:55 Changeset [172790] by psolanki@apple.com

Remove PurgeableBuffer since it is not very useful any more
https://bugs.webkit.org/show_bug.cgi?id=135939

Reviewed by Andreas Kling.

Source/WebCore:

The usefulness of having purgeable memory for cached resources has diminished now that
WebKit uses file backed resources when possible. Since this is read only memory, it is in
essence "purgeable". Having the PurgeableBuffer code adds additional complexity that we
don't need. e.g. on my Mac, I am not seeing any entry for "WebCore purgeable data" when I
run vmmap against the web processes that I have running. It is used on iOS, however even
there much of the purgeable memory we create gets replaced by file backed memory once we get
the notification from CFNetwork.

No new tests because no functional changes.

  • WebCore.xcodeproj/project.pbxproj:
  • inspector/InspectorPageAgent.cpp:

(WebCore::prepareCachedResourceBuffer):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::subresource):

  • loader/ResourceBuffer.cpp:

(WebCore::ResourceBuffer::hasPurgeableBuffer): Deleted.
(WebCore::ResourceBuffer::setShouldUsePurgeableMemory): Deleted.
(WebCore::ResourceBuffer::createPurgeableBuffer): Deleted.
(WebCore::ResourceBuffer::releasePurgeableBuffer): Deleted.

  • loader/ResourceBuffer.h:
  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didFinishLoading):

  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::sheetText):
(WebCore::CachedCSSStyleSheet::destroyDecodedData):

  • loader/cache/CachedCSSStyleSheet.h:
  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::image):
(WebCore::CachedImage::imageForRenderer):
(WebCore::CachedImage::imageSizeForRenderer):
(WebCore::CachedImage::destroyDecodedData):
(WebCore::CachedImage::canUseDiskImageCache):

  • loader/cache/CachedImage.h:
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::addClientToSet):
(WebCore::CachedResource::isSafeToMakePurgeable): Deleted.
(WebCore::CachedResource::makePurgeable): Deleted.
(WebCore::CachedResource::isPurgeable): Deleted.
(WebCore::CachedResource::wasPurged): Deleted.

  • loader/cache/CachedResource.h:

(WebCore::CachedResource::resourceBuffer):
(WebCore::CachedResource::purgePriority): Deleted.

  • loader/cache/CachedScript.cpp:

(WebCore::CachedScript::script):
(WebCore::CachedScript::destroyDecodedData):

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

(WebCore::MemoryCache::resourceForRequestImpl):
(WebCore::MemoryCache::pruneDeadResourcesToSize):
(WebCore::MemoryCache::evict):
(WebCore::MemoryCache::TypeStatistic::addResource):
(WebCore::MemoryCache::dumpStats):
(WebCore::MemoryCache::dumpLRULists):
(WebCore::MemoryCache::makeResourcePurgeable): Deleted.

  • loader/cache/MemoryCache.h:

(WebCore::MemoryCache::TypeStatistic::TypeStatistic):
(WebCore::MemoryCache::shouldMakeResourcePurgeableOnEviction): Deleted.

  • platform/PurgePriority.h: Removed.
  • platform/PurgeableBuffer.h: Removed.
  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::SharedBuffer):
(WebCore::SharedBuffer::size):
(WebCore::SharedBuffer::data):
(WebCore::SharedBuffer::append):
(WebCore::SharedBuffer::clear):
(WebCore::SharedBuffer::copy):
(WebCore::SharedBuffer::getSomeData):
(WebCore::SharedBuffer::adoptPurgeableBuffer): Deleted.
(WebCore::SharedBuffer::createPurgeableBuffer): Deleted.
(WebCore::SharedBuffer::releasePurgeableBuffer): Deleted.

  • platform/SharedBuffer.h:

(WebCore::SharedBuffer::hasPurgeableBuffer): Deleted.
(WebCore::SharedBuffer::shouldUsePurgeableMemory): Deleted.

  • platform/cf/SharedBufferCF.cpp:

(WebCore::SharedBuffer::SharedBuffer):

  • platform/mac/PurgeableBufferMac.cpp: Removed.
  • platform/mac/SharedBufferMac.mm:

(WebCore::SharedBuffer::createCFData):

  • platform/soup/SharedBufferSoup.cpp:

Source/WebKit/mac:

  • Misc/WebCache.mm:

(+[WebCache statistics]):

Source/WebKit/win:

  • WebCache.cpp:

(WebCache::statistics):

Source/WebKit2:

  • WebProcess/WebProcess.cpp:

(WebKit::getWebCoreMemoryCacheStatistics):

Source/WTF:

  • wtf/Platform.h: Remove ENABLE_PURGEABLE_MEMORY define.
  • wtf/VMTags.h: Remove VM tags used by WebCore for cached resource purgeable memory.
16:53 Changeset [172789] by dburkart@apple.com

Merge r172727. <rdar://problem/18051847>

16:50 Changeset [172788] by dburkart@apple.com

Merge r172720. <rdar://problem/17767169>

16:49 Changeset [172787] by dburkart@apple.com

Merge r172709. <rdar://problem/17850158>

16:45 Changeset [172786] by dburkart@apple.com

Merge r172705. <rdar://problem/17767169>

16:43 Changeset [172785] by dburkart@apple.com

Merge r172703. <rdar://problem/17767169>

16:39 Changeset [172784] by dburkart@apple.com

Merge r172693. <rdar://problem/17577321>

16:38 Changeset [172783] by aestes@apple.com

[Cocoa] Offline Assembler build phase fails when $BUILT_PRODUCTS_DIR contains spaces
https://bugs.webkit.org/show_bug.cgi?id=136086

Reviewed by Filip Pizlo.

Enclosed arguments to asm.rb containing $BUILT_PRODUCTS_DIR in double quotes so that they don't get split on
whitespace. Also let Xcode have its way with an unrelated part of the project file.

16:35 Changeset [172782] by dburkart@apple.com

Merge r172689. <rdar://problem/18040028>

16:33 Changeset [172781] by dburkart@apple.com

Merge r172682. <rdar://problem/18038767>

16:33 Changeset [172780] by commit-queue@webkit.org

Expose injected bundle SPI to get a node's URL element, get the visible selection range of that
element, and snapshot that range
https://bugs.webkit.org/show_bug.cgi?id=136076

Patch by Peyton Randolph <prandolph@apple.com> on 2014-08-19
Reviewed by Tim Horton.

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

(WKBundleHitTestResultCopyURLElementHandle): Added.

  • WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
  • WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:

(WKBundleNodeHandleCopyVisibleRange): Added.

  • WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
  • WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp:

(WKBundleRangeHandleGetBoundingRectInWindowCoordinates): Added.
(WKBundleRangeHandleCopySnapshotWithOptions): Added.

  • WebProcess/InjectedBundle/API/c/WKBundleRangeHandlePrivate.h:
  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:

(WebKit::InjectedBundleNodeHandle::visibleRange): Added.

  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
  • WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:

(WebKit::InjectedBundleRangeHandle::boundingRectInWindowCoordinates): Added.
(WebKit::InjectedBundleRangeHandle::renderedImage): Added.

  • WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
  • WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:

(WebKit::InjectedBundleHitTestResult::urlElementHandle): Added.

  • WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
16:29 Changeset [172779] by dburkart@apple.com

Merge r172662. <rdar://problem/17971908>

16:26 Changeset [172778] by dburkart@apple.com

Merge r172657. <rdar://problem/17896828>

16:25 Changeset [172777] by fpizlo@apple.com

LLInt build should be way faster
https://bugs.webkit.org/show_bug.cgi?id=136085

Reviewed by Geoffrey Garen.

This does three things to improve the LLInt build performance. One of them is only for
Xcode for now while the others should benefit all platforms:

  • Don't exponentially build settings combinations that correspond to being on two backends simultaneously. This is by far the biggest win.


  • Don't generate offset extraction code for backends that aren't supported by the current port. This currently only works on Xcode-based ports. This is a relatively small win.


  • Remove the ALWAYS_ALLOCATE_SLOW option. Each option increases build time, and we haven't used this one in a long time. Anyway, setting this option could be emulated by just directly hacking the code.


This is an enormous speed-up in the LLInt build.

  • JavaScriptCore.xcodeproj/project.pbxproj: Prune the set of backends that we should consider on Xcode-based platforms.
  • llint/LLIntOfflineAsmConfig.h: Remove ALWAYS_ALLOCATE_SLOW
  • llint/LowLevelInterpreter.asm: Remove ALWAYS_ALLOCATE_SLOW
  • offlineasm/backends.rb: Add infrastructure for reasoning about valid backends.
  • offlineasm/generate_offset_extractor.rb: Allow the client to specify a filtered set of valid backends.
  • offlineasm/settings.rb: Improve the construction of settings combinations so that it doesn't traverse the enourmous set of obviously invalid multi-backend combinations. Also glue into support for valid backends.
16:20 Changeset [172776] by dburkart@apple.com

Merge r172656. <rdar://problem/17961698>

16:12 Changeset [172775] by dburkart@apple.com

Merge r172650. <rdar://problem/18034356>

16:09 Changeset [172774] by dburkart@apple.com

Merge r172643. <rdar://problem/18032571>

16:06 Changeset [172773] by dburkart@apple.com

Merge r172640. <rdar://problem/18025668>

16:02 Changeset [172772] by dburkart@apple.com

Merge r172639. <rdar://problem/17957716>

16:00 Changeset [172771] by dburkart@apple.com

Merge r172636. <rdar://problem/17957716>

15:54 Changeset [172770] by dburkart@apple.com

Merge r172635. <rdar://problem/18006149>

15:47 Changeset [172769] by dburkart@apple.com

Merge r172617. <rdar://problem/18023242>

15:43 Changeset [172768] by dburkart@apple.com

Merge r172615. <rdar://problem/18024530>

15:25 Changeset [172767] by fpizlo@apple.com

Fix indentation and style in LowLevelInterpreter.asm
https://bugs.webkit.org/show_bug.cgi?id=136083

Reviewed by Mark Lam.

  • llint/LowLevelInterpreter.asm:
15:25 Changeset [172766] by dburkart@apple.com

Merged r172606. <rdar://problem/18022467>

15:18 Changeset [172765] by dburkart@apple.com

Merged r172603. <rdar://problem/17989469>

15:05 Changeset [172764] by dburkart@apple.com

Merged r172601. <rdar://problem/18021462>

14:39 Changeset [172763] by dburkart@apple.com

Merged r172600. <rdar://problem/18021928>

14:34 Changeset [172762] by dburkart@apple.com

Merged r172596. <rdar://problem/17957690>

14:31 Changeset [172761] by dburkart@apple.com

Merged r172502. <rdar://problem/18022784>

14:28 Changeset [172760] by dburkart@apple.com

Merged r172481. <rdar://problem/17954473>

14:25 Changeset [172759] by berto@igalia.com

TEXTREL in libjavascriptcoregtk-1.0.so.0.11.0 on x86 (or i586)
https://bugs.webkit.org/show_bug.cgi?id=70610

Patch by Magnus Granberg <zorry@gentoo.org> on 2014-08-19
Reviewed by Darin Adler.

Source/JavaScriptCore:

Setup %ebx so we can use the plt.

  • jit/ThunkGenerators.cpp:

Source/WTF:

Add PLT if we're building with PIC.

  • wtf/InlineASM.h:
14:02 Changeset [172758] by zalan@apple.com

Remove ENABLE(SUBPIXEL_LAYOUT).
https://bugs.webkit.org/show_bug.cgi?id=136077

Reviewed by Simon Fraser.

Remove compile time flag SUBPIXEL_LAYOUT. All ports have it enabled for a while now.

.:

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsMac.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::computeLength):

  • dom/Element.cpp:

(WebCore::adjustForLocalZoom):
(WebCore::Element::offsetWidth):
(WebCore::Element::offsetHeight):
(WebCore::Element::clientLeft):
(WebCore::Element::clientTop):
(WebCore::Element::clientWidth):
(WebCore::Element::clientHeight):

  • platform/LayoutUnit.h:

(WebCore::LayoutUnit::LayoutUnit):
(WebCore::LayoutUnit::ceilToFloat):
(WebCore::LayoutUnit::ceil):
(WebCore::LayoutUnit::round):
(WebCore::LayoutUnit::floor):
(WebCore::boundedMultiply):
(WebCore::operator*):
(WebCore::operator/):
(WebCore::intMod):
(WebCore::operator%):
(WebCore::roundedLayoutUnit):
(WebCore::ceiledLayoutUnit):
(WebCore::LayoutUnit::toInt): Deleted.
(WebCore::LayoutUnit::toFloat): Deleted.
(WebCore::LayoutUnit::toDouble): Deleted.
(WebCore::LayoutUnit::epsilon): Deleted.

  • platform/graphics/LayoutPoint.h:

(WebCore::roundedForPainting):
(WebCore::flooredForPainting):
(WebCore::ceiledForPainting):
(WebCore::roundedLayoutPoint):

  • platform/graphics/LayoutRect.cpp:

(WebCore::enclosingLayoutRect):

  • platform/graphics/LayoutRect.h:

(WebCore::pixelSnappedIntRect):
(WebCore::pixelSnappedForPainting):

  • platform/graphics/LayoutSize.h:

(WebCore::roundedLayoutSize):
(WebCore::flooredForPainting):

  • rendering/RenderBlock.cpp:

(WebCore::adjustFloatForSubPixelLayout):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):

  • rendering/RenderElement.h:

(WebCore::adjustLayoutUnitForAbsoluteZoom):

  • rendering/style/RenderStyle.h:

(WebCore::adjustLayoutUnitForAbsoluteZoom):

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp:
13:41 Changeset [172757] by bjonesbe@adobe.com

[CSS Shapes] A few calc() test failures in the shape-image-threshold parsing tests
https://bugs.webkit.org/show_bug.cgi?id=135926

Reviewed by Dirk Schulze.

Source/WebCore:

shape-image-threshold is a Number, so it should be parsed as one. The
default parsing doesn't support calcs, but numbers do.

No new tests, fixes exitsing test to pass.

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): Use

ApplyPropertyNumber instead of ApplyPropertyDefault for
shape-image-threshold.

LayoutTests:

  • TestExpectations: Remove Failure and Crash expectations.
  • css3/shapes/shape-outside/values/shape-image-threshold-001-expected.txt:

Proper expected results now that the test passes.

  • css3/shapes/shape-outside/values/shape-image-threshold-001.html:

Adding together calcs isn't valid, so move the addition inside of
the calc expression. This will also be updated upstream.

11:57 Changeset [172756] by mmirman@apple.com

Merges the two native inlining passes from the build.
Also adds the AvailableExternallyLinkage assertion to linked
functions to allow unused and duplicate ones to be removed.
https://bugs.webkit.org/show_bug.cgi?id=135526

Reviewed by Filip Pizlo.

Removed second generation of llvm binary files.
Fixed the flags on the first pass.

  • build-symbol-table-index.py: Modified some paths.
  • build-symbol-table-index.sh: Removed.
  • copy-llvm-ir-to-derived-sources.sh: Now calls build-symbol-table-index directly.
  • ftl/FTLLowerDFGToLLVM.cpp: Added LLVMAvailableExternallyLinkage assertion.

(JSC::FTL::LowerDFGToLLVM::getModuleByPathForSymbol):

  • runtime/ArrayPrototype.cpp: Removed static declarations.
  • runtime/DateConstructor.cpp: ditto.

(JSC::dateParse):
(JSC::dateNow):
(JSC::dateUTC):

  • runtime/DatePrototype.cpp: ditto.
  • runtime/JSDataViewPrototype.cpp: ditto on both.

(JSC::dataViewProtoFuncGetInt8):
(JSC::dataViewProtoFuncGetInt16):
(JSC::dataViewProtoFuncGetInt32):
(JSC::dataViewProtoFuncGetUint8):
(JSC::dataViewProtoFuncGetUint16):
(JSC::dataViewProtoFuncGetUint32):
(JSC::dataViewProtoFuncGetFloat32):
(JSC::dataViewProtoFuncGetFloat64):
(JSC::dataViewProtoFuncSetInt8):
(JSC::dataViewProtoFuncSetInt16):
(JSC::dataViewProtoFuncSetInt32):
(JSC::dataViewProtoFuncSetUint8):
(JSC::dataViewProtoFuncSetUint16):
(JSC::dataViewProtoFuncSetUint32):
(JSC::dataViewProtoFuncSetFloat32):
(JSC::dataViewProtoFuncSetFloat64):

  • runtime/JSONObject.cpp: ditto.
  • runtime/ObjectConstructor.cpp: ditto.
  • runtime/StringPrototype.cpp: ditto.
11:32 Changeset [172755] by commit-queue@webkit.org

Extend injected bundle node snapshotting to support forced white and black text
https://bugs.webkit.org/show_bug.cgi?id=136061

Patch by Peyton Randolph <prandolph@apple.com> on 2014-08-19
Reviewed by Beth Dakin.

  • Shared/API/c/WKImage.h:

Add -ForceBlackText and -ForceWhiteText snapshotting options.

  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toSnapshotOptions):
Support aforementioned text snapshotting options.

  • Shared/ImageOptions.h:
  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:

(WebKit::imageForRect):
Respect text color snapshotting options by setting appropriate paint behaviors.

10:36 Changeset [172754] by commit-queue@webkit.org

[CMake] Generate LLInt assembly correctly on Windows.
https://bugs.webkit.org/show_bug.cgi?id=135888

Patch by Alex Christensen <achristensen@webkit.org> on 2014-08-19
Reviewed by Oliver Hunt.

  • CMakeLists.txt:

Generate LowLevelInterpreterWin.asm instead of LLIntAssembly.h on Windows like the existing build system.

  • PlatformWin.cmake:

Don't build JSGlobalObjectInspectorController.cpp on Windows.

  • offlineasm/x86.rb:

Detect non-cygwin ruby installations correctly.

10:04 Changeset [172753] by ap@apple.com

ASSERT_NOT_REACHED on css3/shapes/shape-outside/values/shape-image-threshold-001.html
https://bugs.webkit.org/show_bug.cgi?id=136075

08:43 Changeset [172752] by bshafiei@apple.com

Merged r172213. <rdar://problem/18052523>

06:09 Changeset [172751] by commit-queue@webkit.org

Let the caller define JSC_timeout for run-javascriptcore-tests
https://bugs.webkit.org/show_bug.cgi?id=136068

Patch by Akos Kiss <akiss@inf.u-szeged.hu> on 2014-08-19
Reviewed by Csaba Osztrogonác.

Keep the 60 second timeout for jsc tests as the default setting but
don't override the value of JSC_timeout if already set.

  • Scripts/run-javascriptcore-tests:
05:05 Changeset [172750] by clopez@igalia.com

[GTK] Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Mark tests failing after r172733 (W3C CSS Shapes test suite import)

Update list of flaky tests. Report and mark new failures. Remove expectations for new passing tests.

02:41 WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
01:37 Changeset [172749] by mjs@apple.com

Use NSURLFileTypeMappings directly instead of depending on WebKitSystemInterface wrappers for it
https://bugs.webkit.org/show_bug.cgi?id=136035

Reviewed by Dan Bernstein.

Source/WebCore:

  • WebCore.exp.in: Remove reference to no longer existent sumbols.
  • WebCore.order: ditto
  • WebCore.xcodeproj/project.pbxproj: Install new NSURLFileTyeMappings.h header.
  • platform/ios/MIMETypeRegistryIOS.mm:

(WebCore::MIMETypeRegistry::getMIMETypeForExtension): Use NSURLFileTypeMappings
directly instead of via WKSI wrapper.

  • platform/mac/MIMETypeRegistryMac.mm:

(WebCore::MIMETypeRegistry::getMIMETypeForExtension): ditto
(WebCore::MIMETypeRegistry::getExtensionsForMIMEType): ditto
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): ditto

  • platform/mac/WebCoreSystemInterface.h: Remove references to the no-longer-used

WKGetExtensionsForMIMEType, WKGetPreferredExtensionForMIMEType, or WKGetMIMETypeForExtension

  • platform/mac/WebCoreSystemInterface.mm: ditto
  • platform/spi: Added. This is where headers to declare SPI go.
  • platform/spi/cocoa: Added. See above.
  • platform/spi/cocoa/NSURLFileTypeMappingsSPI.h: Added. Header to declare

the internal class NSURLFileTypeMappings and some of its methods.

Source/WebKit/mac:

  • Misc/WebNSViewExtras.m:

(-[NSView _web_DragImageForElement:rect:event:pasteboard:source:offset:]): Remove comment
reference to obsolete WKSI function.

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Don't initialize the no-longer-used WKGetExtensionsForMIMEType,
WKGetPreferredExtensionForMIMEType, or WKGetMIMETypeForExtension

  • Plugins/WebPluginDatabase.mm:

(-[WebPluginDatabase pluginForExtension:]): Include SPI header from WebCore; use
NSURLFileTypeMappings directly instead of via WKSI wrapper.

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::objectContentType): ditto

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _imageExistsAtPaths:]): ditto

  • WebView/WebView.mm:

(+[WebView _supportedFileExtensions]): ditto
(+[WebView suggestedFileExtensionForMIMEType:]): ditto
(+[WebView _MIMETypeForFile:]): ditto

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Don't initialize the no-longer-used WKGetExtensionsForMIMEType,
WKGetPreferredExtensionForMIMEType, or WKGetMIMETypeForExtension

  • mac/WebKit2.order: Remove exports related to above.

Source/WTF:

  • wtf/Platform.h: Define USE(APPLE_INTERNAL_SDK) by default on platforms that have it.
01:09 Changeset [172748] by commit-queue@webkit.org

Remove obsolete run-javascriptcore-tests result parsing from master.cfg
https://bugs.webkit.org/show_bug.cgi?id=136039

Patch by Renato Nagy <nagy.renato@stud.u-szeged.hu> on 2014-08-19
Reviewed by Csaba Osztrogonác.

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

(RunJavaScriptCoreTests.commandComplete):

  • BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:

(RunJavaScriptCoreTestsTest.test_no_failure_new_output):
(RunJavaScriptCoreTestsTest.test_mozilla_failure_old_output):
(RunJavaScriptCoreTestsTest):
(RunJavaScriptCoreTestsTest.test_jsc_stress_failure_new_output):
(RunJavaScriptCoreTestsTest.test_mozilla_failure_new_output): Deleted.
(test_layout_failure_new_output): Deleted.
(test_layout_crash_new_output): Deleted.
(test_mozilla_and_layout_failure_new_output): Deleted.
(test_jsc_stress_failure_new_output): Deleted.
(test_js_crashes_and_jsc_stress_failures_new_output): Deleted.

00:37 Changeset [172747] by ap@apple.com

build.webkit.org/dashboard should not request 50 revisions from trac each time
https://bugs.webkit.org/show_bug.cgi?id=127130

build.webkit.org/dashboard sometimes fetches a Trac revision in an intermediate state, and never updates later
https://bugs.webkit.org/show_bug.cgi?id=127131

Reviewed by Timothy Hatcher.

Turns out that requesting 50 builds is much slower than requesting by date - even
if the request ends up returning more than 50 results. There is no way to only
request updates, but this change brings request time from 6-8 seconds down to
less than a second.

This patch generalizes date handling for later use in metrics code. As part of the
rewrite, I made newly fetched data update author e-mail in previously fetched
revisions, as it changes after commit queue first lands.

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

Updated for event rename. I changed the trac event to not contain the list of new
commits, as we now sometimes update old commits, and that couldn't be expressed
in event data. We never used the list anywhere in the first place.

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

(Trac.prototype._xmlTimelineURL): Made this function take arbitrary dates. When called
without arguments, return commits for today and yesterday.
(Trac.prototype._loaded):
(Trac.prototype.update): Moved the function for processing loaded results out of
here for clarity, and also because I'm going to have a separate loading code path
for metrics.

00:14 Changeset [172746] by ossy@webkit.org

REGRESSION(r163179): It broke the build on ARM Thumb2 with GCC
https://bugs.webkit.org/show_bug.cgi?id=136028

Patch by Michael Saboff <msaboff@apple.com> on 2014-08-19
Reviewed by Oliver Hunt.

Added back ARMv7 conditionals around three op addp and subp since ARM Thumb2 spec says that
the behavior for those ops are undefined. This was originally done in changeset 163179.

  • llint/LowLevelInterpreter32_64.asm:

08/18/14:

23:12 Changeset [172745] by bshafiei@apple.com

Merged r172317. <rdar://problem/18052514>

22:10 Changeset [172744] by commit-queue@webkit.org

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

Caused 14% PLT regressions (Requested by rniwa on #webkit).

Reverted changeset:

"Remove PurgeableBuffer since it is not very useful any more"
https://bugs.webkit.org/show_bug.cgi?id=135939
http://trac.webkit.org/changeset/172736

22:04 Changeset [172743] by dburkart@apple.com

Bump versioning

21:41 Changeset [172742] by commit-queue@webkit.org

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

This change is breaking PLT. (Requested by mlam on #webkit).

Reverted changeset:

"REGRESSION(r172401): for-in optimization no longer works at
all"
https://bugs.webkit.org/show_bug.cgi?id=136056
http://trac.webkit.org/changeset/172741

19:48 Changeset [172741] by fpizlo@apple.com

REGRESSION(r172401): for-in optimization no longer works at all
https://bugs.webkit.org/show_bug.cgi?id=136056

Reviewed by Mark Hahnenberg.

This is a partial roll-out of r172401. It turns out that the fix wasn't actually fixing a
real bug (since it's fine to use op_get_direct_pname on the wrong base because it has a
structure check) and it was actually breaking the entire for-in optimization (since there is
no way that we can statically prove that the base matches, because the base we see is a
newly created temporary, and anyway doing it right would be really hard in our bytecode
because it's 3AC form).

But, I added a new test for the problem, and kept the original test. Both the old test and
the new test prove that r172401 wasn't fixing what it thought it was fixing. To the extent
that it resolved crashes it was because it just disabled the for-in optimization entirely.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitGetByVal):
(JSC::BytecodeGenerator::pushIndexedForInScope):
(JSC::BytecodeGenerator::pushStructureForInScope):

  • bytecompiler/BytecodeGenerator.h:

(JSC::ForInContext::ForInContext):
(JSC::StructureForInContext::StructureForInContext):
(JSC::IndexedForInContext::IndexedForInContext):
(JSC::ForInContext::base): Deleted.

  • bytecompiler/NodesCodegen.cpp:

(JSC::ForInNode::emitMultiLoopBytecode):

  • tests/stress/for-in-base-reassigned.js: Added.
  • tests/stress/for-in-base-reassigned-later.js: Added.
  • tests/stress/for-in-base-reassigned-later-and-change-structure.js: Added.
19:46 Changeset [172740] by benjamin@webkit.org

Mark shape-image-threshold-001.html as crashing in debug

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-08-18

The test css3/shapes/shape-outside/values/shape-image-threshold-001.html systematically assert
in debug. Skip the results until the author investigate.

19:31 Changeset [172739] by mark.lam@apple.com

Gardening: build fix for non-Mac builds after r172737.
https://bugs.webkit.org/show_bug.cgi?id=135750

Not reviewed.

18:04 Changeset [172738] by simon.fraser@apple.com

Provide default implementations of all GraphicsLayerClient methods
https://bugs.webkit.org/show_bug.cgi?id=136054

Reviewed by Tim Horton.
Source/WebCore:

Make none of the functions in GraphicsLayerClient pure virtual, since in many cases
subclasses don't need to provide their own implementations.

  • platform/graphics/GraphicsLayerClient.h:

(WebCore::GraphicsLayerClient::notifyAnimationStarted):
(WebCore::GraphicsLayerClient::notifyFlushRequired):
(WebCore::GraphicsLayerClient::paintContents):

  • rendering/RenderLayerCompositor.h:

Source/WebKit2:

Remove overrides which are no longer required.

  • WebProcess/WebPage/PageOverlayController.h:
  • WebProcess/WebPage/ServicesOverlayController.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
17:55 Changeset [172737] by fpizlo@apple.com

REGRESSION(r172129): ftlopt branch merge made performance tests flakey crash
https://bugs.webkit.org/show_bug.cgi?id=135750

Reviewed by Mark Lam.

This was caused by a rather embarrassing oversight in how the DFG tracks structures: we
could sometimes perform an optimization that requires a structure to be alive but forget to
ensure that the structure is actually kept alive. In particular, any watchpoint-based
optimizations involve setting watchpoints even if the code that got optimized is eventually
deleted because it is unreachable. All such optimizations would leave behind something in
the IR to tell us that we are interested in the structure and that therefore it should be
kept alive. But, IR can be deleted if it is unreachable.

The solution is to ensure that as soon as the DFG is made aware of a structure, it adds it
to the set of weak references.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGAbstractValue.cpp:

(JSC::DFG::AbstractValue::setOSREntryValue):
(JSC::DFG::AbstractValue::set):
(JSC::DFG::AbstractValue::normalizeClarity):
(JSC::DFG::AbstractValue::assertIsRegistered):
(JSC::DFG::AbstractValue::assertIsWatched): Deleted.

  • dfg/DFGAbstractValue.h:

(JSC::DFG::AbstractValue::assertIsRegistered):
(JSC::DFG::AbstractValue::assertIsWatched): Deleted.

  • dfg/DFGCommon.h:
  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::addStructureTransitionCheck):

  • dfg/DFGDesiredWeakReferences.cpp:

(JSC::DFG::DesiredWeakReferences::addLazily):
(JSC::DFG::DesiredWeakReferences::contains):
(JSC::DFG::DesiredWeakReferences::reallyAdd):
(JSC::DFG::DesiredWeakReferences::visitChildren):

  • dfg/DFGDesiredWeakReferences.h:
  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::canOptimizeStringObjectAccess):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::Graph):
(JSC::DFG::Graph::registerFrozenValues):
(JSC::DFG::Graph::convertToConstant):
(JSC::DFG::Graph::registerStructure):
(JSC::DFG::Graph::assertIsRegistered):
(JSC::DFG::Graph::assertIsWatched): Deleted.

  • dfg/DFGGraph.h:
  • dfg/DFGPlan.cpp:

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

  • dfg/DFGStructureAbstractValue.cpp:

(JSC::DFG::StructureAbstractValue::assertIsRegistered):
(JSC::DFG::StructureAbstractValue::assertIsWatched): Deleted.

  • dfg/DFGStructureAbstractValue.h:

(JSC::DFG::StructureAbstractValue::assertIsRegistered):
(JSC::DFG::StructureAbstractValue::assertIsWatched): Deleted.

  • dfg/DFGStructureRegistrationPhase.cpp: Copied from Source/JavaScriptCore/dfg/DFGWatchableStructureWatchingPhase.cpp.

(JSC::DFG::StructureRegistrationPhase::StructureRegistrationPhase):
(JSC::DFG::StructureRegistrationPhase::run):
(JSC::DFG::StructureRegistrationPhase::registerStructures):
(JSC::DFG::StructureRegistrationPhase::registerStructure):
(JSC::DFG::performStructureRegistration):
(JSC::DFG::WatchableStructureWatchingPhase::WatchableStructureWatchingPhase): Deleted.
(JSC::DFG::WatchableStructureWatchingPhase::run): Deleted.
(JSC::DFG::WatchableStructureWatchingPhase::tryWatch): Deleted.
(JSC::DFG::performWatchableStructureWatching): Deleted.

  • dfg/DFGStructureRegistrationPhase.h: Copied from Source/JavaScriptCore/dfg/DFGWatchableStructureWatchingPhase.h.
  • dfg/DFGWatchableStructureWatchingPhase.cpp: Removed.
  • dfg/DFGWatchableStructureWatchingPhase.h: Removed.
16:25 Changeset [172736] by psolanki@apple.com

Remove PurgeableBuffer since it is not very useful any more
https://bugs.webkit.org/show_bug.cgi?id=135939

Reviewed by Geoffrey Garen.

Source/WebCore:

The usefulness of having purgeable memory for cached resources has diminished now that
WebKit uses file backed resources when possible. Since this is read only memory, it is in
essence "purgeable". Having the PurgeableBuffer code adds additional complexity that we
don't need. e.g. on my Mac, I am not seeing any entry for "WebCore purgeable data" when I
run vmmap against the web processes that I have running. It is used on iOS, however even
there much of the purgeable memory we create gets replaced by file backed memory once we get
the notification from CFNetwork.

No new tests because no functional changes.

  • WebCore.xcodeproj/project.pbxproj:
  • inspector/InspectorPageAgent.cpp:

(WebCore::prepareCachedResourceBuffer):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::subresource):

  • loader/ResourceBuffer.cpp:

(WebCore::ResourceBuffer::hasPurgeableBuffer): Deleted.
(WebCore::ResourceBuffer::setShouldUsePurgeableMemory): Deleted.
(WebCore::ResourceBuffer::createPurgeableBuffer): Deleted.
(WebCore::ResourceBuffer::releasePurgeableBuffer): Deleted.

  • loader/ResourceBuffer.h:
  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didFinishLoading):

  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::sheetText):
(WebCore::CachedCSSStyleSheet::destroyDecodedData):

  • loader/cache/CachedCSSStyleSheet.h:
  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::image):
(WebCore::CachedImage::imageForRenderer):
(WebCore::CachedImage::imageSizeForRenderer):
(WebCore::CachedImage::destroyDecodedData):
(WebCore::CachedImage::canUseDiskImageCache):

  • loader/cache/CachedImage.h:
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::addClientToSet):
(WebCore::CachedResource::isSafeToMakePurgeable): Deleted.
(WebCore::CachedResource::makePurgeable): Deleted.
(WebCore::CachedResource::isPurgeable): Deleted.
(WebCore::CachedResource::wasPurged): Deleted.

  • loader/cache/CachedResource.h:

(WebCore::CachedResource::resourceBuffer):
(WebCore::CachedResource::purgePriority): Deleted.

  • loader/cache/CachedScript.cpp:

(WebCore::CachedScript::script):
(WebCore::CachedScript::destroyDecodedData):

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

(WebCore::MemoryCache::resourceForRequestImpl):
(WebCore::MemoryCache::pruneDeadResourcesToSize):
(WebCore::MemoryCache::evict):
(WebCore::MemoryCache::TypeStatistic::addResource):
(WebCore::MemoryCache::dumpStats):
(WebCore::MemoryCache::dumpLRULists):
(WebCore::MemoryCache::makeResourcePurgeable): Deleted.

  • loader/cache/MemoryCache.h:

(WebCore::MemoryCache::TypeStatistic::TypeStatistic):
(WebCore::MemoryCache::shouldMakeResourcePurgeableOnEviction): Deleted.

  • platform/PurgePriority.h: Removed.
  • platform/PurgeableBuffer.h: Removed.
  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::SharedBuffer):
(WebCore::SharedBuffer::size):
(WebCore::SharedBuffer::data):
(WebCore::SharedBuffer::append):
(WebCore::SharedBuffer::clear):
(WebCore::SharedBuffer::copy):
(WebCore::SharedBuffer::getSomeData):
(WebCore::SharedBuffer::adoptPurgeableBuffer): Deleted.
(WebCore::SharedBuffer::createPurgeableBuffer): Deleted.
(WebCore::SharedBuffer::releasePurgeableBuffer): Deleted.

  • platform/SharedBuffer.h:

(WebCore::SharedBuffer::hasPurgeableBuffer): Deleted.
(WebCore::SharedBuffer::shouldUsePurgeableMemory): Deleted.

  • platform/cf/SharedBufferCF.cpp:

(WebCore::SharedBuffer::SharedBuffer):

  • platform/mac/PurgeableBufferMac.cpp: Removed.
  • platform/mac/SharedBufferMac.mm:

(WebCore::SharedBuffer::createCFData):

  • platform/soup/SharedBufferSoup.cpp:

Source/WebKit/mac:

  • Misc/WebCache.mm:

(+[WebCache statistics]):

Source/WebKit/win:

  • WebCache.cpp:

(WebCache::statistics):

Source/WebKit2:

  • WebProcess/WebProcess.cpp:

(WebKit::getWebCoreMemoryCacheStatistics):

Source/WTF:

  • wtf/Platform.h: Remove ENABLE_PURGEABLE_MEMORY define.
  • wtf/VMTags.h: Remove VM tags used by WebCore for cached resource purgeable memory.
16:22 Changeset [172735] by psolanki@apple.com

Use modern for loop instead of iterators in SharedBufferCF.cpp
https://bugs.webkit.org/show_bug.cgi?id=136000

Reviewed by Andreas Kling.

  • platform/cf/SharedBufferCF.cpp:

(WebCore::SharedBuffer::copyBufferAndClear):
(WebCore::SharedBuffer::copySomeDataFromDataArray):
(WebCore::SharedBuffer::maybeAppendDataArray): Use auto& instead of auto for less RetainPtr/refcount churn.

16:20 Changeset [172734] by commit-queue@webkit.org

Fix ASSERT in ARM64's JSC::GPRInfo::debugName
https://bugs.webkit.org/show_bug.cgi?id=136050

Patch by Akos Kiss <akiss@inf.u-szeged.hu> on 2014-08-18
Reviewed by Darin Adler.

Remove cast of GPRReg to unsigned to prevent signed/unsigned comparison
error.

  • jit/GPRInfo.h:

(JSC::GPRInfo::debugName):

16:10 Changeset [172733] by commit-queue@webkit.org

[CSS Shapes] Import the CSS Shapes W3C test suite
https://bugs.webkit.org/show_bug.cgi?id=135921

Patch by Rebecca Hauck <rhauck@adobe.com> on 2014-08-18
Reviewed by Bem Jones-Bey.

This patch contains the imported CSS Shapes W3C test suite
brought in and converted to WebKit style using
Tools/Scripts/impoart-w3c-tests.

  • TestExpectations:
  • css3/shapes/shape-outside-invalid-001-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-001.html: Added.
  • css3/shapes/shape-outside-invalid-circle-000-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-circle-000.html: Added.
  • css3/shapes/shape-outside-invalid-circle-001-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-circle-001.html: Added.
  • css3/shapes/shape-outside-invalid-circle-002-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-circle-002.html: Added.
  • css3/shapes/shape-outside-invalid-circle-003-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-circle-003.html: Added.
  • css3/shapes/shape-outside-invalid-ellipse-001-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-ellipse-001.html: Added.
  • css3/shapes/shape-outside-invalid-ellipse-002-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-ellipse-002.html: Added.
  • css3/shapes/shape-outside-invalid-ellipse-003-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-ellipse-003.html: Added.
  • css3/shapes/shape-outside-invalid-ellipse-004-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-ellipse-004.html: Added.
  • css3/shapes/shape-outside-invalid-ellipse-005-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-ellipse-005.html: Added.
  • css3/shapes/shape-outside-invalid-ellipse-006-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-ellipse-006.html: Added.
  • css3/shapes/shape-outside-invalid-inset-001-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-inset-001.html: Added.
  • css3/shapes/shape-outside-invalid-inset-002-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-inset-002.html: Added.
  • css3/shapes/shape-outside-invalid-inset-003-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-inset-003.html: Added.
  • css3/shapes/shape-outside-invalid-inset-004-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-inset-004.html: Added.
  • css3/shapes/shape-outside/shape-box/shape-outside-box-002-expected.html: Added.
  • css3/shapes/shape-outside/shape-box/shape-outside-box-002.html: Added.
  • css3/shapes/shape-outside/shape-box/shape-outside-box-003-expected.html: Added.
  • css3/shapes/shape-outside/shape-box/shape-outside-box-003.html: Added.
  • css3/shapes/shape-outside/shape-box/shape-outside-box-004-expected.html: Added.
  • css3/shapes/shape-outside/shape-box/shape-outside-box-004.html: Added.
  • css3/shapes/shape-outside/shape-box/shape-outside-box-006-expected.html: Added.
  • css3/shapes/shape-outside/shape-box/shape-outside-box-006.html: Added.
  • css3/shapes/shape-outside/shape-box/shape-outside-box-007-expected.html: Added.
  • css3/shapes/shape-outside/shape-box/shape-outside-box-007.html: Added.
  • css3/shapes/shape-outside/shape-box/shape-outside-box-008-expected.html: Added.
  • css3/shapes/shape-outside/shape-box/shape-outside-box-008.html: Added.
  • css3/shapes/shape-outside/shape-box/w3c-import.log: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-001-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-001.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-002-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-002.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-003-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-003.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-004-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-004.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-001-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-001.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-002-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-002.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-003-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-003.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-004-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-004.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/w3c-import.log: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-000-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-000.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-001-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-001.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-002-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-002.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-003-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-003.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-004-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-004.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-005-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-005.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-012-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-012.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-013-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-013.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-014-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-014.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-015-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-015.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-016-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-016.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-017-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-017.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-018-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-018.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-019-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-019.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-020-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-020.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-021-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-021.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-022-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-022.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-023-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-023.html: Added.
  • css3/shapes/shape-outside/shape-image/support/left-half-rectangle-20.png: Added.
  • css3/shapes/shape-outside/shape-image/support/left-half-rectangle-20.svg: Added.
  • css3/shapes/shape-outside/shape-image/support/left-half-rectangle-50.png: Added.
  • css3/shapes/shape-outside/shape-image/support/left-half-rectangle-50.svg: Added.
  • css3/shapes/shape-outside/shape-image/support/left-half-rectangle-70.png: Added.
  • css3/shapes/shape-outside/shape-image/support/left-half-rectangle-70.svg: Added.
  • css3/shapes/shape-outside/shape-image/support/left-half-rectangle.jpg: Added.
  • css3/shapes/shape-outside/shape-image/support/left-half-rectangle.png: Added.
  • css3/shapes/shape-outside/shape-image/support/left-half-rectangle.svg: Added.
  • css3/shapes/shape-outside/shape-image/support/right-half-rectangle-20.png: Added.
  • css3/shapes/shape-outside/shape-image/support/right-half-rectangle-50.png: Added.
  • css3/shapes/shape-outside/shape-image/support/right-half-rectangle-70.png: Added.
  • css3/shapes/shape-outside/shape-image/support/right-half-rectangle-70.svg: Added.
  • css3/shapes/shape-outside/shape-image/support/right-half-rectangle.gif: Added.
  • css3/shapes/shape-outside/shape-image/support/right-half-rectangle.jpg: Added.
  • css3/shapes/shape-outside/shape-image/support/right-half-rectangle.png: Added.
  • css3/shapes/shape-outside/shape-image/support/right-half-rectangle.svg: Added.
  • css3/shapes/shape-outside/shape-image/support/w3c-import.log: Added.
  • css3/shapes/shape-outside/shape-image/w3c-import.log: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-013-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-013.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-014-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-014.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-015-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-015.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-016-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-016.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-017-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-017.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-018-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-018.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-019-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-019.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-020-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-020.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-021-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-021.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-022-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-022.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-024-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-024.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-025-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-025.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-026-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-026.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-027-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-027.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-028-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-028.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-029-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-029.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-030-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-030.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-031-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-031.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/w3c-import.log: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-013-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-013.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-014-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-014.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-015-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-015.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-016-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-016.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-017-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-017.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-018-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-018.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-019-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-019.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-020-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-020.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-021-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-021.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-022-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-022.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-023-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-023.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-024-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-024.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-025-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-025.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-030-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-030.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-031-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-031.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/w3c-import.log: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-010-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-010.html: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-011-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-011.html: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-012-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-012.html: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-013-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-013.html: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-014-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-014.html: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-015-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-015.html: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/w3c-import.log: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-007-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-007.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-008-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-008.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-009-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-009.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-010-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-010.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-011-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-011.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-012-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-012.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-013-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-013.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-014-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-014.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-015-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-015.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-016-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-016.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-017-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-017.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/w3c-import.log: Added.
  • css3/shapes/shape-outside/supported-shapes/support/rounded-rectangle.js: Added.

(ellipseXIntercept):
(scanConvertRoundedRectangleOutside):
(genLeftRoundedRectFloatShapeOutsideRefTest):
(getRoundedRectLeftEdge):
(genRightRoundedRectFloatShapeOutsideRefTest):

  • css3/shapes/shape-outside/supported-shapes/support/subpixel-utils.js: Added.

(SubPixelLayout):
(SubPixelLayout.):

  • css3/shapes/shape-outside/supported-shapes/support/test-utils.js: Added.

(verifyTextPoints):

  • css3/shapes/shape-outside/values/shape-image-threshold-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-image-threshold-000.html: Added.
  • css3/shapes/shape-outside/values/shape-image-threshold-001-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-image-threshold-001.html: Added.
  • css3/shapes/shape-outside/values/shape-image-threshold-002-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-image-threshold-002.html: Added.
  • css3/shapes/shape-outside/values/shape-image-threshold-003-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-image-threshold-003.html: Added.
  • css3/shapes/shape-outside/values/shape-margin-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-margin-000.html: Added.
  • css3/shapes/shape-outside/values/shape-margin-001-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-margin-001.html: Added.
  • css3/shapes/shape-outside/values/shape-margin-002-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-margin-002.html: Added.
  • css3/shapes/shape-outside/values/shape-margin-003-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-margin-003.html: Added.
  • css3/shapes/shape-outside/values/shape-margin-004-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-margin-004.html: Added.
  • css3/shapes/shape-outside/values/shape-margin-005-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-margin-005.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-box-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-box-000.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-000.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-001-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-001.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-002-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-002.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-003-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-003.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-004-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-004.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-005-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-005.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-006-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-006.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-007-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-007.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-008-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-008.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-009-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-009.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-010-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-010.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-011-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-011.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-computed-shape-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-computed-shape-000.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-computed-shape-001-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-computed-shape-001.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-000.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-001-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-001.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-002-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-002.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-003-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-003.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-004-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-004.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-005-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-005.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-006-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-006.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-007-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-007.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-008-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-008.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-009-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-009.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-010-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-010.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-011-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-011.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-000.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-001-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-001.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-002-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-002.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-003-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-003.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-004-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-004.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-005-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-005.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-006-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-006.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-007-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-007.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-008-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-008.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-009-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-009.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-000.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-001-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-001.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-002-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-002.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-003-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-003.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-004-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-004.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-005-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-005.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-006-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-006.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-arguments-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-arguments-000.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-arguments-001-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-arguments-001.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-box-pair-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-box-pair-000.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-inherit-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-inherit-000.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-initial-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-initial-000.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-none-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-none-000.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-notation-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-notation-000.html: Added.
  • css3/shapes/shape-outside/values/support/parsing-utils.js: Added.

(ParsingUtils):
(ParsingUtils.):

  • css3/shapes/shape-outside/values/support/w3c-import.log: Added.
  • css3/shapes/shape-outside/values/w3c-import.log: Added.
  • css3/shapes/spec-examples/shape-outside-001-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-001.html: Added.
  • css3/shapes/spec-examples/shape-outside-002-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-002.html: Added.
  • css3/shapes/spec-examples/shape-outside-003-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-003.html: Added.
  • css3/shapes/spec-examples/shape-outside-004-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-004.html: Added.
  • css3/shapes/spec-examples/shape-outside-005-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-005.html: Added.
  • css3/shapes/spec-examples/shape-outside-006-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-006.html: Added.
  • css3/shapes/spec-examples/shape-outside-007-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-007.html: Added.
  • css3/shapes/spec-examples/shape-outside-008-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-008.html: Added.
  • css3/shapes/spec-examples/shape-outside-010-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-010.html: Added.
  • css3/shapes/spec-examples/shape-outside-011-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-011.html: Added.
  • css3/shapes/spec-examples/shape-outside-012-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-012.html: Added.
  • css3/shapes/spec-examples/shape-outside-013-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-013.html: Added.
  • css3/shapes/spec-examples/shape-outside-014-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-014.html: Added.
  • css3/shapes/spec-examples/shape-outside-015-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-015.html: Added.
  • css3/shapes/spec-examples/shape-outside-016-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-016.html: Added.
  • css3/shapes/spec-examples/shape-outside-017-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-017.html: Added.
  • css3/shapes/spec-examples/shape-outside-018-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-018.html: Added.
  • css3/shapes/spec-examples/shape-outside-019-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-019.html: Added.
  • css3/shapes/spec-examples/support/circle-no-shadow.png: Added.
  • css3/shapes/spec-examples/support/circle-shadow.png: Added.
  • css3/shapes/spec-examples/support/rounded-triangle.svg: Added.
  • css3/shapes/spec-examples/support/w3c-import.log: Added.
  • css3/shapes/spec-examples/w3c-import.log: Added.
  • css3/shapes/w3c-import.log: Added.
15:42 Changeset [172732] by dburkart@apple.com

Merged r172680. <rdar://problem/18049780>

15:39 Changeset [172731] by dburkart@apple.com

Merged r172660. <rdar://problem/18049780>

15:16 Changeset [172730] by antti@apple.com

Tighten RenderCounter typing
https://bugs.webkit.org/show_bug.cgi?id=136049

Reviewed by Andreas Kling.

RenderObject* -> RenderElement&

  • rendering/CounterNode.cpp:

(WebCore::CounterNode::CounterNode):
(WebCore::CounterNode::create):
(WebCore::showTreeAndMark):

  • rendering/CounterNode.h:

(WebCore::CounterNode::owner):

  • rendering/RenderCounter.cpp:

(WebCore::previousInPreOrder):
(WebCore::parentOrPseudoHostElement):
(WebCore::previousSiblingOrParent):
(WebCore::areRenderersElementsSiblings):
(WebCore::nextInPreOrder):
(WebCore::planCounter):
(WebCore::findPlaceForCounter):
(WebCore::makeCounterNode):
(WebCore::RenderCounter::originalText):
(WebCore::destroyCounterNodeWithoutMapRemoval):
(WebCore::RenderCounter::destroyCounterNodes):
(WebCore::RenderCounter::destroyCounterNode):
(WebCore::RenderCounter::rendererRemovedFromTree):
(WebCore::updateCounters):
(WebCore::RenderCounter::rendererSubtreeAttached):
(WebCore::RenderCounter::rendererStyleChanged):
(showCounterRendererTree):

  • rendering/RenderCounter.h:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):
(WebCore::RenderElement::insertChildInternal):
(WebCore::RenderElement::removeChildInternal):
(WebCore::RenderElement::styleDidChange):
(WebCore::RenderElement::willBeDestroyed):

  • rendering/RenderElement.h:

(WebCore::RenderElement::hasCounterNodeMap):
(WebCore::RenderElement::setHasCounterNodeMap):

Move CounterNodeMap to RenderElement from RenderObject.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::willBeDestroyed):

  • rendering/RenderObject.h:

(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
(WebCore::RenderObject::hasCounterNodeMap): Deleted.
(WebCore::RenderObject::setHasCounterNodeMap): Deleted.

15:03 Changeset [172729] by commit-queue@webkit.org

Expose long mouse press WebKit API. Part of 135257 - Add long mouse press gesture
https://bugs.webkit.org/show_bug.cgi?id=136048

Patch by Peyton Randolph <prandolph@apple.com> on 2014-08-18
Reviewed by Dan Bernstein.

This patch exposes long mouse press API callbacks in both the injected bundle and on the UI process
through their respective page UI clients. The callbacks are modeled off of the mouseDidMoveOverElement
callback. Like the mouseDidMoveOverElement callback, these callbacks allow the bundle to pass
information to the UI process via a userData out parameter.

Source/WebCore:

  • page/Chrome.cpp:

(WebCore::Chrome::didBeginTrackingPotentialLongMousePress): Added.
(WebCore::Chrome::didRecognizeLongMousePress): Added.
(WebCore::Chrome::didCancelTrackingPotentialLongMousePress): Added.

  • page/Chrome.h:
  • page/ChromeClient.h:

(WebCore::ChromeClient::didBeginTrackingPotentialLongMousePress): Added.
(WebCore::ChromeClient::didRecognizeLongMousePress): Added.
(WebCore::ChromeClient::didCancelTrackingPotentialLongMousePress): Added.

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMousePressEvent):
Pass the press hit test result to kick off the long mouse press.
(WebCore::EventHandler::beginTrackingPotentialLongMousePress): Notify the chrome.
(WebCore::EventHandler::recognizeLongMousePress): Ditto.
(WebCore::EventHandler::cancelTrackingPotentialLongMousePress):
Ditto. Also opportunistically remove a runtime switch check to see if long pressing is enabled. The
runtime switch check was only triggered when long pressing was disabled in the middle of a long press.

  • page/EventHandler.h:

Source/WebKit2:

  • UIProcess/API/APIUIClient.h:

(API::UIClient::didBeginTrackingPotentialLongMousePress): Added.
(API::UIClient::didRecognizeLongMousePress): Added.
(API::UIClient::didCancelTrackingPotentialLongMousePress): Added.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

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

(WebKit::WebPageProxy::didBeginTrackingPotentialLongMousePress): Added.
(WebKit::WebPageProxy::didRecognizeLongMousePress): Added.
(WebKit::WebPageProxy::didCancelTrackingPotentialLongMousePress): Added.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h:

(API::InjectedBundle::PageUIClient::didBeginTrackingPotentialLongMousePress): Added.
(API::InjectedBundle::PageUIClient::didRecognizeLongMousePress): Added.
(API::InjectedBundle::PageUIClient::didCancelTrackingPotentialLongMousePress): Added.

  • WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h:
  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Added.

(WebKit::InjectedBundlePageUIClient::didBeginTrackingPotentialLongMousePress): Added.
(WebKit::InjectedBundlePageUIClient::didRecognizeLongMousePress): Added.
(WebKit::InjectedBundlePageUIClient::didCancelTrackingPotentialLongMousePress): Added.

  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::didBeginTrackingPotentialLongMousePress): Added.
(WebKit::WebChromeClient::didRecognizeLongMousePress): Added.
(WebKit::WebChromeClient::didCancelTrackingPotentialLongMousePress): Added.

  • WebProcess/WebCoreSupport/WebChromeClient.h:
14:44 Changeset [172728] by mitz@apple.com

Added an update-webkit option to override the ../Internal check.
Part of https://bugs.webkit.org/show_bug.cgi?id=135815

Reviewed by Tim Horton.

  • Scripts/update-webkit:

Added an explicit --internal option to control updating ../Internal, defaulting to whether
../Internal exists.
(runSvnUpdate): Moved to webkitdirs.pm.
(runGitUpdate): Ditto.

  • Scripts/webkitdirs.pm:

(runSvnUpdateAndResolveChangeLogs): Moved runSvnUpdate from update-webkit and renamed to this.
(runGitUpdate): Moved from update-webkit.

14:33 Changeset [172727] by akling@apple.com

REGRESSION(r168256): JSString can get 8-bit flag wrong when re-using AtomicStrings.
<https://webkit.org/b/133574>
<rdar://problem/18051847>

Source/JavaScriptCore:

The optimization that resolves JSRopeStrings into an existing
AtomicString (to save time and memory by avoiding StringImpl allocation)
had a bug that it wasn't copying the 8-bit flag from the AtomicString.

This could lead to a situation where a 16-bit StringImpl containing
only 8-bit characters is sitting in the AtomicString table, is found
by the rope resolution optimization, and gives you a rope that thinks
it's all 8-bit, but has a fiber with 16-bit characters.

Resolving that rope will then yield incorrect results.

This was all caught by an assertion, but very hard to reproduce.

Test: js/dopey-rope-with-16-bit-propertyname.html

Reviewed by Darin Adler.

  • runtime/JSString.cpp:

(JSC::JSRopeString::resolveRopeToAtomicString):
(JSC::JSRopeString::resolveRopeToExistingAtomicString):

  • runtime/JSString.h:

(JSC::JSString::setIs8Bit):
(JSC::JSString::toExistingAtomicString):

LayoutTests:

Add a tests that creates a 16-bit AtomicString with only 8-bit characters,
then tiers up into baseline JIT and uses that string as part of a rope-within-a-rope
and serializes that rope to get an incorrect concatenation.

Reviewed by Darin Adler.

  • js/dopey-rope-with-16-bit-propertyname-expected.txt: Added.
  • js/dopey-rope-with-16-bit-propertyname.html: Added.
14:14 Changeset [172726] by psolanki@apple.com

Make update-webkit more lenient for pure git svn repositories
https://bugs.webkit.org/show_bug.cgi?id=135805

Reviewed by Oliver Hunt.

Make the call to git fetch be non fatal. If you have a pure git svn repository, then the
call to git fetch will fail and update-webkit will abort. The purpose of r72966 was to
provide an optimization when you have a git repository setup. We should not fail if the
git setup does not have svn-remote.svn.fetch set.

  • Scripts/update-webkit:

(runGitUpdate):

14:14 Changeset [172725] by commit-queue@webkit.org

Fix unintentional integer overflow before widen
https://bugs.webkit.org/show_bug.cgi?id=135463

Patch by Przemyslaw Kuczynski <p.kuczynski@samsung.com> on 2014-08-18
Reviewed by Oliver Hunt.

Overflowing expression is evaluated using operands arithmetic but then is used in
context which expects an wider integer type. To avoid overflow at least one operand
has to be representative of the wider type.

Source/WebCore:

  • loader/FTPDirectoryParser.cpp:

(WebCore::parseOneFTPLine): Changed strtoul to strtoull.

  • loader/ProgressTracker.cpp:

(WebCore::ProgressTracker::incrementProgress): Added static_cast to long long.

  • platform/efl/FileSystemEfl.cpp:

(WebCore::getVolumeFreeSizeForPath): Added static_cast to uint64_t.

Source/WebKit2:

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::getMemorySize): Added long long literal.

14:11 Changeset [172724] by commit-queue@webkit.org

Fix resource leak in unclosed file descriptor handles
https://bugs.webkit.org/show_bug.cgi?id=135458

Patch by Przemyslaw Kuczynski <p.kuczynski@samsung.com> on 2014-08-18
Reviewed by Oliver Hunt.

Leaving descriptor unclosed will cause the resources associated with the open
file description never be freed (they are freed on closing the last descriptor
refering to the underlying file).

  • Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:

(WebKit::StdoutDevNullRedirector::StdoutDevNullRedirector): Closed newStdout descriptor.
(WebKit::StdoutDevNullRedirector::~StdoutDevNullRedirector): Closed m_savedStdout descriptor.

13:58 Changeset [172723] by vivek.vg@samsung.com

Implement CanvasRenderingContext2D direction attribute
https://bugs.webkit.org/show_bug.cgi?id=135878

Reviewed by Darin Adler.

Source/WebCore:

The attribute, 'direction', represents the text directionality.
This is an important attribute for the bi-directional text within the CanvasRenderingContext2D.
The allowed set of values are 'rtl', 'ltr' and 'inherit'.

Specification URL: http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting.html#dom-context-2d-direction

Test: fast/canvas/canvas-direction.html

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::inheritedDirection):
(WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
(WebCore::CanvasRenderingContext2D::reset):
(WebCore::CanvasRenderingContext2D::State::State):
(WebCore::CanvasRenderingContext2D::State::operator=):
(WebCore::CanvasRenderingContext2D::direction):
(WebCore::CanvasRenderingContext2D::setDirection):
(WebCore::CanvasRenderingContext2D::drawTextInternal):

  • html/canvas/CanvasRenderingContext2D.h:
  • html/canvas/CanvasRenderingContext2D.idl:

LayoutTests:

  • fast/canvas/canvas-direction-expected.txt: Added.
  • fast/canvas/canvas-direction.html: Added.
13:54 Changeset [172722] by commit-queue@webkit.org

Web Inspector: Introduce an inspector Abstract Syntax Tree.
https://bugs.webkit.org/show_bug.cgi?id=135763

Patch by Saam Barati <sbarati@apple.com> on 2014-08-18
Reviewed by Joseph Pecoraro.

This patch adds an Abstract Syntax Tree to the Web inspector.
This syntax tree is modeled off the Esprima.js syntax tree
which complies with the Mozilla Parser API:
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Parser_API
Script is the owner of the Web Inspector syntax tree, and has an API
for accessing its syntax tree property.

  • UserInterface/External/Esprima/esprima.js:
  • UserInterface/Main.html:
  • UserInterface/Models/Script.js:

(WebInspector.Script):
(WebInspector.Script.prototype.requestScriptSyntaxTree.makeSyntaxTreeAndCallCallback):
(WebInspector.Script.prototype._resolveResource):
(WebInspector.Script.prototype._makeSyntaxTree):

  • UserInterface/Models/ScriptSyntaxTree.js: Added.

(WebInspector.ScriptSyntaxTree):
(WebInspector.ScriptSyntaxTree.prototype.get parsedSuccessfully):
(WebInspector.ScriptSyntaxTree.prototype.forEachNode):
(WebInspector.ScriptSyntaxTree.prototype.):
(WebInspector.ScriptSyntaxTree.prototype.filter):
(WebInspector.ScriptSyntaxTree.prototype.filterForNodesInRange):
(WebInspector.ScriptSyntaxTree.prototype.filterByRange):
(WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement.removeFunctionsFilter):
(WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement):
(WebInspector.ScriptSyntaxTree.prototype.updateTypes):
(WebInspector.ScriptSyntaxTree.prototype._defaultParserState):
(WebInspector.ScriptSyntaxTree.prototype._recurse):
(WebInspector.ScriptSyntaxTree.prototype._recurseArray):
(WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):

13:52 Changeset [172721] by benjamin@webkit.org

The style is not updated correctly when the pseudo class :empty is applied on anything but the rightmost element
https://bugs.webkit.org/show_bug.cgi?id=135999

Reviewed by Antti Koivisto.

Source/WebCore:

In Element's checkForEmptyStyleChange(), the style invalidation was only considering the invalidation of the element
for which the subtree has changed. When the pseudo class :empty is used with a sibling combinator (e.g. foo:empty+bar),
we were never invalidating the style of the element on which the selector applies.

This patch fixes the issue by invalidating the whole subtree rooted at the parent if the :empty rules applies
to siblings. A new flag "styleOfSiblingsAffectedByEmpty" is introduced to cover this case.

SelectorChecker just sets the flag all the time if any sibling rule exists.
This is overkill but that code is just there for non-jit cases.

SelectorCompiler does a better job and only sets the flag if matching anything else than the rightmost element.
There is a case not optimized, :empty with descendant (e.g. foo:empty>bar). Those cases are useless in practice,
it is not worth optimizing them.

Tests: fast/css/pseudo-element-updates-on-empty.html

fast/selectors/not-empty-adjacent-style-update.html
fast/selectors/not-empty-style-update.html

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::fragmentMatchesTheRightmostElement):
shouldUseRenderStyleFromCheckingContext() is renamed fragmentMatchesTheRightmostElement() because
it is now also used by generateElementIsEmpty() in a context where the Context's style is irrelevant.

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsActive):
(WebCore::SelectorCompiler::setStyleOfSiblingsAffectedByEmpty):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsEmpty):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsHovered):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsLastChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsOnlyChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPseudoElement):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateRequestedPseudoElementEqualsToSelectorPseudoElement):
(WebCore::SelectorCompiler::shouldUseRenderStyleFromCheckingContext): Deleted.
(WebCore::SelectorCompiler::setElementStyleIsAffectedByEmptyAndUpdateRenderStyleIfNecessary): Deleted.

  • dom/Element.cpp:

(WebCore::checkForEmptyStyleChange):
(WebCore::Element::setStyleOfSiblingsAffectedByEmpty):
(WebCore::Element::rareDataStyleOfSiblingsAffectedByEmpty):

  • dom/Element.h:

(WebCore::Element::styleOfSiblingsAffectedByEmpty):

  • dom/ElementRareData.h:

(WebCore::ElementRareData::styleOfSiblingsAffectedByEmpty):
(WebCore::ElementRareData::setStyleOfSiblingsAffectedByEmpty):
(WebCore::ElementRareData::ElementRareData):

LayoutTests:

  • fast/css/pseudo-element-updates-on-empty-expected.html: Added.
  • fast/css/pseudo-element-updates-on-empty.html: Added.
  • fast/selectors/empty-adjacent-style-update-expected.txt:
  • fast/selectors/empty-adjacent-style-update.html:
  • fast/selectors/empty-style-update-expected.txt:
  • fast/selectors/empty-style-update.html:
  • fast/selectors/not-empty-adjacent-style-update-expected.txt: Copied from LayoutTests/fast/selectors/empty-adjacent-style-update-expected.txt.
  • fast/selectors/not-empty-adjacent-style-update.html: Copied from LayoutTests/fast/selectors/empty-adjacent-style-update.html.
  • fast/selectors/not-empty-style-update-expected.txt: Copied from LayoutTests/fast/selectors/empty-style-update-expected.txt.
  • fast/selectors/not-empty-style-update.html: Copied from LayoutTests/fast/selectors/empty-style-update.html.
13:41 Changeset [172720] by bfulgham@apple.com

[Mac] Unreviewed merge correction.

  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::platformCompleteWheelEvent): Revert an
unintended change from r172705.

13:25 Changeset [172719] by aestes@apple.com

Fix the iOS build after r172709.

  • WebView/WebPDFViewPlaceholder.mm:

(-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]):

12:52 Changeset [172718] by aestes@apple.com

Remove a test inadvertently landed in r172709.

  • fast/loader/redirect-to-invalid-url-using-javascript-disallowed-after-load.html: Removed.
12:11 Changeset [172717] by commit-queue@webkit.org

The parser should generate AST nodes the var declarations with no initializers
https://bugs.webkit.org/show_bug.cgi?id=135545

Patch by Saam Barati <sbarati@apple.com> on 2014-08-18
Reviewed by Geoffrey Garen.

Currently, JSC's parser ignores variable declarations
that have no assignment initializer value because all
variables are implicitly assigned to undefined. But,
type profiling needs an AST node to be generated for these
empty variable declarations because it needs to be able to
profile their text locations and to see that their type
is undefined.

  • bytecompiler/NodesCodegen.cpp:

(JSC::EmptyVarExpression::emitBytecode):

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createVarStatement):
(JSC::ASTBuilder::createEmptyVarExpression):

  • parser/NodeConstructors.h:

(JSC::EmptyVarExpression::EmptyVarExpression):

  • parser/Nodes.h:
  • parser/Parser.cpp:

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

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createEmptyVarExpression):

12:07 Changeset [172716] by bjonesbe@adobe.com

Small cleanup for ShapeOutsideDeltas
https://bugs.webkit.org/show_bug.cgi?id=136043

Reviewed by Zoltan Horvath.

Remove explicit initializtion of LayoutUnit members and explicitly
size the boolean flags so they pack properly.

No new tests, no behavior change.

  • rendering/shapes/ShapeOutsideInfo.h:
11:55 Changeset [172715] by simon.fraser@apple.com

Enable Web Inspector in MiniBrowser WK2 windows
https://bugs.webkit.org/show_bug.cgi?id=136045

Reviewed by Tim Horton.

Set the pref to enable developer extras for all WK2 windows.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController awakeFromNib]):

11:24 Changeset [172714] by dburkart@apple.com

Merged r172680. <rdar://problem/18049780>

11:23 Changeset [172713] by dburkart@apple.com

Merged r172660. <rdar://problem/18049780>

11:21 Changeset [172712] by dburkart@apple.com

Bump versioning.

11:18 Changeset [172711] by krit@webkit.org

calc() doesn't work for SVG CSS properties
https://bugs.webkit.org/show_bug.cgi?id=136026

Reviewed by Andreas Kling.

Source/WebCore:

Make calc() work on SVG CSS properties as well. stroke-width and
stroke-dashoffset used SVGLength. SVGLength doesn't work together with
cross units length arguments like % and px (just returns 0 in these
cases). I moved these properties over to Length. All modified files
beside to SVGCSSParser are related to this switch.

Test: svg/css/parse-calc-length.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

  • css/SVGCSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::svgPropertyValue):

  • css/SVGCSSParser.cpp:

(WebCore::CSSParser::parseSVGValue):

  • css/SVGCSSStyleSelector.cpp:

(WebCore::StyleResolver::applySVGProperty):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • rendering/style/RenderStyle.h:
  • rendering/style/SVGRenderStyle.h:

(WebCore::SVGRenderStyle::setStrokeWidth):
(WebCore::SVGRenderStyle::setStrokeDashOffset):
(WebCore::SVGRenderStyle::strokeWidth):
(WebCore::SVGRenderStyle::strokeDashOffset):
(WebCore::SVGRenderStyle::initialStrokeDashOffset): Deleted.
(WebCore::SVGRenderStyle::initialStrokeWidth): Deleted.

  • rendering/style/SVGRenderStyleDefs.cpp:

(WebCore::StyleStrokeData::StyleStrokeData):

  • rendering/style/SVGRenderStyleDefs.h:
  • rendering/svg/RenderSVGShape.cpp:

(WebCore::RenderSVGShape::strokeWidth):

  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::strokeBoundingBox):

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::applyStrokeStyleToContext):

  • rendering/svg/SVGRenderTreeAsText.cpp:

(WebCore::writeStyle):

  • svg/SVGLengthContext.cpp:

(WebCore::SVGLengthContext::valueForLength):

LayoutTests:

Test calc() on length properties for SVG.

  • svg/css/getComputedStyle-basic-expected.txt:
  • svg/css/parse-calc-length-expected.txt: Added.
  • svg/css/parse-calc-length.html: Added.
10:55 Changeset [172710] by dburkart@apple.com

Tagging

10:48 Changeset [172709] by aestes@apple.com

REGRESSION (r167856): adobe.com no longer able to launch Create Cloud app using a URL with a custom scheme
https://bugs.webkit.org/show_bug.cgi?id=136010

Reviewed by Darin Adler.

Source/WebCore:

r167856 caused WebKit to stop scheduling certain kinds of navigations (window.location changes, meta-refresh,
and some calls to window.open) when the request URL is invalid. Adobe.com performs one of these navigations to
an invalid URL with an external scheme (aam:), relying on Safari's navigation policy delegate to ignore the
navigation and launch the external app registered to handle aam: URLs. Since the navigation is no longer
scheduled, the policy delegate is never executed and the external app never launches.

Instead of not scheduling the navigation, allow it to proceed until the client's policy delegate has executed
and made a decision. Only disallow the navigation if the policy delegate told WebKit to proceed with the load.
This exposes these navigations to clients via the policy delegate and via willPerformClientRedirectToURL and
didCancelClientRedirectForFrame on the frame load delegate.

To constrain this check only to the navigation types covered by r167856, only two NavigationSchedulers
(ScheduledRedirect and ScheduledLocationChange) enable the invalid URL check.

Note that r167856 also caused an iOS regression, and this was resolved in r170120 by adding a linked-on-or-after
check and a WebCore setting. Since the iOS regression is also resolved by the approach described above, this
patch reverts r170120 (but keeps some of its tests).

Tests: fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate.html

fast/loader/redirect-to-invalid-url-using-javascript-disallowed.html
fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate.html
fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed.html
fast/loader/window-open-to-invalid-url-calls-policy-delegate.html
fast/loader/window-open-to-invalid-url-disallowed.html

  • WebCore.exp.in: Updated the symbol FrameLoader::loadFrameRequest.
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::changeLocation): Added an AllowNavigationToInvalidURL argument; passed down to urlSelected.
(WebCore::FrameLoader::urlSelected): Added an AllowNavigationToInvalidURL argument; passed down to loadFrameRequest.
(WebCore::FrameLoader::loadURLIntoChildFrame): Passed AllowNavigationToInvalidURL::Yes to loadURL.
(WebCore::FrameLoader::loadFrameRequest): Added an AllowNavigationToInvalidURL argument; passed down to loadURL and loadPostRequest.
(WebCore::FrameLoader::loadURL): Added an AllowNavigationToInvalidURL argument; passed down to continueLoadAfterNewWindowPolicy and loadWithNavigationAction.
(WebCore::FrameLoader::loadPostRequest): Ditto.
(WebCore::FrameLoader::load): Passed AllowNavigationToInvalidURL::Yes to continueLoadAfterNewWindowPolicy.
(WebCore::FrameLoader::loadWithNavigationAction): Added an AllowNavigationToInvalidURL argument; passed down to loadWithDocumentLoader.
(WebCore::FrameLoader::loadWithDocumentLoader): Added an AllowNavigationToInvalidURL argument; passed down to continueLoadAfterNavigationPolicy.
(WebCore::FrameLoader::reloadWithOverrideEncoding): Passed AllowNavigationToInvalidURL::Yes to loadWithDocumentLoader.
(WebCore::FrameLoader::reload): Ditto.
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):

Added an AllowNavigationToInvalidURL argument; if its value is No and the request's URL is invalid, do not continue.
Added a FIXME about calling clientRedirectCancelledOrFinished on non-quick redirect cancellations.

(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): Added an AllowNavigationToInvalidURL argument; passed down to loadWithNavigationAction.
(WebCore::FrameLoader::loadDifferentDocumentItem): Passed AllowNavigationToInvalidURL::Yes to either loadWithDocumentLoader or loadWithNavigationAction.

  • loader/FrameLoader.h:
  • loader/FrameLoaderTypes.h: Defined AllowNavigationToInvalidURL to have values of Yes and No.
  • loader/NavigationScheduler.cpp:

(WebCore::ScheduledRedirect::fire): Passed AllowNavigationToInvalidURL::No to FrameLoader::changeLocation.
(WebCore::ScheduledLocationChange::fire): Ditto.
(WebCore::NavigationScheduler::shouldScheduleNavigation): Removed the URL::isValid check.
(WebCore::NavigationScheduler::scheduleLocationChange): Passed AllowNavigationToInvalidURL::No to FrameLoder::changeLocation during fragment navigations.

  • page/ContextMenuController.cpp:

(WebCore::openNewWindow): Passed AllowNavigationToInvalidURL::Yes to FrameLoader::loadFrameRequest.
(WebCore::ContextMenuController::contextMenuItemSelected): Ditto.

  • page/Settings.in: Removed allowNavigationToInvalidURL.

Source/WebKit/mac:

  • Misc/WebKitVersionChecks.h: Removed WEBKIT_FIRST_VERSION_WITH_NAVIGATION_URL_VALIDATION.
  • WebView/WebPDFView.mm:

(-[WebPDFView PDFViewWillClickOnLink:withURL:]): Passed AllowNavigationToInvalidURL::Yes to FrameLoader::loadFrameRequest.

  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]): Reverted the linked-on-or-after check added in r170120 since it's no longer necessary.

LayoutTests:

Removed tests that verified the behavior of setAllowNavigationToInvalidURL(true), which no longer exists:

  • fast/loader/allow-redirect-to-invalid-url-using-javascript-expected.txt: Removed.
  • fast/loader/allow-redirect-to-invalid-url-using-javascript.html: Removed.
  • fast/loader/allow-redirect-to-invalid-url-using-meta-refresh-expected.txt: Removed.
  • fast/loader/allow-redirect-to-invalid-url-using-meta-refresh.html: Removed.

Added tests that verify the policy delegate is executed on some navigations to invalid URLs:

  • fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate-expected.txt: Added.
  • fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate.html: Added.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate-expected.txt: Added.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate.html: Added.
  • fast/loader/window-open-to-invalid-url-calls-policy-delegate-expected.txt: Added.
  • fast/loader/window-open-to-invalid-url-calls-policy-delegate.html: Added.

Renamed some existing tests added in r170120, modified them to log willPerformClientRedirectToURL and
didCancelClientRedirectForFrame, and added a test to verify navigations in existing frames via window.open:

  • fast/loader/redirect-to-invalid-url-using-javascript-disallowed-expected.txt: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-javascript-expected.txt.
  • fast/loader/redirect-to-invalid-url-using-javascript-disallowed.html: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-javascript.html.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed-expected.txt: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh-expected.txt.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed.html: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh.html.
  • fast/loader/window-open-to-invalid-url-disallowed-expected.txt: Added.
  • fast/loader/window-open-to-invalid-url-disallowed.html: Added.
10:08 Changeset [172708] by bshafiei@apple.com

Versioning.

10:08 Changeset [172707] by commit-queue@webkit.org

Completed iterator can be revived by adding more than one new entry to the target object
https://bugs.webkit.org/show_bug.cgi?id=129993

Patch by Diego Pino Garcia <dpino@igalia.com> on 2014-08-18
Reviewed by Oliver Hunt.

Source/JavaScriptCore:

When iterator reaches end, finish iterator.

  • runtime/JSMapIterator.h:

(JSC::JSMapIterator::finish):

  • runtime/JSSetIterator.h:

(JSC::JSSetIterator::finish):

  • runtime/MapData.h:

(JSC::MapData::const_iterator::finish): set index of iterator to max
Int32.

  • runtime/MapIteratorPrototype.cpp:

(JSC::MapIteratorPrototypeFuncNext):

  • runtime/SetIteratorPrototype.cpp:

(JSC::SetIteratorPrototypeFuncNext):

LayoutTests:

Test a Map or Set iterator should remain dead after using it.

  • js/basic-map-expected.txt:
  • js/basic-set-expected.txt:
  • js/script-tests/basic-map.js:

(set var):
(set map):

  • js/script-tests/basic-set.js:

(keys.set keys):
(set add.set add):

10:02 Changeset [172706] by commit-queue@webkit.org

Fix keyTimes list length of from/to/by animations.
https://bugs.webkit.org/show_bug.cgi?id=136037

Patch by Renata Hodovan <rhodovan.u-szeged@partner.samsung.com> on 2014-08-18
Reviewed by Darin Adler.

Source/WebCore:

For from/to/by animations, the length of keyTimes and keyPoints
attribute if are specified must be equal and must have at least
2 values.

This is backport of my fix in Blink: https://codereview.chromium.org/453243003/

Test: svg/animations/invalid-keytime-number-crash.html

  • svg/SVGAnimationElement.cpp:

(WebCore::SVGAnimationElement::startedActiveInterval):

LayoutTests:

  • svg/animations/invalid-keytime-number-crash-expected.txt: Added.
  • svg/animations/invalid-keytime-number-crash.html: Added.
09:51 Changeset [172705] by bfulgham@apple.com

[Mac] Follow-up to r136040 based on Darin Adler's comments.

Pass Widget* as a Widget&, since it can never be null.

  • page/EventHandler.cpp:

(WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent):
(WebCore::EventHandler::handleWheelEvent):

  • page/EventHandler.h:
  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::platformCompleteWheelEvent):
(WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent):

09:35 Changeset [172704] by bjonesbe@adobe.com

Remove people that have left Adobe from Security Contact list
https://bugs.webkit.org/show_bug.cgi?id=135256

Reviewed by Alexey Proskuryakov.

  • security/security-group-members.html:
08:54 Changeset [172703] by bfulgham@apple.com

[Mac] Gesture scrolls don't work in the WebKit1 clients after scrolling a non-scrollable iFrame
https://bugs.webkit.org/show_bug.cgi?id=136029
<rdar://problem/17767169>

Reviewed by Maciej Stachowiak.

This is difficult to test in our layout tests, since it relies on specific host application
behavior.

If the platform widget is a frame view (IFrame), and we are in WebKit1, 'passWheelEventToWidget'
has already called 'scrollWheel' on the underlying platform widget. We need to return true in
this case to avoid getting multiple copies of the scrollWheel event sent to the platform widget.

  • page/EventHandler.cpp:

(WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent): Revise default stub to
accept a Widget* argument.
(WebCore::EventHandler::handleWheelEvent):

  • page/EventHandler.h:
  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent): Check for WK1 case and
return 'true' when the underlying NSScrollView has been issues a scrollWheel event.

03:01 Changeset [172702] by zandobersek@gmail.com

Unreviewed GTK gardening. Adding a GTK-specific baseline
that's required after changes in r172620.

  • platform/gtk/editing/pasteboard/onpaste-text-html-expected.txt: Added.
02:52 Changeset [172701] by commit-queue@webkit.org

master.cfg should handle special return codes of run-perf-tests
https://bugs.webkit.org/show_bug.cgi?id=135974

Patch by Renato Nagy <nagy.renato@stud.u-szeged.hu> on 2014-08-18
Reviewed by Ryosuke Niwa.

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

(RunAndUploadPerfTests.getText2):

  • BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:

(RunAndUploadPerfTestsTest):
(RunAndUploadPerfTestsTest.assertResults):
(RunAndUploadPerfTestsTest.test_tests_failed):
(RunAndUploadPerfTestsTest.test_build_bad_build):
(RunAndUploadPerfTestsTest.test_build_bad_source_json):
(RunAndUploadPerfTestsTest.test_build_bad_marge):
(RunAndUploadPerfTestsTest.test_build_bad_failed_uploading):
(RunAndUploadPerfTestsTest.test_build_bad_preparation):

01:16 Changeset [172700] by g.czajkowski@samsung.com

[EFL] ewk_init() is sufficient to initialize EFL components
https://bugs.webkit.org/show_bug.cgi?id=136036

Reviewed by Gyuyoung Kim.

Developers do not have to initialize EFL components as ewk_init()
already does it.

  • UIProcess/API/efl/ewk_intro.h:
00:35 Changeset [172699] by aestes@apple.com

Revert r172697.

It made several webarchive layout tests flaky and didn't have the correct behavior for non-quick redirects.

Source/WebCore:

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):

  • loader/NavigationScheduler.cpp:

(WebCore::NavigationScheduler::shouldScheduleNavigation):

  • page/Settings.in:

Source/WebKit/mac:

  • Misc/WebKitVersionChecks.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

LayoutTests:

  • fast/loader/allow-redirect-to-invalid-url-using-javascript-expected.txt: Added.
  • fast/loader/allow-redirect-to-invalid-url-using-javascript.html: Added.
  • fast/loader/allow-redirect-to-invalid-url-using-meta-refresh-expected.txt: Added.
  • fast/loader/allow-redirect-to-invalid-url-using-meta-refresh.html: Added.
  • fast/loader/disallow-redirect-to-invalid-url-using-javascript-expected.txt: Added.
  • fast/loader/disallow-redirect-to-invalid-url-using-javascript.html: Added.
  • fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh-expected.txt: Added.
  • fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh.html: Added.
  • fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate-expected.txt: Removed.
  • fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate.html: Removed.
  • fast/loader/redirect-to-invalid-url-using-javascript-disallowed-expected.txt: Removed.
  • fast/loader/redirect-to-invalid-url-using-javascript-disallowed.html: Removed.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate-expected.txt: Removed.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate.html: Removed.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed-expected.txt: Removed.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed.html: Removed.
  • fast/loader/resources/redirect-to-invalid-url-using-javascript.html: Added.
  • fast/loader/resources/redirect-to-invalid-url-using-meta-refresh.html: Added.
  • fast/loader/window-open-to-invalid-url-calls-policy-delegate-expected.txt: Removed.
  • fast/loader/window-open-to-invalid-url-calls-policy-delegate.html: Removed.
  • fast/loader/window-open-to-invalid-url-disallowed-expected.txt: Removed.
  • fast/loader/window-open-to-invalid-url-disallowed.html: Removed.

08/17/14:

23:03 Changeset [172698] by zandobersek@gmail.com

[CMake] Optimization-disabling compiler flags should be appended to CMAKE_C(XX)_FLAGS_RELEASE
https://bugs.webkit.org/show_bug.cgi?id=135980

Reviewed by Martin Robinson.

CMAKE_C(XX)_FLAGS_RELEASE variables usually contain the -On flag which
overrides any other disabled optimization that was prepended to these
variables or was added to the CMAKE_C(XX)_FLAGS variables which CMake
lists first in the final list of compilation flags.

To avoid -On re-enabling optimizations that we'd like to keep disabled,
the specific compiler flags must be appended to CMAKE_C(XX)_FLAGS_RELEASE.

  • Source/cmake/OptionsCommon.cmake:
  • Source/cmake/OptionsEfl.cmake: Also do the appending with CMAKE_SHARED_LINKER_FLAGS_RELEASE.
  • Source/cmake/OptionsGTK.cmake:
21:37 Changeset [172697] by aestes@apple.com

REGRESSION (r167856): adobe.com no longer able to launch Create Cloud app using a URL with a custom scheme
https://bugs.webkit.org/show_bug.cgi?id=136010

Reviewed by Darin Adler.

Source/WebCore:

r167856 caused WebKit to stop scheduling certain kinds of navigations (window.location changes, meta-refresh,
and some calls to window.open) when the request URL is invalid. Adobe.com performs one of these navigations to
an invalid URL with an external scheme (aam:), relying on Safari's navigation policy delegate to ignore the
navigation and launch the external app registered to handle aam: URLs. Since the navigation is no longer
scheduled, the policy delegate is never executed and the external app never launches.

Instead of not scheduling the navigation, allow it to proceed until the client's policy delegate has executed
and made a decision. Only disallow the navigation if the policy delegate told WebKit to proceed with the load.
This exposes these navigations to clients via the policy delegate and via willPerformClientRedirectToURL and
didCancelClientRedirectForFrame on the frame load delegate.

Note that r167856 also caused an iOS regression, and this was resolved in r170120 by adding a linked-on-or-after
check and a WebCore setting. Since the iOS regression is also resolved by the approach described above, this
patch reverts r170120 (but keeps some of its tests).

Tests: fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate.html

fast/loader/redirect-to-invalid-url-using-javascript-disallowed.html
fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate.html
fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed.html
fast/loader/window-open-to-invalid-url-calls-policy-delegate.html
fast/loader/window-open-to-invalid-url-disallowed.html

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Do not continue if the navigation will be a redirect
to an invalid URL.

  • loader/NavigationScheduler.cpp:

(WebCore::NavigationScheduler::shouldScheduleNavigation): Resumed scheduling navigations to invalid URLs.

  • page/Settings.in: Removed the allowNavigationToInvalidURL setting.

Source/WebKit/mac:

Reverted the linked-on-or-after check added in r170120 since it is no longer necessary.

  • Misc/WebKitVersionChecks.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

LayoutTests:

Removed tests that verified the behavior of setAllowNavigationToInvalidURL(true), which no longer exists:

  • fast/loader/allow-redirect-to-invalid-url-using-javascript-expected.txt: Removed.
  • fast/loader/allow-redirect-to-invalid-url-using-javascript.html: Removed.
  • fast/loader/allow-redirect-to-invalid-url-using-meta-refresh-expected.txt: Removed.
  • fast/loader/allow-redirect-to-invalid-url-using-meta-refresh.html: Removed.

Added tests that verify the policy delegate is executed on some navigations to invalid URLs:

  • fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate-expected.txt: Added.
  • fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate.html: Added.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate-expected.txt: Added.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate.html: Added.
  • fast/loader/window-open-to-invalid-url-calls-policy-delegate-expected.txt: Added.
  • fast/loader/window-open-to-invalid-url-calls-policy-delegate.html: Added.

Renamed some existing tests added in r170120, modified them to log willPerformClientRedirectToURL and
didCancelClientRedirectForFrame, and added a test to verify navigations in existing frames via window.open:

  • fast/loader/redirect-to-invalid-url-using-javascript-disallowed-expected.txt: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-javascript-expected.txt.
  • fast/loader/redirect-to-invalid-url-using-javascript-disallowed.html: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-javascript.html.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed-expected.txt: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh-expected.txt.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed.html: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh.html.
  • fast/loader/window-open-to-invalid-url-disallowed-expected.txt: Added.
  • fast/loader/window-open-to-invalid-url-disallowed.html: Added.
12:54 Changeset [172696] by bfulgham@apple.com

[Win] Unreviewed change to force rebuild
(plus drive-by add an accessor I wanted for
some future tooling).

  • WinLauncher/WinLauncher.h:

(WinLauncher::webView): Added.

08:35 Changeset [172695] by bfulgham@apple.com

[Win] Unreviewed build fix.

Upload static VS2013 version of WebKitSystemInterface.

  • win/lib32/WebKitSystemInterface.lib:

08/16/14:

15:52 Changeset [172694] by mjs@apple.com

Remove the obsolete WebKitEnableCoalescedUpdatesPreferenceKey
https://bugs.webkit.org/show_bug.cgi?id=136024

Reviewed by Filip Pizlo.

  • WebView/WebFrameView.mm:

(-[WebFrameView initWithFrame:]): Remove code that respects
this key. It was SPI and is no longer used; also it was
only relevant for versions of OS X that WebKit no longer supports.

  • WebView/WebPreferenceKeysPrivate.h: Remove declaration.
13:32 Changeset [172693] by dino@apple.com

REGRESSION (r164173): Safari AutoFill button in popover, default buttons on iCloud control panel and Safari Safe Browsing pages don't have default appearance
https://bugs.webkit.org/show_bug.cgi?id=136011

Reviewed by Sam Weinig.

When we render some controls, we need to make sure the NSWindow subclass we
use as the host of the AppKit views identifies itself as the key window (if
the control state is correct). We already have a flag tracking this for
key appearance - just make sure we do the same for isKeyWindow.

  • platform/mac/ThemeMac.mm:

(-[WebCoreThemeWindow isKeyWindow]): New override to mirror the static
variable for key appearance.

12:26 Changeset [172692] by fpizlo@apple.com

Update contributors.json for my new email
https://bugs.webkit.org/show_bug.cgi?id=136021

Patch by Mark Hahnenberg <mhahnenb@gmail.com> on 2014-08-16
Reviewed by Filip Pizlo.

  • Scripts/webkitpy/common/config/contributors.json:
12:01 Changeset [172691] by psolanki@apple.com

Rename DiskCacheMonitor to NetworkDiskCacheMonitor
https://bugs.webkit.org/show_bug.cgi?id=135897

Reviewed by Andreas Kling.

In preparation for moving DiskCacheMonitor code to WebCore in bug 135896, rename the WebKit2
class to NetworkDiskCacheMonitor.

  • NetworkProcess/mac/NetworkDiskCacheMonitor.h: Renamed from Source/WebKit2/NetworkProcess/mac/DiskCacheMonitor.h.

(WebKit::NetworkDiskCacheMonitor::resourceRequest):

  • NetworkProcess/mac/NetworkDiskCacheMonitor.mm: Renamed from Source/WebKit2/NetworkProcess/mac/DiskCacheMonitor.mm.

(WebKit::NetworkDiskCacheMonitor::monitorFileBackingStoreCreation):
(WebKit::NetworkDiskCacheMonitor::NetworkDiskCacheMonitor):
(WebKit::NetworkDiskCacheMonitor::messageSenderConnection):
(WebKit::NetworkDiskCacheMonitor::messageSenderDestinationID):

  • NetworkProcess/mac/NetworkResourceLoaderMac.mm:

(WebKit::NetworkResourceLoader::willCacheResponseAsync):

  • WebKit2.xcodeproj/project.pbxproj:
07:26 Changeset [172690] by commit-queue@webkit.org

[GTK] build fails with error: cannot allocate an object of abstract type 'WebKit::PageClientImpl'
https://bugs.webkit.org/show_bug.cgi?id=136017

Patch by Byungseon Shin <sun.shin@lge.com> on 2014-08-16
Reviewed by Gyuyoung Kim.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
(WebKit::PageClientImpl::didFinishLoadForMainFrame):

  • UIProcess/API/gtk/PageClientImpl.h:
02:25 Changeset [172689] by commit-queue@webkit.org

Web Inspector: Improve performance of selection range changes viewing Scripts timeline
https://bugs.webkit.org/show_bug.cgi?id=136015

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-08-16
Reviewed by Timothy Hatcher.

  • UserInterface/Base/Utilities.js:

(clamp):
Helper function to clamp a value between a min and max.

  • UserInterface/Models/ProfileNode.js:

(WebInspector.ProfileNode.prototype.get startTime):
(WebInspector.ProfileNode.prototype.get endTime):
These can be quickly calculated, so avoid full calculation to grab the values.

  • UserInterface/Views/ScriptTimelineView.js:

(WebInspector.ScriptTimelineView.prototype.updateLayout):
Update ranges with a smart helper, instead of blindly doing it and needing refresh.

  • UserInterface/Views/ProfileNodeDataGridNode.js:

(WebInspector.ProfileNodeDataGridNode.prototype.get rangeEndTime):
(WebInspector.ProfileNodeDataGridNode.prototype.get data):
(WebInspector.ProfileNodeDataGridNode.prototype.updateRangeTimes):
(WebInspector.ProfileNodeDataGridNode.prototype.set rangeStartTime): Deleted.
(WebInspector.ProfileNodeDataGridNode.prototype.set rangeEndTime): Deleted.

  • UserInterface/Views/ScriptTimelineDataGridNode.js:

(WebInspector.ScriptTimelineDataGridNode.prototype.updateRangeTimes):
(WebInspector.ScriptTimelineDataGridNode.prototype.set rangeStartTime): Deleted.
(WebInspector.ScriptTimelineDataGridNode.prototype.set rangeEndTime): Deleted.
When updating the range selection, compare to the last range selection
on this DataGridNode. If the visible portion of this node's time range
changes, we need a refresh. Otherwise, we don't need a refresh.

Note: See TracTimeline for information about the timeline view.