Timeline



Sep 6, 2014:

5:19 PM Changeset in webkit [173365] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[Fullscreen] Add a site-specific hack to work around "flash on exit" behavior of YouTube.com.
https://bugs.webkit.org/show_bug.cgi?id=136604

Reviewed by Eric Carlson.

YouTube.com will cause a "flash" of the full screen sized <video> element upon exiting full
screen because the "fullscreenchange" event is fired asynchronously after the exit animation
completes. Only YouTube sites and embeds, add a site-specific-quirk which runs the "fullscreenchange"
event synchronously at the end of the exit animation. This causes YouTube's video resizing logic
to run during the period of time where we've disabled screen updates, instead of immediately
after.

  • dom/Document.cpp:

(WebCore::Document::webkitDidExitFullScreenForElement):

3:53 PM Changeset in webkit [173364] by Darin Adler
  • 40 edits in trunk/Source

Make updates suggested by new version of Xcode
https://bugs.webkit.org/show_bug.cgi?id=136603

Reviewed by Mark Rowe.

Source/JavaScriptCore:

  • Configurations/Base.xcconfig: Added CLANG_WARN_UNREACHABLE_CODE, COMBINE_HIDPI_IMAGES,

and ENABLE_STRICT_OBJC_MSGSEND as suggested by Xcode upgrade check.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::jumpSlowForUnwantedArrayMode): Compile out unreachable code
for clang, since it understands the code is unreachable.

  • runtime/JSArray.cpp:

(JSC::JSArray::fillArgList): Ditto.
(JSC::JSArray::copyToArguments): Ditto.

Source/ThirdParty:

  • gtest/xcode/Config/General.xcconfig: Moved CLANG_WARN_BOOL_CONVERSION,

CLANG_WARN_ENUM_CONVERSION, CLANG_WARN_INT_CONVERSION, and COMBINE_HIDPI_IMAGES
here from project file. Added CLANG_WARN_UNREACHABLE_CODE, ENABLE_STRICT_OBJC_MSGSEND,
and GCC_WARN_64_TO_32_BIT_CONVERSION as suggested by Xcode upgrade check.

  • gtest/xcode/gtest.xcodeproj/project.pbxproj: Updated LastUpgradeCheck and removed

things that are redundant with the xcconfig file above.

Source/ThirdParty/ANGLE:

  • ANGLE.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.
  • Configurations/ANGLE.xcconfig: Added CLANG_WARN_BOOL_CONVERSION,

CLANG_WARN_ENUM_CONVERSION, CLANG_WARN_INT_CONVERSION, COMBINE_HIDPI_IMAGES,
and ENABLE_STRICT_OBJC_MSGSEND as suggested by Xcode upgrade check.

Source/WebCore:

  • Configurations/Base.xcconfig: Added COMBINE_HIDPI_IMAGES and

ENABLE_STRICT_OBJC_MSGSEND as suggested by Xcode upgrade check.

  • WebCore.xcodeproj/project.pbxproj: Let Xcode remove an orphaned item from the file,

and also updated LastUpgradeCheck.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::updateTextTrackDisplay): Use #if/#else/#endif instead of
using #if/return/#endif and leaving code unreachable.
(WebCore::HTMLMediaElement::configureMediaControls): Ditto.
(WebCore::HTMLMediaElement::configureTextTrackDisplay): Ditto.

  • html/canvas/WebGLDrawBuffers.cpp:

(WebCore::WebGLDrawBuffers::supported): Ditto.

Source/WebInspectorUI:

  • Configurations/Base.xcconfig: Added CLANG_WARN_BOOL_CONVERSION, CLANG_WARN_CONSTANT_CONVERSION,

CLANG_WARN_EMPTY_BODY, CLANG_WARN_ENUM_CONVERSION, CLANG_WARN_INT_CONVERSION,
CLANG_WARN_UNREACHABLE_CODE, CLANG_WARNDUPLICATE_METHOD_MATCH, ENABLE_STRICT_OBJC_MSGSEND,
GCC_WARN_UNDECLARED_SELECTOR, and GCC_WARN_UNUSED_FUNCTION as suggested by Xcode update check.
Also removed duplicate GCC_WARN_UNUSED_VARIABLE line.

  • WebInspectorUI.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.

Source/WebKit/mac:

  • Configurations/Base.xcconfig: Added CLANG_WARN_UNREACHABLE_CODE, COMBINE_HIDPI_IMAGES,

and ENABLE_STRICT_OBJC_MSGSEND as suggested by Xcode upgrade check.

  • History/WebURLsWithTitles.m:

(+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]): Use NSUInteger instead of
unsigned for correctness, and to quiet the 32-to-64-bit compiler warning (which is
not turned on because it gives us too many false positives).

  • Misc/WebElementDictionary.mm:

(-[WebElementDictionary objectForKey:]): Ditto.

  • Misc/WebNSDataExtras.m:

(-[NSData _webkit_guessedMIMETypeForXML]): Ditto.
(-[NSData _webkit_guessedMIMEType]): Ditto.
(-[NSData _webkit_parseRFC822HeaderFields]): Ditto.
(-[NSData _web_locationAfterFirstBlankLine]): Ditto.

  • Misc/WebNSURLExtras.h: Removed unused _web_URLWithLowercasedScheme, _web_hostData,

_webkit_URLByRemovingFragment, _webkit_URLByRemovingResourceSpecifier, _webkit_isFTPDirectoryURL,
_webkit_shouldLoadAsEmptyDocument, _web_hostNameNeedsDecodingWithRange:,
_web_hostNameNeedsEncodingWithRange:, _web_decodeHostNameWithRange:, _web_encodeHostNameWithRange:,
and _webkit_URLFragment methods.

  • Misc/WebNSURLExtras.mm:

(-[NSURL _web_URLByTruncatingOneCharacterBeforeComponent:]): Deleted.
(-[NSURL _webkit_URLByRemovingFragment]): Deleted.
(-[NSURL _webkit_URLByRemovingResourceSpecifier]): Deleted.
(-[NSURL _webkit_isFTPDirectoryURL]): Deleted.
(-[NSURL _webkit_shouldLoadAsEmptyDocument]): Deleted.
(-[NSURL _web_URLWithLowercasedScheme]): Deleted.
(-[NSString _webkit_isFTPDirectoryURL]): Deleted.
(-[NSString _web_hostNameNeedsDecodingWithRange:]): Deleted.
(-[NSString _web_hostNameNeedsEncodingWithRange:]): Deleted.
(-[NSString _web_decodeHostNameWithRange:]): Deleted.
(-[NSString _web_encodeHostNameWithRange:]): Deleted.
(-[NSString _webkit_URLFragment]): Deleted.

  • Plugins/WebPluginDatabase.mm:

(-[WebPluginDatabase removePluginInstanceViewsFor:]): Use a modern for loop
to iterate an array instead of a loop using the type "unsigned int".

  • WebCoreSupport/WebOpenPanelResultListener.mm:

(-[WebOpenPanelResultListener chooseFilenames:]): Use NSUInteger instead of int.

  • WebView/WebDelegateImplementationCaching.mm:

(CallDelegate): Use wtfCallIMP in one overload that was instead just calling the
directly without a proper type for the function pointer. This might have been causing
an actual problem on 64-bit systems, and it was different from all the other CallDelegate
functions that were already doing this correctly.

  • WebView/WebTextCompletionController.mm:

(-[WebTextCompletionController _placePopupWindow:]): Use NSUInteger instead of int.

Source/WebKit2:

  • Configurations/Base.xcconfig: Added CLANG_WARN_UNREACHABLE_CODE, COMBINE_HIDPI_IMAGES,

and ENABLE_STRICT_OBJC_MSGSEND as suggested by the Xcode upgrade check.

  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::initializeCocoaOverrides): Changed NSConcreteTask_launch to use the same technique
as the other functions in this file, doing the type casting right at the call to
method_setImplementation so the global has a suitable type for making a function call,
rather than relying on the abilty to call through a type without a specific argument list.

  • UIProcess/Plugins/PluginInfoStore.cpp:

(WebKit::pathExtension): Use size_t for the result of String::reverseFind rather than
converting it to an int. Also don't rely on the fact that WTF's notFound becomes -1 when
cast from size_t to int.

  • WebKit2.xcodeproj/project.pbxproj: Let Xcode delete some orphaned items, and updated

LastUpgradeCheck.

Source/WTF:

  • Configurations/Base.xcconfig: Added CLANG_WARN_UNREACHABLE_CODE,

COMBINE_HIDPI_IMAGES, and ENABLE_STRICT_OBJC_MSGSEND as suggested by
Xcode upgrade check.

  • WTF.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.
1:52 PM Changeset in webkit [173363] by Brian Burg
  • 12 edits in trunk/Source

Web Inspector: convert DockSide to an enum class
https://bugs.webkit.org/show_bug.cgi?id=136601

Reviewed by Timothy Hatcher.

Source/WebCore:

  • inspector/InspectorFrontendClient.h:
  • inspector/InspectorFrontendClientLocal.cpp:

(WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
(WebCore::InspectorFrontendClientLocal::requestSetDockSide):
(WebCore::InspectorFrontendClientLocal::canAttachWindow):
(WebCore::InspectorFrontendClientLocal::setAttachedWindow):

  • inspector/InspectorFrontendHost.cpp:

(WebCore::InspectorFrontendHost::requestSetDockSide):

Source/WebKit/mac:

  • WebCoreSupport/WebInspectorClient.mm:

(WebInspectorFrontendClient::frontendLoaded):
(-[WebInspectorWindowController attachWindow:]):
(-[WebInspectorWindowController attach]):
(-[WebInspectorWindowController detach]):

  • WebInspector/WebInspectorFrontend.mm:

(-[WebInspectorFrontend attach]):

Source/WebKit/win:

  • WebCoreSupport/WebInspectorClient.cpp:

(WebInspectorFrontendClient::frontendLoaded):

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:

(WebKit::WebInspectorFrontendClient::attachWindow):

  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::attachedBottom):
(WebKit::WebInspector::attachedRight):
(WebKit::WebInspector::detached):

12:27 PM Changeset in webkit [173362] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1-branch/Source

Versioning.

11:49 AM Changeset in webkit [173361] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.20

New tag.

10:58 AM Changeset in webkit [173360] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Serialize ResourceResponses using WebKit types
https://bugs.webkit.org/show_bug.cgi?id=136545

Fix the failing webarchive tests.

  • platform/network/mac/ResourceResponseMac.mm:

(WebCore::ResourceResponse::initNSURLResponse): Map empty text encoding name to nil NSString.

10:27 AM Changeset in webkit [173359] by saambarati1@gmail.com
  • 2 edits in trunk/Tools

Unreviewed. Add myself as a committer.

  • Scripts/webkitpy/common/config/contributors.json:
10:02 AM Changeset in webkit [173358] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[WinCairo][Curl] fileExists() incorrectly claims folder does not exist.
https://bugs.webkit.org/show_bug.cgi?id=136598

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-09-06
Reviewed by Alex Christensen.

The fileExists() function will always return false on Windows,
if the filename parameter ends with a slash or backslash.

  • platform/network/curl/CurlCacheManager.cpp:

(WebCore::CurlCacheManager::setCacheDirectory): Add slash after call to fileExists().

9:04 AM Changeset in webkit [173357] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

New clang warns about boolean checks for |this| pointer in RenderObject debug methods
<http://webkit.org/b/136599>

Reviewed by Zalan Bujtas.

Ignores the following static analyzer warnings:

Source/WebCore/rendering/RenderObject.cpp:1465:10: error: 'this' pointer cannot be null in well-defined C++ code; pointer may be assumed to always convert to true [-Werror,-Wundefined-bool-conversion]

if (!this) {

~~

Source/WebCore/rendering/RenderObject.cpp:1584:10: error: 'this' pointer cannot be null in well-defined C++ code; pointer may be assumed to always convert to true [-Werror,-Wundefined-bool-conversion]

if (!this)

~~

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::showRenderObject):
(WebCore::RenderObject::showRenderSubTreeAndMark):
Add "#pragma clang" preprocessor macros to ignore this warning
since the code is only compiled for Debug builds. Also add a
pragma for the pragma so older clangs don't complain about an
unkonwn pragma.

8:33 AM Changeset in webkit [173356] by Antti Koivisto
  • 14 edits in trunk

Serialize ResourceResponses using WebKit types
https://bugs.webkit.org/show_bug.cgi?id=136545

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Serialization is faster and we can mostly avoid having NSURLResponses in web process.

  • WebCore.exp.in:
  • platform/network/ResourceLoadTiming.h:

(WebCore::ResourceLoadTiming::encode):
(WebCore::ResourceLoadTiming::decode):

  • platform/network/ResourceResponseBase.h:

(WebCore::ResourceResponseBase::encode):
(WebCore::ResourceResponseBase::decode):

Serialize from the WebCore data instead of serializing NSURLResponse.

  • platform/network/cf/ResourceResponseCFNet.cpp:

(WebCore::ResourceResponse::cfURLResponse):

Synthesize CFURLResponse by creating NSURLResponse on Cocoa platforms so we don't need copy code.
This has negligible performance impact, NSURLResponse is just a wrapper around CFURLResponse.

  • platform/network/mac/ResourceResponseMac.mm:

(WebCore::ResourceResponse::nsURLResponse):
(WebCore::ResourceResponse::setCertificateChain):

Avoid unnecessary NSURLRequest instantiation in debug builds.

Source/WebKit2:

Remove the WK2 serialization code for responses. It moves to the types itself in WebCore where it is
close to the data being serialized and less likely to get out of sync.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<ResourceResponse>::encode): Deleted.
(IPC::ArgumentCoder<ResourceResponse>::decode): Deleted.

  • Shared/WebCoreArgumentCoders.h:
  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<ResourceResponse>::encodePlatformData): Deleted.
(IPC::ArgumentCoder<ResourceResponse>::decodePlatformData): Deleted.

LayoutTests:

Remove failure expectations for tests fixed by this patch.

http/tests/xmlhttprequest/web-apps/012.html
http/tests/xmlhttprequest/web-apps/013.html

  • platform/mac-wk2/TestExpectations:
8:02 AM Changeset in webkit [173355] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

HTMLElement.cpp does not compile with new clang
<http://webkit.org/b/136600>

Reviewed by Chris Fleizach.

Fixes the following static analyzer warning:

Source/WebCore/html/HTMLElement.cpp:545:10: error: 'this' pointer cannot be null in well-defined C++ code; pointer may be assumed to always convert to true [-Werror,-Wundefined-bool-conversion]

if (!this
!parentNode())

~~

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::setOuterText): Remove "!this" check added
in r75738. It would only cover up real bugs, and isn't even hit
in layout tests.

4:17 AM Changeset in webkit [173354] by ryuan.choi@gmail.com
  • 8 edits
    1 delete in trunk/Source

[EFL] Drop evas object cursor support
https://bugs.webkit.org/show_bug.cgi?id=136324

Reviewed by Gyuyoung Kim.

Removed evas object cursor because there are some bugs.
ewebkit will only support ecore_x_cursor because ewebkit is available with X, now.

Source/WebCore:

  • platform/efl/DefaultTheme/CMakeLists.txt: Removed cursor related code.
  • platform/efl/DefaultTheme/default.edc: Ditto.
  • platform/efl/DefaultTheme/widget/cursor/cursor.edc: Removed.
  • platform/efl/EflScreenUtilities.cpp:

(WebCore::getEcoreCursor):
(WebCore::applyCursorFromEcoreX): Renamed applyFallbackCursor.
(WebCore::createCustomCursor): Added to make custom cursor.
(WebCore::applyFallbackCursor): Deleted.

  • platform/efl/EflScreenUtilities.h:

Source/WebKit2:

  • UIProcess/API/efl/EwkView.cpp:

(EwkViewEventHandler<EVAS_CALLBACK_MOUSE_IN>::handleEvent):
(EwkView::EwkView):
(EwkView::updateCursor): Simplifies not to use evas object cursor.
(EwkView::setCursor): Ditto.

  • UIProcess/API/efl/EwkView.h:
3:36 AM Changeset in webkit [173353] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Tools

Unreviewed, EFL build fix when SHARED_CORE is on.

  • TestWebKitAPI/PlatformEfl.cmake:
12:07 AM Changeset in webkit [173352] by commit-queue@webkit.org
  • 4 edits in trunk

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

Broke webgl/1.0.2/conformance/glsl/misc/shader-varying-
packing-restrictions.html (Requested by ap on #webkit).

Reverted changeset:

"Remove statically used varyings from packing restrictions
check."
https://bugs.webkit.org/show_bug.cgi?id=136585
http://trac.webkit.org/changeset/173335

12:02 AM Changeset in webkit [173351] by commit-queue@webkit.org
  • 13 edits in trunk/Source

Unreviewed, rolling out r173340 and r173342.
https://bugs.webkit.org/show_bug.cgi?id=136596

Broke many tests (Requested by ap on #webkit).

Reverted changesets:

"Remove PLATFORM(IOS) from WebCore/editing (Part 3)."
https://bugs.webkit.org/show_bug.cgi?id=136474
http://trac.webkit.org/changeset/173340

"Build fix after r173340."
http://trac.webkit.org/changeset/173342

Sep 5, 2014:

9:58 PM Changeset in webkit [173350] by commit-queue@webkit.org
  • 13 edits in trunk/Source

Use WTFString::split(char) in more places
https://bugs.webkit.org/show_bug.cgi?id=136543

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-09-05
Reviewed by Sam Weinig.

Source/WebCore:

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::nodeForPath):

  • mathml/MathMLMencloseElement.cpp:

(WebCore::MathMLMencloseElement::collectStyleForPresentationAttribute):

  • page/PerformanceResourceTiming.cpp:

(WebCore::passesTimingAllowCheck):

  • platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:

(WebCore::Extensions3DOpenGLCommon::initializeAvailableExtensions):

  • platform/graphics/opengl/GLPlatformContext.cpp:

(WebCore::parseExtensions):

  • platform/gtk/PasteboardHelper.cpp:

(WebCore::PasteboardHelper::fillDataObjectFromDropData):

  • platform/network/curl/CurlCacheEntry.cpp:

(WebCore::CurlCacheEntry::loadResponseHeaders):

  • platform/network/curl/CurlCacheManager.cpp:

(WebCore::CurlCacheManager::loadIndex):

Source/WebKit2:

  • Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:

(WebKit::PluginVersion::parse):

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::initInspectorServer):

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::isTransparentSilverlightBackgroundValue):

9:14 PM Changeset in webkit [173349] by mmaxfield@apple.com
  • 11 edits
    2 adds in trunk

Laying out a TextRun using an SVG font is O(n2)
https://bugs.webkit.org/show_bug.cgi?id=136584

Reviewed by Andreas Kling.

PerformanceTests:

Time how long it takes to lay out and render some text using an SVG font.

  • SVG/SVG-Text.html: Added.
  • SVG/resources/graffiti.svg: Added.

Source/WebCore:

Caching the version of the run with normalized spaces leads to a 5x speedup on the
performance test this patch adds.

Note that SVGFontData::applySVGGlyphSelection() is still unnecesarrily O(n), so more
work can be done here. In particular, the call to collectGlyphsForString() can likely
be sped up.

No new correctness tests because there is no behavior change.
Performance Test: SVG/SVG-Text.html

  • platform/graphics/Font.h:

(WebCore::Font::treatAsSpace): Make inline.
(WebCore::Font::treatAsZeroWidthSpace): Ditto.
(WebCore::Font::treatAsZeroWidthSpaceInComplexScript): Ditto.

  • platform/graphics/SimpleFontData.h: Add String cache argument.
  • platform/graphics/TextRun.h: Move member variables around for better packing.

(WebCore::TextRun::TextRun): Ditto.

  • platform/graphics/WidthIterator.cpp: Add String cache argument.

(WebCore::WidthIterator::glyphDataForCharacter): Ditto.
(WebCore::WidthIterator::advanceInternal): Create String cache and pass it to
glyphDataForCharacter.

  • platform/graphics/WidthIterator.h: Add String cache argument.
  • rendering/svg/SVGTextRunRenderingContext.cpp: Ditto.

(WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): Ditto.

  • rendering/svg/SVGTextRunRenderingContext.h: Ditto.
  • svg/SVGFontData.cpp:

(WebCore::SVGFontData::applySVGGlyphSelection): Call computeNormalizedSpaces
to consult with the cache.
(WebCore::computeNormalizedSpaces): Compute cached String value.

  • svg/SVGFontData.h: Add String cache argument.
7:24 PM Changeset in webkit [173348] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r169407): Calls to RenderStyle::getRoundedBorderFor() in computeRoundedRectForBoxShape() still include RenderView pointer
<http://webkit.org/b/136591>
<rdar://problem/18143731>

Reviewed by Simon Fraser.

In r169407, the RenderView* argument was removed from
RenderStyle::getRoundedBorderFor(). This argument was not
removed from these calls in computeRoundedRectForBoxShape(), but
because getRoundedBorderFor() always returned a reference, and
because the default for the next argument was true, there was no
actual change in behavior from this bug.

No new tests since there is no change in behavior.

  • rendering/shapes/BoxShape.cpp:

(WebCore::computeRoundedRectForBoxShape): Remove RenderView*
arguments from calls to getRoundedBorderFor().

5:25 PM Changeset in webkit [173347] by Simon Fraser
  • 3 edits in trunk/LayoutTests

Change this test not to use a percentage width, and to use a non-blurred
shadow to avoid different results on Retina display systems.

  • platform/mac-wk2/tiled-drawing/scrolling/frames/fixed-inside-frame-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/frames/fixed-inside-frame.html:
5:16 PM Changeset in webkit [173346] by ggaren@apple.com
  • 8 edits in trunk/Source

bmalloc should honor the FastMalloc statistics API
https://bugs.webkit.org/show_bug.cgi?id=136592

Reviewed by Gavin Barraclough.

Source/bmalloc:

We do this by tracking "size" and "capacity" in the VM heap.

The VM heap's "capacity" is all the VM we ever allocated.

The VM heap's "size" the subset of VM currently held onto by the
VM heap (and therefore not in use by the regular heap).

Somewhat ironically, reducing the process's memory footprint, increases
the size of the VM heap, since the VM heap holds the pages that are
purely virtual and not physical.

  • bmalloc/Heap.cpp:

(bmalloc::Heap::size):
(bmalloc::Heap::capacity):

  • bmalloc/Heap.h:
  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::VMHeap):
(bmalloc::VMHeap::allocateSmallChunk):
(bmalloc::VMHeap::allocateMediumChunk):
(bmalloc::VMHeap::allocateLargeChunk):

  • bmalloc/VMHeap.h:

(bmalloc::VMHeap::size):
(bmalloc::VMHeap::capacity):
(bmalloc::VMHeap::allocateSmallPage):
(bmalloc::VMHeap::allocateMediumPage):
(bmalloc::VMHeap::allocateLargeRange):
(bmalloc::VMHeap::deallocateSmallPage):
(bmalloc::VMHeap::deallocateMediumPage):
(bmalloc::VMHeap::deallocateLargeRange):

  • bmalloc/bmalloc.h:

(bmalloc::api::heapSize):
(bmalloc::api::heapCapacity):

Source/WTF:

  • wtf/FastMalloc.cpp:

(WTF::fastMallocStatistics):

5:15 PM Changeset in webkit [173345] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Work around bug 136593 by disabling the PDFDocumentImage live resize optimization there
https://bugs.webkit.org/show_bug.cgi?id=136594
rdar://problem/17457013

Reviewed by Simon Fraser.

  • platform/graphics/cg/PDFDocumentImage.cpp:

(WebCore::PDFDocumentImage::updateCachedImageIfNeeded):
Disable the optimization on iOS, because bug 136593 rears its head
most often on iOS because it is more common to have contexts that always
use low-quality image interpolation on that platform.

5:14 PM Changeset in webkit [173344] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Doing a navigation on a non-opaque WKWebView can result in an empty layer tree
https://bugs.webkit.org/show_bug.cgi?id=136590
<rdar://problem/18234000>

Reviewed by Simon Fraser.

  • page/FrameView.cpp:

(WebCore::FrameView::setTransparent):
Avoid scheduling a compositing layer update if the RenderView isn't the
one associated with this FrameView. This can happen during a navigation,
before the new Document (and RenderView) is swapped in. This is particularly
bad in the case of setTransparent because it is called from Frame::createView,
which is right in the middle of that transition window. If we let the compositing
layer update go ahead, it can end up detaching the new Document's layer tree,
and we have no mechanism that would cause it to reattach.

5:06 PM Changeset in webkit [173343] by jpfau@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, skip tests for a feature that isn't supported

  • platform/mac/TestExpectations:
4:54 PM Changeset in webkit [173342] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Build fix after r173340.

  • WebCoreSupport/WebEditorClient.h:

(kit):
(core):

4:40 PM Changeset in webkit [173341] by Lucas Forschler
  • 2 edits in trunk/Tools

<https://webkit.org/b/136586> Add bots to Apple build/test queues

Reviewed by Daniel Bates.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
4:30 PM Changeset in webkit [173340] by enrica@apple.com
  • 13 edits in trunk/Source

Remove PLATFORM(IOS) from WebCore/editing (Part 3).
https://bugs.webkit.org/show_bug.cgi?id=136474

Reviewed by Benjamin Poulain.

This patch removes the use of PLATFORM(IOS) from TextAffinity.h
and removes the assumption that EAffinity values match NSSelectionAffinity
values. It also removes the includes in TextAffinity.h, creating the need to
include explicitly the files when necessary. It also removes the unnecessary
use of platform specific types, replacing them with WebCore types.

Source/WebCore:

  • editing/TextAffinity.h:

(kit): Deleted.
(core): Deleted.

  • editing/cocoa/HTMLConverter.mm:
  • page/mac/WebCoreFrameView.h:
  • platform/ios/ScrollViewIOS.mm:

(WebCore::ScrollView::platformSetScrollPosition):
(WebCore::ScrollView::platformSetScrollOrigin):

  • platform/ios/wak/WAKScrollView.mm:

(-[WAKScrollView setScrollOrigin:updatePositionAtAll:immediately:]):
(-[WAKScrollView scrollOrigin]):

Source/WebKit/mac:

  • WebCoreSupport/WebEditorClient.h: Added kit and core for EAffinity.
  • WebView/WebFrameView.mm:

(-[WebFrameView _scrollToBeginningOfDocument]):
(-[WebFrameView _scrollToEndOfDocument]):

Source/WebKit2:

  • WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
  • WebProcess/WebPage/WKAccessibilityWebPageObjectIOS.mm:

(-[WKAccessibilityWebPageObject accessibilityHitTest:]):

4:01 PM Changeset in webkit [173339] by jpfau@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Add test after r173324

Rubber-stamped by Simon Fraser.

  • storage/indexeddb/version-change-event-expected.txt: Added.
  • storage/indexeddb/version-change-event.html: Added.
4:00 PM Changeset in webkit [173338] by ggaren@apple.com
  • 2 edits in trunk/Source/WTF

bmalloc should honor the FastMalloc scavenging API
https://bugs.webkit.org/show_bug.cgi?id=136588

Reviewed by Andreas Kling.

  • wtf/FastMalloc.cpp:

(WTF::releaseFastMallocFreeMemory):

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

Unreviewed GTK build fix; include StringPrintStream to pull in toString().

  • html/HTMLMediaElement.h:
3:11 PM Changeset in webkit [173336] by beidson@apple.com
  • 5 edits in trunk

Allow pages with unload handlers in the page cache
<rdar://problem/11084669> and https://bugs.webkit.org/show_bug.cgi?id=136535

Reviewed by Oliver Hunt.

Source/WebCore:

This will match what iOS has been doing for some time.

Updated tests for new behavior.

  • history/PageCache.cpp:

(WebCore::logCanCacheFrameDecision):
(WebCore::PageCache::canCachePageContainingThisFrame):

LayoutTests:

  • fast/frames/frame-crash-with-page-cache-expected.txt:
  • fast/frames/resources/cached-page-1.html:
3:09 PM Changeset in webkit [173335] by roger_fong@apple.com
  • 4 edits in trunk

Remove statically used varyings from packing restrictions check.
https://bugs.webkit.org/show_bug.cgi?id=136585.
<rdar://problem/16308409>

Reviewed by Dean Jackson.

  • src/compiler/translator/Compiler.cpp:

(TCompiler::enforcePackingRestrictions):

  • platform/mac/TestExpectations: Unskip build_009_to_016.html conformance test.
2:32 PM Changeset in webkit [173334] by ggaren@apple.com
  • 2 edits in trunk/Source/WTF

2014-09-05 Geoffrey Garen <ggaren@apple.com>

Rolled out <http://trac.webkit.org/changeset/173313>.

It seems to have broken the PLT bot.

Do the bmalloc.
https://bugs.webkit.org/show_bug.cgi?id=132629

  • wtf/FastMalloc.cpp:
2:08 PM Changeset in webkit [173333] by commit-queue@webkit.org
  • 7 edits
    3 adds in trunk

Web Inspector: breakpoint actions should work regardless of Content Security Policy
https://bugs.webkit.org/show_bug.cgi?id=136542

Patch by Matt Baker <Matt Baker> on 2014-09-05
Reviewed by Mark Lam.

Source/JavaScriptCore:

Added JSC::DebuggerEvalEnabler, an RAII object which enables eval on a
JSGlobalObject for the duration of a scope, returning the eval enabled state to its
original value when the scope exits. Used by JSC::DebuggerCallFrame::evaluate
to allow breakpoint actions to execute JS in pages with a Content Security Policy
that would normally prohibit this (such as Inspector's Main.html).

Refactored Inspector::InjectedScriptBase to use the RAII object instead of manually
setting eval enabled and then resetting the original eval enabled state.

NOTE: The JS::DebuggerEvalEnabler constructor checks the passed in ExecState pointer
for null to be equivalent with the original code in Inspector::InjectedScriptBase.
InjectedScriptBase is getting the ExecState from ScriptObject::scriptState(), which
can currently be null.

(JSC::DebuggerCallFrame::evaluate):

  • debugger/DebuggerEvalEnabler.h: Added.

(JSC::DebuggerEvalEnabler::DebuggerEvalEnabler):
(JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler):

  • inspector/InjectedScriptBase.cpp:

(Inspector::InjectedScriptBase::callFunctionWithEvalEnabled):

LayoutTests:

Added test for "Evaluate JavaScript" breakpoint actions for breakpoints set on
pages with a CSP that does not allow 'unsafe-eval'.

  • inspector/debugger/breakpoint-action-eval-expected.txt: Added.
  • inspector/debugger/breakpoint-action-eval.html: Added.
1:57 PM Changeset in webkit [173332] by ap@apple.com
  • 2 edits in trunk/Tools

Buildbot metrics page gives wrong results after a new bot gets added
https://bugs.webkit.org/show_bug.cgi?id=136516

Reviewed by Tim Horton.

Part 2: Fix elapsed times.

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

(Analyzer.prototype._countTimes): Made lastTestedRevisionByQueue contain undefined values
until the first build in a queue. This happens to work as needed with _fullyTestedRevisionNumber().

1:25 PM Changeset in webkit [173331] by clopez@igalia.com
  • 6 edits in trunk

[SOUP] Implement ResourceResponse::platformSuggestedFilename() when USE(SOUP) is enabled.
https://bugs.webkit.org/show_bug.cgi?id=136562

Reviewed by Martin Robinson.

Source/WebCore:

No new tests, this makes existing tests pass.

  • platform/network/soup/ResourceResponseSoup.cpp:

(WebCore::ResourceResponse::platformSuggestedFilename):
Implement ResourceResponse::platformSuggestedFilename() for SOUP after r173272, r173301 and r173305.

Tools:

  • Scripts/run-gtk-tests:

(TestRunner): Remove failure expectations for tests that now pass.

LayoutTests:

  • platform/gtk/TestExpectations: Remove failure expectations for tests that now pass.
1:05 PM Changeset in webkit [173330] by msaboff@apple.com
  • 3 edits
    2 adds in trunk/LayoutTests

ARM32 iOS: JSC Test math.js fails
https://bugs.webkit.org/show_bug.cgi?id=136261

Reviewed by Geoffrey Garen.

Split out the failing tests to a new test script math-denorm.js. Added check
at the top of the new file to skip the tests when running on ARM for iOS.

  • js/math-denorm-expected.txt: Added.
  • js/math-expected.txt:
  • js/script-tests/math-denorm.js: Added.
  • js/script-tests/math.js:
1:05 PM Changeset in webkit [173329] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

[Curl] Compile error.
https://bugs.webkit.org/show_bug.cgi?id=136574

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-09-05
Reviewed by Alex Christensen.

The ResourceResponse::setSuggestedFilename method is no longer available.

  • platform/network/curl/CurlCacheEntry.cpp:

(WebCore::CurlCacheEntry::setResponseFromCachedHeaders):

  • platform/network/curl/CurlDownload.cpp:

(WebCore::CurlDownload::didReceiveHeader):

  • platform/network/curl/MultipartHandle.cpp:

(WebCore::MultipartHandle::didReceiveResponse):

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::headerCallback):

  • platform/network/curl/ResourceResponse.h:

(WebCore::ResourceResponse::platformSuggestedFilename):

1:04 PM Changeset in webkit [173328] by benjamin@webkit.org
  • 21 edits
    12 adds in trunk

Update the current matching of :read-only and :read-write to the latest spec
https://bugs.webkit.org/show_bug.cgi?id=136566

Reviewed by Antti Koivisto.

Source/WebCore:

WebKit's implementation of :read-only and :read-write dated from 2008 and
it was based on the web form spec (http://www.w3.org/TR/web-forms-2/).
That spec is very dead now.

There are new definitions of :read-only and :read-write in three specs:
-the HTML living spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting.html#selector-read-only
-Selectors level 4: http://dev.w3.org/csswg/selectors4/#rw-pseudos
-CSS 3 UI: http://www.w3.org/TR/css3-ui/

All the definitions say about the same thing. The definitions of Selector Level 4 and
CSS 3 UI are very vague and poorly worded. I used the HTML when something was ambiguous.

In the new definitions, :read-only and :read-write are opposite. It is no longer possible to
match both selector simultaneously for the same element.
Consequently, I got rid of Element:matchesReadOnlyPseudoClass(). Matching :read-only is now equivalent
to :not(:read-write).

The existing definition of :read-write was matching the spec so I could reuse that.

There is one more part to the new spec that is not addressed here: the pseudo class :read-write should
now also match arbitrary editable HTMLElement (e.g. an element with contenteditable). This will be fixed
in a follow up.

Tests: fast/css/read-only-read-write-input-basics.html

fast/css/read-only-read-write-textarea-basics.html
fast/selectors/read-only-read-write-input-basics.html
fast/selectors/read-only-read-write-input-in-fieldset.html
fast/selectors/read-only-read-write-textarea-basics.html
fast/selectors/read-only-read-write-textarea-in-fieldset.html

  • css/SelectorCheckerTestFunctions.h:

(WebCore::matchesReadOnlyPseudoClass):

  • dom/Element.cpp:

(WebCore::Element::matchesReadOnlyPseudoClass): Deleted.

  • dom/Element.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::matchesReadOnlyPseudoClass): Deleted.

  • html/HTMLInputElement.h:
  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::matchesReadOnlyPseudoClass): Deleted.

  • html/HTMLTextAreaElement.h:
  • html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::matchesReadOnlyPseudoClass): Deleted.

  • html/shadow/SliderThumbElement.h:
  • html/shadow/SpinButtonElement.cpp:

(WebCore::SpinButtonElement::matchesReadOnlyPseudoClass): Deleted.

  • html/shadow/SpinButtonElement.h:
  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::isReadOnlyControl):

LayoutTests:

  • fast/css/readonly-pseudoclass-opera-005.html:

This was one of the original test.
With the new definition, input[type=radio] is always :read-only.

  • fast/forms/input-live-pseudo-selectors-expected.txt:
  • fast/forms/resources/input-live-pseudo-selectors.js:
  • fast/forms/resources/live-pseudo-selectors.css:

(:read-only): Deleted.

  • fast/forms/resources/select-live-pseudo-selectors.js:
  • fast/forms/resources/textarea-live-pseudo-selectors.js:
  • fast/forms/textarea-live-pseudo-selectors-expected.txt:

Those various tests were mostly testing form validation. The selectors
for :read-only and :read-write were in the way of testing.

They were only 3 cases tested and they are covered by the new tests.

  • fast/css/read-only-read-write-input-basics-expected.html: Added.
  • fast/css/read-only-read-write-input-basics.html: Added.
  • fast/css/read-only-read-write-textarea-basics-expected.html: Added.
  • fast/css/read-only-read-write-textarea-basics.html: Added.
  • fast/selectors/read-only-read-write-input-basics-expected.txt: Added.
  • fast/selectors/read-only-read-write-input-basics.html: Added.
  • fast/selectors/read-only-read-write-input-in-fieldset-expected.txt: Added.
  • fast/selectors/read-only-read-write-input-in-fieldset.html: Added.
  • fast/selectors/read-only-read-write-textarea-basics-expected.txt: Added.
  • fast/selectors/read-only-read-write-textarea-basics.html: Added.
  • fast/selectors/read-only-read-write-textarea-in-fieldset-expected.txt: Added.
  • fast/selectors/read-only-read-write-textarea-in-fieldset.html: Added.

New tests covering basic features for <input> and <textarea>. The definition for
other editable content is ignored for now.

12:42 PM Changeset in webkit [173327] by commit-queue@webkit.org
  • 5 edits
    1 add in trunk/Source/JavaScriptCore

[WinCairo] jsc.exe won't run.
https://bugs.webkit.org/show_bug.cgi?id=136481

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-09-05
Reviewed by Alex Christensen.

We need to define WIN_CAIRO to avoid looking for the AAS folder.

12:33 PM Changeset in webkit [173326] by ddkilzer@apple.com
  • 12 edits in trunk/Source

JavaScriptCore should build with newer clang
<http://webkit.org/b/136002>
<rdar://problem/18020616>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Other than the JSC::SourceProvider::asID() change (which simply
removes code that the optimizing compiler would have discarded
in Release builds), we move the |this| checks in OpaqueJSString
to NULL checks in to JSBase, JSObjectRef, JSScriptRef,
JSStringRef{CF} and JSValueRef.

Note that the following function arguments are _not_ NULL-checked
since doing so would just cover up bugs (and were not needed to
prevent any tests from failing):

  • |script| in JSEvaluateScript(), JSCheckScriptSyntax();
  • |body| in JSObjectMakeFunction();
  • |source| in JSScriptCreateReferencingImmortalASCIIText() (which is a const char* anyway);
  • |source| in JSScriptCreateFromString().
  • API/JSBase.cpp:

(JSEvaluateScript): Add NULL check for |sourceURL|.
(JSCheckScriptSyntax): Ditto.

  • API/JSObjectRef.cpp:

(JSObjectMakeFunction): Ditto.

  • API/JSScriptRef.cpp:

(JSScriptCreateReferencingImmortalASCIIText): Ditto.
(JSScriptCreateFromString): Add NULL check for |url|.

  • API/JSStringRef.cpp:

(JSStringGetLength): Return early if NULL pointer is passed in.
(JSStringGetCharactersPtr): Ditto.
(JSStringGetUTF8CString): Ditto. Also check |buffer| parameter.

  • API/JSStringRefCF.cpp:

(JSStringCopyCFString): Ditto.

  • API/JSValueRef.cpp:

(JSValueMakeString): Add NULL check for |string|.

  • API/OpaqueJSString.cpp:

(OpaqueJSString::string): Remove code that checks |this|.
(OpaqueJSString::identifier): Ditto.
(OpaqueJSString::characters): Ditto.

  • API/OpaqueJSString.h:

(OpaqueJSString::is8Bit): Remove code that checks |this|.
(OpaqueJSString::characters8): Ditto.
(OpaqueJSString::characters16): Ditto.
(OpaqueJSString::length): Ditto.

  • parser/SourceProvider.h:

(JSC::SourceProvider::asID): Remove code that checks |this|.

Source/WebKit2:

  • Shared/API/c/WKString.cpp:

(WKStringCreateWithJSString): Add NULL check to prevent
WebKitTestRunner crashes that relied on the previous |this|
behavior where NULL values were allowed.

12:25 PM Changeset in webkit [173325] by akling@apple.com
  • 12 edits in trunk/Source/WebCore

CTTE: SVGResourcesCache should only allow RenderElements.
<https://webkit.org/b/136578>

Only RenderElement subclasses can use SVG resources.
Codify this by making SVGResourcesCache::m_cache keyed on RenderElement.

Reviewed by Antti Koivisto.

  • rendering/svg/RenderSVGContainer.cpp:

(WebCore::RenderSVGContainer::selfWillPaint):

  • rendering/svg/RenderSVGImage.cpp:

(WebCore::RenderSVGImage::imageChanged):

  • rendering/svg/RenderSVGResource.cpp:

(WebCore::requestPaintingResource):
(WebCore::removeFromCacheAndInvalidateDependencies):

  • rendering/svg/RenderSVGResourceClipper.cpp:

(WebCore::RenderSVGResourceClipper::applyClippingToContext):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::paintReplaced):

  • rendering/svg/RenderSVGShape.cpp:

(WebCore::RenderSVGShape::shouldGenerateMarkerPositions):
(WebCore::RenderSVGShape::markerRect):
(WebCore::RenderSVGShape::drawMarkers):

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::invalidateResourcesOfChildren):
(WebCore::SVGRenderSupport::intersectRepaintRectWithResources):
(WebCore::SVGRenderSupport::filtersForceContainerLayout):
(WebCore::SVGRenderSupport::pointInClippingArea):

  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::prepareToRenderSVGContent):

  • rendering/svg/SVGResourcesCache.cpp:

(WebCore::resourcesCacheFromRenderer):
(WebCore::SVGResourcesCache::cachedResourcesForRenderer):
(WebCore::SVGResourcesCache::clientLayoutChanged):
(WebCore::SVGResourcesCache::clientDestroyed):
(WebCore::SVGResourcesCache::resourceDestroyed):
(WebCore::SVGResourcesCache::cachedResourcesForRenderObject): Deleted.

  • rendering/svg/SVGResourcesCache.h:
  • rendering/svg/SVGResourcesCycleSolver.cpp:

(WebCore::SVGResourcesCycleSolver::resourceContainsCycles):

12:20 PM Changeset in webkit [173324] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

IDB version changed events should have a valid eventType()
https://bugs.webkit.org/show_bug.cgi?id=136583

Reviewed by Brady Eidson.

IDBDatabase::dispatchEvent() asserts that the event type is versionchangeEvent,
but the version changed event created with an empty event type. Correct this.

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::onVersionChange):

12:16 PM Changeset in webkit [173323] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Increase number of maximum active WebGL contexts.
https://bugs.webkit.org/show_bug.cgi?id=136551.
<rdar://problem/18236425>

Reviewed by Brent Fulgham.

Test covered by Khronos conformance test:
webgl/1.0.2/conformance/context/context-creation-and-destruction.html

  • platform/graphics/mac/GraphicsContext3DMac.mm:
12:09 PM Changeset in webkit [173322] by ap@apple.com
  • 4 edits in trunk/Tools

Dashboard metrics page wastes a lot of time sorting iterations
https://bugs.webkit.org/show_bug.cgi?id=136559

Reviewed by Tim Horton.

Also fixes comments here and there, and adds a missing "var".

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

(BuildbotIteration.prototype._parseData):
(BuildbotIteration.prototype._updateWithData):

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

(BuildbotQueue.prototype.loadAll):

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

(Analyzer.prototype._countTimes):

11:57 AM Changeset in webkit [173321] by Simon Fraser
  • 6 edits in trunk/Source

Remove some PLATFORM(IOS) code in Color.h/cpp
https://bugs.webkit.org/show_bug.cgi?id=136582

Reviewed by Dan Bates.
Source/WebCore:

Remove Color::tap which is unused, and remove createCGColorWithDeviceWhite()
which was only called in one file in WebKit.

  • WebCore.exp.in:
  • platform/graphics/Color.h:
  • platform/graphics/cg/ColorCG.cpp:

(WebCore::createCGColorWithDeviceWhite): Deleted.

Source/WebKit/ios:

createCGColorWithDeviceWhite() is only used here so make it a local static function.

  • WebView/WebPDFViewIOS.mm:

(createCGColorWithDeviceWhite):

11:54 AM Changeset in webkit [173320] by Beth Dakin
  • 17 edits in trunk/Source

ScrollablArea::handleWheelEvent() should return early if the ScrollableArea is not
actually scrollable
https://bugs.webkit.org/show_bug.cgi?id=136558

Reviewed by Simon Fraser.

Source/WebCore:

This patch requires adding a new virtual function to ScrollableArea called
isScrollableOrRubberbandable(). Unfortunately, there is already a virtual function
of that name that exists on RenderLayerModelObject, which is only problematic
because RenderListBox inherits from both RenderLayerModelObject and
ScrollableArea. This patch resolves that conflict in the simplest way, by re-
naming the RenderLayerModelObject version of the function to
isScrollableOrRubberbandableBox(). It’s a little unfortunate, but simpler than the
other solutions I came up with.

New ScrollableArea virtual function.

  • page/FrameView.cpp:

(WebCore::FrameView::isScrollableOrRubberbandable):

  • page/FrameView.h:

The point of the whole patch! Return early if you can’t scroll or rubber band.

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::handleWheelEvent):

New ScrollableArea virtual function.

  • platform/ScrollableArea.h:
  • platform/win/PopupMenuWin.h:

Re-name.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::isScrollableOrRubberbandableBox):
(WebCore::RenderBox::isScrollableOrRubberbandable): Deleted.

  • rendering/RenderBox.h:

Implement new ScrollableArea virtual function, and adapt to the re-name.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::isScrollableOrRubberbandable):
(WebCore::RenderLayer::hasScrollableOrRubberbandableAncestor):

  • rendering/RenderLayer.h:

Re-name.

  • rendering/RenderLayerModelObject.h:

(WebCore::RenderLayerModelObject::isScrollableOrRubberbandableBox):
(WebCore::RenderLayerModelObject::isScrollableOrRubberbandable): Deleted.

Implement ScrollableArea virtual function.

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::isScrollableOrRubberbandable):

  • rendering/RenderListBox.h:

Re-name.

  • rendering/RenderView.cpp:

(WebCore::RenderView::isScrollableOrRubberbandableBox):
(WebCore::RenderView::isScrollableOrRubberbandable): Deleted.

  • rendering/RenderView.h:

Source/WebKit2:

New ScrollableArea virtual function.

  • WebProcess/Plugins/PDF/PDFPlugin.h:
11:42 AM Changeset in webkit [173319] by clopez@igalia.com
  • 5 edits in trunk

[GTK] Unreviewed GTK gardening.

Tools:

  • Scripts/run-gtk-tests:

(TestRunner): Skip tests failing since r173272.

LayoutTests:

  • platform/gtk/TestExpectations: Report and mark new failures after r173049 and r173272.

Update some expectations for new cases.

  • platform/gtk/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt: Rebaseline after r173049.
11:38 AM Changeset in webkit [173318] by jer.noble@apple.com
  • 75 edits
    2 copies
    2 moves
    1 delete in trunk

Refactoring: make MediaTime the primary time type for audiovisual times.
https://bugs.webkit.org/show_bug.cgi?id=133579

Reviewed by Eric Carlson.

Source/JavaScriptCore:

Add a utility function which converts a MediaTime to a JSNumber.

  • runtime/JSCJSValue.h:

(JSC::jsNumber):

Source/WebCore:

In order to limit the number of floating-point rounding errors for media systems which
can make use of rational time objects.

Add some convenience methods to convert between QTTime and MediaTime.

  • platform/graphics/mac/MediaTimeQTKit.h: Added.
  • platform/graphics/mac/MediaTimeQTKit.mm: Added.

(WebCore::toMediaTime):
(WebCore::toQTTime):

Rename MediaTimeMac -> MediaTimeAVFoundation:

  • platform/graphics/avfoundation/MediaTimeAVFoundation.cpp: Renamed from Source/WebCore/platform/mac/MediaTimeMac.cpp.

(WebCore::toMediaTime):
(WebCore::toCMTime):

  • platform/graphics/avfoundation/MediaTimeAVFoundation.h: Renamed from Source/WebCore/platform/mac/MediaTimeMac.h.

Use MediaTime instead of double:

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::duration):
(WebCore::MediaSource::currentTime):
(WebCore::MediaSource::buffered):
(WebCore::MediaSource::setDuration):
(WebCore::MediaSource::activeRanges):

  • Modules/mediasource/MediaSource.h:
  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::remove):
(WebCore::SourceBuffer::removeCodedFrames):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
(WebCore::SourceBuffer::hasCurrentTime):
(WebCore::SourceBuffer::hasFutureTime):
(WebCore::SourceBuffer::canPlayThrough):

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDataCueCustom.cpp:

(WebCore::JSDataCueConstructor::constructJSDataCue):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h:

(WebCore::ValueToString<MediaTime>::string):

  • html/MediaFragmentURIParser.cpp:

(WebCore::MediaFragmentURIParser::MediaFragmentURIParser):
(WebCore::MediaFragmentURIParser::startTime):
(WebCore::MediaFragmentURIParser::endTime):
(WebCore::MediaFragmentURIParser::parseTimeFragment):
(WebCore::MediaFragmentURIParser::parseNPTFragment):
(WebCore::MediaFragmentURIParser::parseNPTTime):
(WebCore::MediaFragmentURIParser::invalidTimeValue): Deleted.

  • html/MediaFragmentURIParser.h:
  • html/TimeRanges.h:

(WebCore::TimeRanges::ranges):

  • html/track/DataCue.cpp:

(WebCore::DataCue::DataCue):

  • html/track/DataCue.h:

(WebCore::DataCue::create):

  • html/track/InbandDataTextTrack.cpp:

(WebCore::InbandDataTextTrack::addDataCue):
(WebCore::InbandDataTextTrack::updateDataCue):
(WebCore::InbandDataTextTrack::removeDataCue):

  • html/track/InbandDataTextTrack.h:
  • html/track/InbandGenericTextTrack.cpp:

(WebCore::InbandGenericTextTrack::updateCueFromCueData):
(WebCore::InbandGenericTextTrack::addGenericCue):
(WebCore::InbandGenericTextTrack::removeGenericCue):

  • html/track/InbandTextTrack.cpp:

(WebCore::InbandTextTrack::startTimeVariance):

  • html/track/InbandTextTrack.h:
  • html/track/InbandWebVTTTextTrack.cpp:

(WebCore::InbandWebVTTTextTrack::newCuesParsed):

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::addCue):
(WebCore::TextTrack::hasCue):

  • html/track/TextTrack.h:

(WebCore::TextTrack::startTimeVariance):

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::create):
(WebCore::TextTrackCue::TextTrackCue):
(WebCore::TextTrackCue::setStartTime):
(WebCore::TextTrackCue::setEndTime):
(WebCore::TextTrackCue::hasEquivalentStartTime):

  • html/track/TextTrackCue.h:

(WebCore::TextTrackCue::startTime):
(WebCore::TextTrackCue::endTime):

  • html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGeneric::TextTrackCueGeneric):

  • html/track/TextTrackCueGeneric.h:
  • html/track/TextTrackCueList.cpp:

(WebCore::TextTrackCueList::add):

  • html/track/VTTCue.cpp:

(WebCore::VTTCue::VTTCue):
(WebCore::VTTCue::markFutureAndPastNodes):
(WebCore::VTTCue::updateDisplayTree):

  • html/track/VTTCue.h:

(WebCore::VTTCue::create):

  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::WebVTTParser):
(WebCore::WebVTTParser::resetCueValues):
(WebCore::WebVTTParser::collectTimeStamp):
(WebCore::WebVTTTreeBuilder::constructTreeFromToken):

  • html/track/WebVTTParser.h:

(WebCore::WebVTTCueData::startTime):
(WebCore::WebVTTCueData::setStartTime):
(WebCore::WebVTTCueData::endTime):
(WebCore::WebVTTCueData::setEndTime):
(WebCore::WebVTTCueData::WebVTTCueData): Deleted.

  • platform/graphics/InbandTextTrackPrivateClient.h:

(WebCore::GenericCueData::startTime):
(WebCore::GenericCueData::setStartTime):
(WebCore::GenericCueData::endTime):
(WebCore::GenericCueData::setEndTime):
(WebCore::GenericCueData::GenericCueData):

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::duration):
(WebCore::MediaPlayer::startTime):
(WebCore::MediaPlayer::initialTime):
(WebCore::MediaPlayer::currentTime):
(WebCore::MediaPlayer::seekWithTolerance):
(WebCore::MediaPlayer::seek):
(WebCore::MediaPlayer::maxTimeSeekable):
(WebCore::MediaPlayer::minTimeSeekable):
(WebCore::MediaPlayer::mediaTimeForTimeValue):
(WebCore::MediaPlayer::totalFrameDelay):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::durationMediaTime):
(WebCore::MediaPlayerPrivateInterface::currentMediaTime):
(WebCore::MediaPlayerPrivateInterface::seek):
(WebCore::MediaPlayerPrivateInterface::seekWithTolerance):
(WebCore::MediaPlayerPrivateInterface::startTime):
(WebCore::MediaPlayerPrivateInterface::initialTime):
(WebCore::MediaPlayerPrivateInterface::seekable):
(WebCore::MediaPlayerPrivateInterface::maxMediaTimeSeekable):
(WebCore::MediaPlayerPrivateInterface::minMediaTimeSeekable):
(WebCore::MediaPlayerPrivateInterface::mediaTimeForTimeValue):
(WebCore::MediaPlayerPrivateInterface::totalFrameDelay):
(WebCore::MediaPlayerPrivateInterface::startTimeDouble): Deleted.
(WebCore::MediaPlayerPrivateInterface::maxTimeSeekableDouble): Deleted.
(WebCore::MediaPlayerPrivateInterface::mediaTimeForTimeValueDouble): Deleted.

  • platform/graphics/MediaSourcePrivateClient.h:
  • platform/graphics/TrackPrivateBase.h:

(WebCore::TrackPrivateBase::startTimeVariance):

  • platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp:

(WebCore::InbandMetadataTextTrackPrivateAVF::InbandMetadataTextTrackPrivateAVF):
(WebCore::InbandMetadataTextTrackPrivateAVF::addDataCue):
(WebCore::InbandMetadataTextTrackPrivateAVF::updatePendingCueEndTimes):
(WebCore::InbandMetadataTextTrackPrivateAVF::flushPartialCues):

  • platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.h:

(WebCore::IncompleteMetaDataCue::IncompleteMetaDataCue):
(WebCore::IncompleteMetaDataCue::startTime):

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:

(WebCore::InbandTextTrackPrivateAVF::processCue):
(WebCore::InbandTextTrackPrivateAVF::resetCueValues):

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
(WebCore::MediaPlayerPrivateAVFoundation::durationMediaTime):
(WebCore::MediaPlayerPrivateAVFoundation::seek):
(WebCore::MediaPlayerPrivateAVFoundation::seekWithTolerance):
(WebCore::MediaPlayerPrivateAVFoundation::maxMediaTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundation::minMediaTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundation::maxTimeLoaded):
(WebCore::MediaPlayerPrivateAVFoundation::didLoadingProgress):
(WebCore::MediaPlayerPrivateAVFoundation::updateStates):
(WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged):
(WebCore::MediaPlayerPrivateAVFoundation::seekableTimeRangesChanged):
(WebCore::MediaPlayerPrivateAVFoundation::timeChanged):
(WebCore::MediaPlayerPrivateAVFoundation::didEnd):
(WebCore::MediaPlayerPrivateAVFoundation::invalidateCachedDuration):
(WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):
(WebCore::MediaPlayerPrivateAVFoundation::extraMemoryCost):
(WebCore::MediaPlayerPrivateAVFoundation::duration): Deleted.
(WebCore::MediaPlayerPrivateAVFoundation::maxTimeSeekableDouble): Deleted.
(WebCore::MediaPlayerPrivateAVFoundation::minTimeSeekable): Deleted.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:

(WebCore::MediaPlayerPrivateAVFoundation::Notification::Notification):
(WebCore::MediaPlayerPrivateAVFoundation::Notification::time):

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::MediaPlayerPrivateAVFoundationCF::platformDuration):
(WebCore::MediaPlayerPrivateAVFoundationCF::currentTime):
(WebCore::MediaPlayerPrivateAVFoundationCF::seekToTime):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformDuration):
(WebCore::MediaPlayerPrivateAVFoundationCF::currentTime):
(WebCore::MediaPlayerPrivateAVFoundationCF::seekToTime):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMinTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeLoaded):
(WebCore::MediaPlayerPrivateAVFoundationCF::mediaTimeForTimeValue): Deleted.
(WebCore::AVFWrapper::seekToTime): Deleted.
(WebCore::LegibleOutputData::LegibleOutputData): Deleted.
(WebCore::AVFWrapper::createImageForTimeInRect): Deleted.
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMinTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeLoaded):
(WebCore::MediaPlayerPrivateAVFoundationCF::mediaTimeForTimeValue): Deleted.
(WebCore::AVFWrapper::seekToTime): Deleted.
(WebCore::LegibleOutputData::LegibleOutputData): Deleted.
(WebCore::AVFWrapper::createImageForTimeInRect): Deleted.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
(WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
(WebCore::MediaPlayerPrivateAVFoundationObjC::currentMediaTime):
(WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformMinTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeLoaded):
(WebCore::MediaPlayerPrivateAVFoundationObjC::mediaTimeForTimeValue):
(WebCore::MediaPlayerPrivateAVFoundationObjC::processCue):
(WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive):
(WebCore::MediaPlayerPrivateAVFoundationObjC::durationDidChange):
(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
(-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):
(WebCore::MediaPlayerPrivateAVFoundationObjC::currentTime): Deleted.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationMediaTime):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::startTime):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::initialTime):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekable):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::maxMediaTimeSeekable):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::minMediaTimeSeekable):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::totalFrameDelay):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationDouble): Deleted.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentTimeDouble): Deleted.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::startTimeDouble): Deleted.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::maxTimeSeekableDouble): Deleted.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::minTimeSeekable): Deleted.

  • platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
  • platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h:

(WebCore::InbandMetadataTextTrackPrivateGStreamer::addDataCue):

  • platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h:

(WebCore::InbandMetadataTextTrackPrivateGStreamer::addDataCue):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::processMpegTsSection):
(WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry):
(WebCore::MediaPlayerPrivateGStreamer::processMpegTsSection):
(WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry):

  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::maxValueForTimeRanges):
(WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit):
(WebCore::MediaPlayerPrivateQTKit::durationMediaTime):
(WebCore::MediaPlayerPrivateQTKit::currentMediaTime):
(WebCore::MediaPlayerPrivateQTKit::seek):
(WebCore::MediaPlayerPrivateQTKit::doSeek):
(WebCore::MediaPlayerPrivateQTKit::cancelSeek):
(WebCore::MediaPlayerPrivateQTKit::seekTimerFired):
(WebCore::MediaPlayerPrivateQTKit::seeking):
(WebCore::MediaPlayerPrivateQTKit::setPreservesPitch):
(WebCore::MediaPlayerPrivateQTKit::buffered):
(WebCore::MediaPlayerPrivateQTKit::maxMediaTimeSeekable):
(WebCore::MediaPlayerPrivateQTKit::maxMediaTimeLoaded):
(WebCore::MediaPlayerPrivateQTKit::didLoadingProgress):
(WebCore::MediaPlayerPrivateQTKit::updateStates):
(WebCore::MediaPlayerPrivateQTKit::timeChanged):
(WebCore::MediaPlayerPrivateQTKit::didEnd):
(WebCore::MediaPlayerPrivateQTKit::maxMediaTimeSeekable):
(WebCore::MediaPlayerPrivateQTKit::maxMediaTimeLoaded):
(WebCore::MediaPlayerPrivateQTKit::createQTTime): Deleted.
(WebCore::MediaPlayerPrivateQTKit::duration): Deleted.
(WebCore::MediaPlayerPrivateQTKit::currentTime): Deleted.
(WebCore::MediaPlayerPrivateQTKit::maxTimeSeekable): Deleted.
(WebCore::MediaPlayerPrivateQTKit::maxTimeLoaded): Deleted.
(WebCore::MediaPlayerPrivateQTKit::mediaTimeForTimeValue): Deleted.

  • platform/mac/PlatformClockCM.mm:
  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::maxMediaTimeSeekable):
(WebCore::MockMediaPlayerMediaSource::currentMediaTime):
(WebCore::MockMediaPlayerMediaSource::durationMediaTime):
(WebCore::MockMediaPlayerMediaSource::seekWithTolerance):
(WebCore::MockMediaPlayerMediaSource::totalFrameDelay):
(WebCore::MockMediaPlayerMediaSource::maxTimeSeekableDouble): Deleted.
(WebCore::MockMediaPlayerMediaSource::currentTimeDouble): Deleted.
(WebCore::MockMediaPlayerMediaSource::durationDouble): Deleted.

  • platform/mock/mediasource/MockMediaPlayerMediaSource.h:
  • platform/mock/mediasource/MockMediaSourcePrivate.cpp:

(WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate):

  • platform/mock/mediasource/MockMediaSourcePrivate.h:
  • platform/mock/mediasource/MockSourceBufferPrivate.cpp:

(WebCore::MockSourceBufferPrivate::enqueueSample):

Source/WTF:

Add a unary minus operator, and add unimplemented private casting operators, to make
unintentional double->MediaTime and MediaTime->double casts hard errors.

  • wtf/MediaTime.cpp:

(WTF::MediaTime::operator-):

  • wtf/MediaTime.h:

LayoutTests:

Update the http/media tests to use byte-ranges, and update our byte-range CGI script
to return correct headers. Remove the platform expected results for media/video-seek-past-end-paused.html
now that we pass.

  • http/tests/media/reload-after-dialog.html:
  • http/tests/media/video-error-abort.html:
  • http/tests/media/video-throttled-load.cgi:
  • platform/mac/media/video-seek-past-end-paused-expected.txt: Removed.
  • platform/mac/TestExpectations:
11:33 AM Changeset in webkit [173317] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

[iOS] Another attempt to fix the iOS build after <http://trac.webkit.org/changeset/173309>
(https://bugs.webkit.org/show_bug.cgi?id=136564)

Move #endif inside -viewDidMoveToWindow up one line such that the closing brace ('}') is after it.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView viewDidMoveToWindow]):

11:25 AM Changeset in webkit [173316] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

[iOS] Another attempt to fix the iOS build after <http://trac.webkit.org/changeset/173309>
(https://bugs.webkit.org/show_bug.cgi?id=136564)

Add !PLATFORM(IOS)-guard in -viewDidMoveToWindow around code that references WebHTMLViewPrivate.flagsChangedEventMonitor.
The instance variable WebHTMLViewPrivate.flagsChangedEventMonitor is guarded by !PLATFORM(IOS).

  • WebView/WebHTMLView.mm:

(-[WebHTMLView viewDidMoveToWindow]):

11:16 AM Changeset in webkit [173315] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

[iOS] Fix the iOS build after <http://trac.webkit.org/changeset/173309>
(https://bugs.webkit.org/show_bug.cgi?id=136564)

Include more code inside the !PLATFORM(IOS)-guarded section in -setDataSource:.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView setDataSource:]):

11:15 AM Changeset in webkit [173314] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

REGRESSION(r173272): Two blob tests failing on WK1
https://bugs.webkit.org/show_bug.cgi?id=136573

Reviewed by Alexey Proskuryakov.

http/tests/fileapi/blob-url-in-subframe.html
http/tests/security/mixedContent/blob-url-in-iframe.html

  • platform/network/BlobResourceHandle.cpp:

(WebCore::BlobResourceHandle::notifyResponseOnSuccess):

No need to set this twice.

  • platform/network/mac/ResourceResponseMac.mm:

(WebCore::ResourceResponse::initNSURLResponse):

Also test that it is an HTTP URL before using NSHTTPURLResponse. Blobs create non-HTTP URLs with status codes.
Pass the accidentally lost expected content length.

11:07 AM Changeset in webkit [173313] by ggaren@apple.com
  • 2 edits in trunk/Source/WTF

Do the bmalloc.
https://bugs.webkit.org/show_bug.cgi?id=132629

Reviewed by Michael Saboff.

64-bit only for now, just to try it out.

  • wtf/FastMalloc.cpp:
9:17 AM Changeset in webkit [173312] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

ARM: Add more coverage to ARMv7 disassembler
https://bugs.webkit.org/show_bug.cgi?id=136565

Reviewed by Mark Lam.

Added ARMV7 disassembler support for Push/Pop multiple and floating point instructions
VCMP, VCVT[R] between floating point and integer, and VLDR.

  • disassembler/ARMv7/ARMv7DOpcode.cpp:

(JSC::ARMv7Disassembler::ARMv7DOpcodeDataPushPopMultiple::appendRegisterList):
(JSC::ARMv7Disassembler::ARMv7DOpcodeDataPopMultiple::format):
(JSC::ARMv7Disassembler::ARMv7DOpcodeDataPushMultiple::format):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCMP::format):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::format):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::format):

  • disassembler/ARMv7/ARMv7DOpcode.h:

(JSC::ARMv7Disassembler::ARMv7DOpcodeDataPushPopMultiple::registerList):
(JSC::ARMv7Disassembler::ARMv7DOpcodeDataPushPopMultiple::condition):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCMP::condition):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCMP::dBit):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCMP::vd):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCMP::szBit):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCMP::eBit):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCMP::mBit):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCMP::vm):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::condition):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::dBit):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::op2):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::vd):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::szBit):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::op):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::mBit):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::vm):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::condition):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::uBit):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::rn):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::vd):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::doubleReg):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::immediate8):

7:18 AM Changeset in webkit [173311] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

Move computeInlinePreferredLogicalWidths() from RenderBlock to RenderBlockFlow
https://bugs.webkit.org/show_bug.cgi?id=136461

Reviewed by Darin Adler.

This patch enables us to go from const_cast<RenderBlockFlow*>(this)->computeInlinePreferredLogicalWidths()
to computeInlinePreferredLogicalWidths().

Covered by existing tests.

  • rendering/RenderBlock.cpp:

(WebCore::InlineMinMaxIterator::endOfInline): Deleted.
(WebCore::InlineMinMaxIterator::next): Deleted.
(WebCore::getBPMWidth): Deleted.
(WebCore::getBorderPaddingMargin): Deleted.
(WebCore::stripTrailingSpace): Deleted.
(WebCore::preferredWidth): Deleted.
(WebCore::RenderBlock::computeInlinePreferredLogicalWidths): Deleted.

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths):
(WebCore::InlineMinMaxIterator::initial): The (parent == current) condition was used as 'initial' state before.
and in order to make computeInlinePreferredLogicalWidths const, InlineMinMaxIterator() needs to take const RenderObject*.
(WebCore::InlineMinMaxIterator::next):
(WebCore::getBPMWidth):
(WebCore::getBorderPaddingMargin):
(WebCore::stripTrailingSpace):
(WebCore::preferredWidth):
(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths):

  • rendering/RenderBlockFlow.h:
3:25 AM Changeset in webkit [173310] by Dániel Bátyai
  • 2 edits in trunk/Source/WTF

Enable GenGC on ARM Traditional
https://bugs.webkit.org/show_bug.cgi?id=136567

Reviewed by Csaba Osztrogonác.

  • wtf/Platform.h:
1:01 AM Changeset in webkit [173309] by mjs@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Use tracking areas instead of (SPI) mouse moved notifications, and follow flags changes with an event monitor
https://bugs.webkit.org/show_bug.cgi?id=136564

Reviewed by Dan Bernstein.

WebKit1 depended on mouse moved event notifications to track mouse
moves, and on being specially called by Safari to track flags
changes. WebKit2 does both these things better - it uses a tracking area
and event monitors. Copy those approaches.

  • WebKit.order: Remove reference to obsolete call.
  • WebView/WebHTMLView.mm:

(-[WebHTMLViewPrivate dealloc]): No need to deallocate tracking
area, since we now just always have one.
(-[WebHTMLViewPrivate clear]): ditto
(-[WebHTMLView _postFakeMouseMovedEventForFlagsChangedEvent:]):
New method that posts a fake mouse move event in response to
a flags change event, for use by the event monitor.
(+[WebHTMLView _postFlagsChangedEvent:]): Empty this old call,
still kept around for benefit of older Safari.
(-[WebHTMLView _updateMouseoverWithEvent:]): Handle Dashboard's
special mouseover mode (previously handled in a weird way).
(-[WebHTMLView close]): No more need to mess with mouse moved observer.
(-[WebHTMLView viewWillMoveToWindow:]): ditto
(-[WebHTMLView viewDidMoveToWindow]): ditto; but now hook up a flags
changed monitor.
(-[WebHTMLView windowDidBecomeKey:]): No need to handle non-key window
tracking area or mouse moved observer.
(-[WebHTMLView windowDidResignKey:]): ditto
(-[WebHTMLView windowWillOrderOnScreen:]): No need to mess with mouse
moved observer.
(-[WebHTMLView windowWillOrderOffScreen:]): ditto
(-[WebHTMLView mouseMoved:]): Converted from the old mouseMovedNotification:
(-[WebHTMLView setDataSource:]): Change if around body to early return. Hook
up tracking area - we have to do it here, because before this point, the
WebHTMLView does not know its WebView, which is where dashboard settings
live.
(-[WebHTMLView _removeMouseMovedObserverUnconditionally]): Deleted.
(-[WebHTMLView addMouseMovedObserver]): Deleted.
(-[WebHTMLView removeMouseMovedObserver]): Deleted.

Note: See TracTimeline for information about the timeline view.