Timeline



Mar 29, 2012:

11:29 PM April 2012 Meeting edited by rniwa@webkit.org
(diff)
11:28 PM April 2012 Meeting edited by rniwa@webkit.org
(diff)
10:07 PM Changeset in webkit [112644] by Alexandru Chiculita
  • 10 edits
    6 adds in trunk

[CSS Filters] Trigger a repaint on elements with changed filter
https://bugs.webkit.org/show_bug.cgi?id=82521

Reviewed by Dean Jackson.

Source/WebCore:

I've added ContextSensitivePropertyFilter and changed RenderStyle::diff to use it when
the filter property is changed. In RenderObject::adjustStyleDifference the appropriate StyleDifferenceRepaintLayer
or StyleDifferenceRecompositeLayer is used depending on whether the layer is painting filters in software or in hardware
(composited).

Tests: css3/filters/filter-change-repaint-composited.html

css3/filters/filter-change-repaint.html

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::createFilterOperations): None was treated as an invalid value.

  • platform/graphics/ca/mac/PlatformCALayerMac.mm: Shadows were remaining behind. Fixed that.

(PlatformCALayer::setFilters):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::styleWillChange): Repaint the layer when there is a layout change and a filter change.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::styleChanged): Making sure that the backing store is repainted when filters fallback to hardware.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::adjustStyleDifference):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::diff):

  • rendering/style/RenderStyleConstants.h:

LayoutTests:

Repaint was not triggered when the filter property was changed. I've added two
tests, one for software and one for composited mode. Both tests are triggering
all the possible scenarios of changing the filter property.

  • css3/filters/filter-change-repaint-composited-expected.png: Added.
  • css3/filters/filter-change-repaint-composited-expected.txt: Added.
  • css3/filters/filter-change-repaint-composited.html: Added.
  • css3/filters/filter-change-repaint-expected.png: Added.
  • css3/filters/filter-change-repaint-expected.txt: Added.
  • css3/filters/filter-change-repaint.html: Added.
  • platform/chromium/test_expectations.txt: Disabled the new tests on Chromium. They need rebaselining.
9:43 PM Changeset in webkit [112643] by Beth Dakin
  • 4 edits in branches/safari-534.56-branch/Source/WebCore

<rdar://problem/11008998> Branch: Shadow inside text field is blurry/blocky in
HiDPI

Reviewed by Dan Bernstein.

This patch merges the following changes to the branch:
http://trac.webkit.org/changeset/97032
http://trac.webkit.org/changeset/98520

This patch also adds branch-specific code that makes it so the regression tracked
by <rdar://problem/11115221> only affects the branch in HiDPI mode.

Essentially, this is a workaround for <rdar://problem/11150452>. With this
workaround, when the deviceScaleFactor is 1, we have an old-school gradient bezel
in text fields whether they are styled or not. This is good and matches shipping
Safari. When the deviceScaleFactor is greater than 1, text fields will have newer,
AppKit-matching gradients that look much more appropriate at the higher
resolutions. However, if the text field is styled in any way, we'll revert to the
old-school bezel, which doesn't look great in HiDPI, but it looks better than the
CSS border, which is the only alternative until 11150452 is resolved.

This is the merging of the changes listed above.

  • platform/mac/ThemeMac.mm:

(WebCore::ThemeMac::ensuredView):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintSliderThumb):

isControlStyled() should treat text fields like it used to in order to avoid the
regression tracked by 11115221.

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

(WebCore::RenderThemeMac::isControlStyled):

Use the old gradient always unless we are an unstyled text field in HiDPI.
(WebCore::RenderThemeMac::paintTextField):
(WebCore::RenderThemeMac::textField):

8:44 PM Changeset in webkit [112642] by commit-queue@webkit.org
  • 7 edits
    3 adds in trunk/Source/WebCore

Vertical flow support for OpenType fonts with the least platform dependencies
https://bugs.webkit.org/show_bug.cgi?id=81326

Patch by Koji Ishii <Koji Ishii> on 2012-03-29
Reviewed by Dan Bernstein.

This patch introduces a new class OpenTypeVerticalData to read
vertical font metrics from OpenType fonts.

Currently, WebKit relies on platform APIs to do the work. However,
some platforms such as Windows lack support for all the capabilities
WebKit requires for vertical flow and the text-orientation property
to work correctly. Reading OpenType tables directly also gives
benefits in consistent behavior among the WebKit platforms.

This patch is for any platforms that want to parse OpenType tables
directly, but it's currently included only in CGWin and isn't on any
code path even on CGWin yet. Caller's side change for CGWin and
support for other platforms will be in separate bugs.

No new tests are required. No behavior changes.

  • WebCore.vcproj/WebCore.vcproj: Added OpenTypeTypes.h and OpenTypeVerticalData.h/cpp.
  • platform/SharedBuffer.cpp: Add create(size_t)

(WebCore::SharedBuffer::SharedBuffer):
(WebCore):

  • platform/SharedBuffer.h: Add create(size_t)

(WebCore::SharedBuffer::create):
(SharedBuffer):

  • platform/graphics/FontPlatformData.h: Added openTypeTable().

(WebCore):
(FontPlatformData):

  • platform/graphics/SimpleFontData.h: Added sizePerUnit().

(WebCore::SimpleFontData::sizePerUnit): size() / unitsPerEm() for less multiplication.

  • platform/graphics/opentype/OpenTypeTypes.h: Added OpenType basic type definitions.

(OpenType):
(WebCore::OpenType::BigEndianShort::operator short):
(WebCore::OpenType::BigEndianShort::BigEndianShort):
(BigEndianShort):
(WebCore::OpenType::BigEndianUShort::operator unsigned short):
(WebCore::OpenType::BigEndianUShort::BigEndianUShort):
(BigEndianUShort):
(WebCore::OpenType::BigEndianLong::operator int):
(WebCore::OpenType::BigEndianLong::BigEndianLong):
(BigEndianLong):
(WebCore::OpenType::BigEndianULong::operator unsigned):
(WebCore::OpenType::BigEndianULong::BigEndianULong):
(BigEndianULong):

  • platform/graphics/opentype/OpenTypeVerticalData.cpp: Added.

(OpenType):
(HheaTable):
(VheaTable):
(Entry):
(VORGTable):
(VertOriginYMetrics):
(WebCore::OpenType::VORGTable::requiredSize):
(WebCore):
(WebCore::validatedPtr):
(WebCore::OpenTypeVerticalData::OpenTypeVerticalData):
(WebCore::OpenTypeVerticalData::advanceHeight): Advance height for a glyph.
(WebCore::OpenTypeVerticalData::getVerticalTranslationsForGlyphs): Vertical origin.

  • platform/graphics/opentype/OpenTypeVerticalData.h: Added.

(WebCore):
(OpenTypeVerticalData): A new class to handle vertical flow data in OpenType.
(WebCore::OpenTypeVerticalData::isOpenType):
(WebCore::OpenTypeVerticalData::hasVerticalMetrics):
(WebCore::OpenTypeVerticalData::hasVORG):

  • platform/graphics/win/FontPlatformDataWin.cpp:

(WebCore):
(WebCore::FontPlatformData::openTypeTable): Implemented openTypeTable() for Win32.

8:31 PM Changeset in webkit [112641] by leo.yang@torchmobile.com.cn
  • 3 edits in trunk/Source/WebCore

[BlackBerry] Sync up PlatformMouseEvent
https://bugs.webkit.org/show_bug.cgi?id=82567

Reviewed by Rob Buis.

This patch is adding blackberry specific members to PlatformMouseEvent.
Also re-base PlatformMouseEventBlackBerry to adapt to the re-factor
of PlatformMouseEvent.

  • platform/PlatformMouseEvent.h:

(PlatformMouseEvent): BlackBerry specific constructor.
(WebCore::PlatformMouseEvent::inputMethod): Input source of mouse event
for blackberry platform.

  • platform/blackberry/PlatformMouseEventBlackBerry.cpp:

(WebCore::PlatformMouseEvent::PlatformMouseEvent): Re-base the constructor
to adapt the re-factor of PlatformMouseEvent.

8:20 PM April 2012 Meeting edited by dtharp@codeaurora.org
(diff)
8:15 PM BuildingQtOnLinux edited by gram@company100.net
(diff)
8:13 PM BuildingQtOnLinux edited by gram@company100.net
(diff)
8:04 PM Changeset in webkit [112640] by leo.yang@torchmobile.com.cn
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Turn on STORE_FONT_CUSTOM_PLATFORM_DATA in CachedFont.cpp
https://bugs.webkit.org/show_bug.cgi?id=82573

Reviewed by Rob Buis.

Tests: covered by existing tests.

  • loader/cache/CachedFont.cpp:
8:02 PM Changeset in webkit [112639] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

[Chromium] Attempt to fix the component build
https://bugs.webkit.org/show_bug.cgi?id=82676

Reviewed by Dirk Pranke.

Now that we're implementing some of the WEBKIT_EXPORT symbols in
WebCore/platform/chromium/support, we need to tell the build system
that we want to actually export these symbols.

  • WebCore.gyp/WebCore.gyp:
7:25 PM Changeset in webkit [112638] by inferno@chromium.org
  • 1 edit in branches/chromium/1084/Source/WebKit/chromium/src/WorkerFileSystemCallbacksBridge.cpp

Merge 112576 - [Chromium] WorkerFileSystemContextObserver can reference a deleted WorkerFileSystemCallbacksBridge.
BUG=120007
Review URL: https://chromiumcodereview.appspot.com/9939006

7:23 PM Changeset in webkit [112637] by inferno@chromium.org
  • 1 edit in branches/chromium/1084/Source/WebCore/rendering/RenderFullScreen.cpp

Merge 112596 - Heap-use-after-free in WebCore::InlineFlowBox::deleteLine due to fullscreen issues.

BUG=118853
Review URL: https://chromiumcodereview.appspot.com/9962002

7:21 PM Changeset in webkit [112636] by inferno@chromium.org
  • 4 edits in branches/chromium/1084/Source/WebCore

Merge 112623 - Crash in GenericEventQueue::~GenericEventQueue.

BUG=119281
Review URL: https://chromiumcodereview.appspot.com/9937009

6:57 PM Changeset in webkit [112635] by mitz@apple.com
  • 3 edits in trunk/Tools

Removed “Intel” from the Lion builders’ names.

Rubber-stamped by Mark Rowe.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/public_html/LeaksViewer/LeaksViewer.js:

(LeaksViewer._displayURLPrompt):

6:37 PM Changeset in webkit [112634] by abarth@webkit.org
  • 5 edits
    9 moves in trunk/Source

Unreviewed, rolling out r112572.
http://trac.webkit.org/changeset/112572
https://bugs.webkit.org/show_bug.cgi?id=82582

Does not compile in Windows component build

Source/WebCore:

  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:

Source/WebKit/chromium:

  • WebKit.gyp:
  • src/WebData.cpp: Renamed from Source/WebCore/platform/chromium/support/WebData.cpp.

(WebKit):
(WebKit::WebData::reset):
(WebKit::WebData::assign):
(WebKit::WebData::size):
(WebKit::WebData::data):
(WebKit::WebData::WebData):
(WebKit::WebData::operator=):
(WebKit::WebData::operator PassRefPtr<SharedBuffer>):

  • src/WebHTTPBody.cpp: Renamed from Source/WebCore/platform/chromium/support/WebHTTPBody.cpp.

(WebKit):
(WebKit::WebHTTPBody::initialize):
(WebKit::WebHTTPBody::reset):
(WebKit::WebHTTPBody::assign):
(WebKit::WebHTTPBody::elementCount):
(WebKit::WebHTTPBody::elementAt):
(WebKit::WebHTTPBody::appendData):
(WebKit::WebHTTPBody::appendFile):
(WebKit::WebHTTPBody::appendFileRange):
(WebKit::WebHTTPBody::appendBlob):
(WebKit::WebHTTPBody::identifier):
(WebKit::WebHTTPBody::setIdentifier):
(WebKit::WebHTTPBody::containsPasswordData):
(WebKit::WebHTTPBody::setContainsPasswordData):
(WebKit::WebHTTPBody::WebHTTPBody):
(WebKit::WebHTTPBody::operator=):
(WebKit::WebHTTPBody::operator PassRefPtr<FormData>):
(WebKit::WebHTTPBody::ensureMutable):

  • src/WebHTTPLoadInfo.cpp: Renamed from Source/WebCore/platform/chromium/support/WebHTTPLoadInfo.cpp.

(WebKit):
(WebKit::WebHTTPLoadInfo::initialize):
(WebKit::WebHTTPLoadInfo::reset):
(WebKit::WebHTTPLoadInfo::assign):
(WebKit::WebHTTPLoadInfo::WebHTTPLoadInfo):
(WebKit::WebHTTPLoadInfo::operator WTF::PassRefPtr<WebCore::ResourceLoadInfo>):
(WebKit::WebHTTPLoadInfo::httpStatusCode):
(WebKit::WebHTTPLoadInfo::setHTTPStatusCode):
(WebKit::WebHTTPLoadInfo::httpStatusText):
(WebKit::WebHTTPLoadInfo::setHTTPStatusText):
(WebKit::WebHTTPLoadInfo::encodedDataLength):
(WebKit::WebHTTPLoadInfo::setEncodedDataLength):
(WebKit::addHeader):
(WebKit::WebHTTPLoadInfo::addRequestHeader):
(WebKit::WebHTTPLoadInfo::addResponseHeader):
(WebKit::WebHTTPLoadInfo::requestHeadersText):
(WebKit::WebHTTPLoadInfo::setRequestHeadersText):
(WebKit::WebHTTPLoadInfo::responseHeadersText):
(WebKit::WebHTTPLoadInfo::setResponseHeadersText):

  • src/WebURL.cpp: Renamed from Source/WebCore/platform/chromium/support/WebURL.cpp.

(WebKit):
(WebKit::WebURL::WebURL):
(WebKit::WebURL::operator=):
(WebKit::WebURL::operator WebCore::KURL):

  • src/WebURLError.cpp: Renamed from Source/WebCore/platform/chromium/support/WebURLError.cpp.

(WebKit):
(WebKit::WebURLError::WebURLError):
(WebKit::WebURLError::operator=):
(WebKit::WebURLError::operator ResourceError):

  • src/WebURLRequest.cpp: Renamed from Source/WebCore/platform/chromium/support/WebURLRequest.cpp.

(WebURLRequestPrivateImpl):
(WebKit::WebURLRequestPrivateImpl::WebURLRequestPrivateImpl):
(WebKit::WebURLRequestPrivateImpl::dispose):
(WebKit::WebURLRequestPrivateImpl::~WebURLRequestPrivateImpl):
(WebKit):
(WebKit::WebURLRequest::initialize):
(WebKit::WebURLRequest::reset):
(WebKit::WebURLRequest::assign):
(WebKit::WebURLRequest::isNull):
(WebKit::WebURLRequest::url):
(WebKit::WebURLRequest::setURL):
(WebKit::WebURLRequest::firstPartyForCookies):
(WebKit::WebURLRequest::setFirstPartyForCookies):
(WebKit::WebURLRequest::allowCookies):
(WebKit::WebURLRequest::setAllowCookies):
(WebKit::WebURLRequest::allowStoredCredentials):
(WebKit::WebURLRequest::setAllowStoredCredentials):
(WebKit::WebURLRequest::cachePolicy):
(WebKit::WebURLRequest::setCachePolicy):
(WebKit::WebURLRequest::httpMethod):
(WebKit::WebURLRequest::setHTTPMethod):
(WebKit::WebURLRequest::httpHeaderField):
(WebKit::WebURLRequest::setHTTPHeaderField):
(WebKit::WebURLRequest::addHTTPHeaderField):
(WebKit::WebURLRequest::clearHTTPHeaderField):
(WebKit::WebURLRequest::visitHTTPHeaderFields):
(WebKit::WebURLRequest::httpBody):
(WebKit::WebURLRequest::setHTTPBody):
(WebKit::WebURLRequest::reportUploadProgress):
(WebKit::WebURLRequest::setReportUploadProgress):
(WebKit::WebURLRequest::reportLoadTiming):
(WebKit::WebURLRequest::setReportRawHeaders):
(WebKit::WebURLRequest::reportRawHeaders):
(WebKit::WebURLRequest::setReportLoadTiming):
(WebKit::WebURLRequest::targetType):
(WebKit::WebURLRequest::hasUserGesture):
(WebKit::WebURLRequest::setHasUserGesture):
(WebKit::WebURLRequest::setTargetType):
(WebKit::WebURLRequest::requestorID):
(WebKit::WebURLRequest::setRequestorID):
(WebKit::WebURLRequest::requestorProcessID):
(WebKit::WebURLRequest::setRequestorProcessID):
(WebKit::WebURLRequest::appCacheHostID):
(WebKit::WebURLRequest::setAppCacheHostID):
(WebKit::WebURLRequest::downloadToFile):
(WebKit::WebURLRequest::setDownloadToFile):
(WebKit::WebURLRequest::extraData):
(WebKit::WebURLRequest::setExtraData):
(WebKit::WebURLRequest::toMutableResourceRequest):
(WebKit::WebURLRequest::toResourceRequest):

  • src/WebURLRequestPrivate.h: Renamed from Source/WebCore/platform/chromium/support/WebURLRequestPrivate.h.

(WebKit):
(WebURLRequestPrivate):
(WebKit::WebURLRequestPrivate::WebURLRequestPrivate):

  • src/WebURLResponse.cpp: Renamed from Source/WebCore/platform/chromium/support/WebURLResponse.cpp.

(WebURLResponsePrivateImpl):
(WebKit::WebURLResponsePrivateImpl::WebURLResponsePrivateImpl):
(WebKit::WebURLResponsePrivateImpl::dispose):
(WebKit::WebURLResponsePrivateImpl::~WebURLResponsePrivateImpl):
(WebKit):
(WebKit::WebURLResponse::initialize):
(WebKit::WebURLResponse::reset):
(WebKit::WebURLResponse::assign):
(WebKit::WebURLResponse::isNull):
(WebKit::WebURLResponse::url):
(WebKit::WebURLResponse::setURL):
(WebKit::WebURLResponse::connectionID):
(WebKit::WebURLResponse::setConnectionID):
(WebKit::WebURLResponse::connectionReused):
(WebKit::WebURLResponse::setConnectionReused):
(WebKit::WebURLResponse::loadTiming):
(WebKit::WebURLResponse::setLoadTiming):
(WebKit::WebURLResponse::httpLoadInfo):
(WebKit::WebURLResponse::setHTTPLoadInfo):
(WebKit::WebURLResponse::responseTime):
(WebKit::WebURLResponse::setResponseTime):
(WebKit::WebURLResponse::mimeType):
(WebKit::WebURLResponse::setMIMEType):
(WebKit::WebURLResponse::expectedContentLength):
(WebKit::WebURLResponse::setExpectedContentLength):
(WebKit::WebURLResponse::textEncodingName):
(WebKit::WebURLResponse::setTextEncodingName):
(WebKit::WebURLResponse::suggestedFileName):
(WebKit::WebURLResponse::setSuggestedFileName):
(WebKit::WebURLResponse::httpStatusCode):
(WebKit::WebURLResponse::setHTTPStatusCode):
(WebKit::WebURLResponse::httpStatusText):
(WebKit::WebURLResponse::setHTTPStatusText):
(WebKit::WebURLResponse::httpHeaderField):
(WebKit::WebURLResponse::setHTTPHeaderField):
(WebKit::WebURLResponse::addHTTPHeaderField):
(WebKit::WebURLResponse::clearHTTPHeaderField):
(WebKit::WebURLResponse::visitHTTPHeaderFields):
(WebKit::WebURLResponse::lastModifiedDate):
(WebKit::WebURLResponse::setLastModifiedDate):
(WebKit::WebURLResponse::appCacheID):
(WebKit::WebURLResponse::setAppCacheID):
(WebKit::WebURLResponse::appCacheManifestURL):
(WebKit::WebURLResponse::setAppCacheManifestURL):
(WebKit::WebURLResponse::securityInfo):
(WebKit::WebURLResponse::setSecurityInfo):
(WebKit::WebURLResponse::toMutableResourceResponse):
(WebKit::WebURLResponse::toResourceResponse):
(WebKit::WebURLResponse::wasCached):
(WebKit::WebURLResponse::setWasCached):
(WebKit::WebURLResponse::wasFetchedViaSPDY):
(WebKit::WebURLResponse::setWasFetchedViaSPDY):
(WebKit::WebURLResponse::wasNpnNegotiated):
(WebKit::WebURLResponse::setWasNpnNegotiated):
(WebKit::WebURLResponse::wasAlternateProtocolAvailable):
(WebKit::WebURLResponse::setWasAlternateProtocolAvailable):
(WebKit::WebURLResponse::wasFetchedViaProxy):
(WebKit::WebURLResponse::setWasFetchedViaProxy):
(WebKit::WebURLResponse::isMultipartPayload):
(WebKit::WebURLResponse::setIsMultipartPayload):
(WebKit::WebURLResponse::downloadFilePath):
(WebKit::WebURLResponse::setDownloadFilePath):
(WebKit::WebURLResponse::remoteIPAddress):
(WebKit::WebURLResponse::setRemoteIPAddress):
(WebKit::WebURLResponse::remotePort):
(WebKit::WebURLResponse::setRemotePort):
(WebKit::WebURLResponse::extraData):
(WebKit::WebURLResponse::setExtraData):

  • src/WebURLResponsePrivate.h: Renamed from Source/WebCore/platform/chromium/support/WebURLResponsePrivate.h.

(WebKit):
(WebURLResponsePrivate):
(WebKit::WebURLResponsePrivate::WebURLResponsePrivate):

6:36 PM Changeset in webkit [112633] by abarth@webkit.org
  • 4 edits
    4 moves in trunk/Source

Unreviewed, rolling out r112579.
http://trac.webkit.org/changeset/112579
https://bugs.webkit.org/show_bug.cgi?id=82657

Does not compile in Windows component build

Source/WebCore:

  • WebCore.gypi:

Source/WebKit/chromium:

  • WebKit.gyp:
  • src/ResourceHandle.cpp: Renamed from Source/WebCore/platform/network/chromium/ResourceHandle.cpp.

(WebCore):
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
(WebCore::ResourceHandleInternal::start):
(WebCore::ResourceHandleInternal::cancel):
(WebCore::ResourceHandleInternal::setDefersLoading):
(WebCore::ResourceHandleInternal::allowStoredCredentials):
(WebCore::ResourceHandleInternal::willSendRequest):
(WebCore::ResourceHandleInternal::didSendData):
(WebCore::ResourceHandleInternal::didReceiveResponse):
(WebCore::ResourceHandleInternal::didDownloadData):
(WebCore::ResourceHandleInternal::didReceiveData):
(WebCore::ResourceHandleInternal::didReceiveCachedMetadata):
(WebCore::ResourceHandleInternal::didFinishLoading):
(WebCore::ResourceHandleInternal::didFail):
(WebCore::ResourceHandleInternal::FromResourceHandle):
(WebCore::ResourceHandle::ResourceHandle):
(WebCore::ResourceHandle::create):
(WebCore::ResourceHandle::firstRequest):
(WebCore::ResourceHandle::client):
(WebCore::ResourceHandle::setClient):
(WebCore::ResourceHandle::setDefersLoading):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::hasAuthenticationChallenge):
(WebCore::ResourceHandle::clearAuthentication):
(WebCore::ResourceHandle::cancel):
(WebCore::ResourceHandle::~ResourceHandle):
(WebCore::ResourceHandle::loadsBlocked):
(WebCore::ResourceHandle::loadResourceSynchronously):
(WebCore::ResourceHandle::willLoadFromCache):
(WebCore::ResourceHandle::cacheMetadata):

  • src/ResourceHandleInternal.h: Renamed from Source/WebCore/platform/network/chromium/ResourceHandleInternal.h.

(WebCore):
(ResourceHandleInternal):
(WebCore::ResourceHandleInternal::~ResourceHandleInternal):
(WebCore::ResourceHandleInternal::setOwner):
(WebCore::ResourceHandleInternal::request):
(WebCore::ResourceHandleInternal::client):
(WebCore::ResourceHandleInternal::setClient):
(WebCore::ResourceHandleInternal::loader):

  • src/WrappedResourceRequest.h: Renamed from Source/WebCore/platform/chromium/support/WrappedResourceRequest.h.

(WebKit):
(WrappedResourceRequest):
(WebKit::WrappedResourceRequest::~WrappedResourceRequest):
(WebKit::WrappedResourceRequest::WrappedResourceRequest):
(WebKit::WrappedResourceRequest::bind):
(Handle):
(WebKit::WrappedResourceRequest::Handle::dispose):

  • src/WrappedResourceResponse.h: Renamed from Source/WebCore/platform/chromium/support/WrappedResourceResponse.h.

(WebKit):
(WrappedResourceResponse):
(WebKit::WrappedResourceResponse::~WrappedResourceResponse):
(WebKit::WrappedResourceResponse::WrappedResourceResponse):
(WebKit::WrappedResourceResponse::bind):
(Handle):
(WebKit::WrappedResourceResponse::Handle::dispose):

6:34 PM Changeset in webkit [112632] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r112611.
http://trac.webkit.org/changeset/112611
https://bugs.webkit.org/show_bug.cgi?id=82676

Does not compile in Windows component build

  • WebCore.gyp/WebCore.gyp:
6:29 PM Changeset in webkit [112631] by cevans@google.com
  • 2 edits
    3 copies in branches/chromium/1025

Merge 112161
BUG=120189
Review URL: https://chromiumcodereview.appspot.com/9951003

6:22 PM Changeset in webkit [112630] by cevans@google.com
  • 2 edits
    2 copies in branches/chromium/1025

Merge 112012
BUG=119525
Review URL: https://chromiumcodereview.appspot.com/9958002

6:17 PM Changeset in webkit [112629] by commit-queue@webkit.org
  • 12 edits in trunk

Update shape-inside/shape-outside CSS Exclusion properties
https://bugs.webkit.org/show_bug.cgi?id=82365

Patch by Bear Travis <betravis@adobe.com> on 2012-03-29
Reviewed by Ryosuke Niwa.

Source/WebCore:

Updating CSS property names for wrap-shape-inside and wrap-shape-outside
to shape-inside and shape-outside, per the current exclusions spec.
Renaming some parsing functions in CSSParser for clarity.
No new functionality.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseClipShape):
(WebCore::CSSParser::parseExclusionShapeRect):
(WebCore::CSSParser::parseExclusionShapeCircle):
(WebCore::CSSParser::parseExclusionShapeEllipse):
(WebCore::CSSParser::parseExclusionShapePolygon):
(WebCore::CSSParser::parseExclusionShape):

  • css/CSSParser.h:
  • css/CSSProperty.cpp:

(WebCore::CSSProperty::isInheritedProperty):

  • css/CSSPropertyNames.in:
  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::collectMatchingRulesForList):

LayoutTests:

Renaming prefixed wrap-shape-inside and wrap-shape-outside
to prefixed shape-inside and shape-outside. Updating the
tests to reflect the change.

  • fast/exclusions/parsing-wrap-shape-inside-expected.txt:
  • fast/exclusions/parsing-wrap-shape-outside-expected.txt:
  • fast/exclusions/script-tests/parsing-wrap-shape-inside.js:

(testCSSText):
(testComputedStyle):
(testNotInherited):

  • fast/exclusions/script-tests/parsing-wrap-shape-outside.js:

(testCSSText):
(testComputedStyle):
(testNotInherited):

6:15 PM Changeset in webkit [112628] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[chromium] Update paths in GYP files
https://bugs.webkit.org/show_bug.cgi?id=82663

Patch by Ryan Sleevi <rsleevi@chromium.org> on 2012-03-29
Reviewed by Adam Barth.

  • WebCore.gypi:

Remove PluginDataGtk.cpp following r112401

6:14 PM Changeset in webkit [112627] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1025

Merge 111912
BUG=119230
Review URL: https://chromiumcodereview.appspot.com/9933006

6:01 PM Changeset in webkit [112626] by cevans@google.com
  • 6 edits
    2 copies
    1 delete in branches/chromium/1025

Merge 111601
BUG=118009
Review URL: https://chromiumcodereview.appspot.com/9949002

5:44 PM Changeset in webkit [112625] by dpranke@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, expectations changes.

fast/block/lineboxcontain/glyphs.html and
fast/text/international/spaces-combined-in-vertical-text.html on
mac

  • platform/chromium/test_expectations.txt:
5:36 PM Changeset in webkit [112624] by mhahnenberg@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

Refactor recompileAllJSFunctions() to be less expensive
https://bugs.webkit.org/show_bug.cgi?id=80330

Reviewed by Filip Pizlo.

This change is performance neutral on the JS benchmarks we track. It's mostly to improve page
load performance, which currently does at least a couple full GCs per navigation.

  • heap/Heap.cpp:

(JSC::Heap::discardAllCompiledCode): Rename recompileAllJSFunctions to discardAllCompiledCode
because the function doesn't actually recompile anything (and never did); it simply throws code
away for it to be recompiled later if we determine we should do so.
(JSC):
(JSC::Heap::collectAllGarbage):
(JSC::Heap::addFunctionExecutable): Adds a newly created FunctionExecutable to the Heap's list.
(JSC::Heap::removeFunctionExecutable): Removes the specified FunctionExecutable from the Heap's list.

  • heap/Heap.h:

(JSC):
(Heap):

  • runtime/Executable.cpp: Added next and prev fields to FunctionExecutables so that they can

be used in DoublyLinkedLists.
(JSC::FunctionExecutable::FunctionExecutable):
(JSC::FunctionExecutable::finalize): Removes the FunctionExecutable from the Heap's list.

  • runtime/Executable.h:

(FunctionExecutable):
(JSC::FunctionExecutable::create): Adds the FunctionExecutable to the Heap's list.

  • runtime/JSGlobalData.cpp: Remove recompileAllJSFunctions, as it's the Heap's job to own and manage

the list of FunctionExecutables.

  • runtime/JSGlobalData.h:

(JSGlobalData):

  • runtime/JSGlobalObject.cpp:

(JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope): Use the new discardAllCompiledCode.

5:33 PM Changeset in webkit [112623] by inferno@chromium.org
  • 5 edits in trunk/Source/WebCore

Crash in GenericEventQueue::~GenericEventQueue.
https://bugs.webkit.org/show_bug.cgi?id=81976

Reviewed by Eric Carlson.

  • dom/GenericEventQueue.cpp:

(WebCore::GenericEventQueue::create):
(WebCore):
(WebCore::GenericEventQueue::GenericEventQueue):
(WebCore::GenericEventQueue::enqueueEvent):
(WebCore::GenericEventQueue::timerFired):

  • dom/GenericEventQueue.h:

(GenericEventQueue):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::scheduleEvent):
(WebCore::HTMLMediaElement::updateActiveTextTrackCues):
(WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks):
(WebCore::HTMLMediaElement::hasPendingActivity):

  • html/HTMLMediaElement.h:

(HTMLMediaElement):

5:31 PM Changeset in webkit [112622] by dpranke@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, expectations updates.

  • platform/chromium/test_expectations.txt:
5:29 PM Changeset in webkit [112621] by cevans@google.com
  • 5 edits
    2 copies in branches/chromium/1025

Merge 112119
BUG=118803
Review URL: https://chromiumcodereview.appspot.com/9933004

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

Move to the WK1 skipped list (which WK2 picks up). The
bug on the skipping is https://bugs.webkit.org/show_bug.cgi?id=82679.

  • platform/mac-wk2/Skipped:
  • platform/mac/Skipped:
5:25 PM Changeset in webkit [112619] by mihaip@chromium.org
  • 2 edits in trunk/Tools

[Chromium] Add sharded ChromiumOS debug bots to builders.js
https://bugs.webkit.org/show_bug.cgi?id=82639

Reviewed by Eric Seidel.

The bots were sharded by http://crrev.com/129613, update builders.js
to reflect this.

  • TestResultServer/static-dashboards/builders.js:
5:23 PM Changeset in webkit [112618] by cevans@google.com
  • 3 edits
    2 copies in branches/chromium/1025

Merge 110307
BUG=114960
Review URL: https://chromiumcodereview.appspot.com/9941003

5:21 PM Changeset in webkit [112617] by noam.rosenthal@nokia.com
  • 4 edits in trunk/Source/WebKit2

[Qt][WK2] Direct composited image assignment doesn't work
https://bugs.webkit.org/show_bug.cgi?id=82525

Reviewed by Kenneth Rohde Christiansen.

We don't need to check whether the image or contentsRect are updated,
since assignImageToLayer is a cheap operation after the LayerBackingStore
refactor.

  • UIProcess/WebLayerTreeRenderer.cpp:

(WebKit::WebLayerTreeRenderer::setLayerChildren):
(WebKit::WebLayerTreeRenderer::setLayerState):
(WebKit::WebLayerTreeRenderer::renderNextFrame):

5:16 PM Changeset in webkit [112616] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Skip three flaky storage tests.

  • platform/mac/Skipped:
5:16 PM Changeset in webkit [112615] by commit-queue@webkit.org
  • 2 edits in trunk

Add new chrome.webkit GPU bot to flakiness dashboard.
https://bugs.webkit.org/show_bug.cgi?id=82562

Patch by Dave Tu <dtu@chromium.org> on 2012-03-29
Reviewed by Ojan Vafai.

  • Tools/TestResultServer/static-dashboards/builders.js:
5:14 PM Changeset in webkit [112614] by jamesr@google.com
  • 13 edits
    1 copy in branches/chromium/1084/Source

Merge 112364 - [chromium] Transfer wheel fling via WebCompositorInputHandlerClient
https://bugs.webkit.org/show_bug.cgi?id=81740

Patch by James Robinson <jamesr@chromium.org> on 2012-03-27
Reviewed by Adrienne Walker.

Source/WebCore:

Adds the ability to construct an in-progress PlatformGestureAnimation.

  • platform/ActivePlatformGestureAnimation.cpp:

(WebCore::ActivePlatformGestureAnimation::create):
(WebCore):
(WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):

  • platform/ActivePlatformGestureAnimation.h:

(ActivePlatformGestureAnimation):

  • platform/TouchpadFlingPlatformGestureCurve.cpp:

(WebCore::TouchpadFlingPlatformGestureCurve::create):
(WebCore::TouchpadFlingPlatformGestureCurve::TouchpadFlingPlatformGestureCurve):

  • platform/TouchpadFlingPlatformGestureCurve.h:

(TouchpadFlingPlatformGestureCurve):

Source/WebKit/chromium:

Adds a path for transfering an active wheel fling animation out to the embedder from the compositor and back in
to a WebViewImpl via the embedder. This is used when we start a wheel fling animation on the compositor thread
but then hit a condition that we can't handle from the compositor, such as registered wheel event listeners or a
scrollable area we can't handle.

New tests added to WebCompositorInputHandlerTest for the transfering logic.

  • public/WebActiveWheelFlingParameters.h: Copied from Source/WebKit/chromium/public/WebCompositorInputHandlerClient.h.

(WebKit):
(WebActiveWheelFlingParameters):
(WebKit::WebActiveWheelFlingParameters::WebActiveWheelFlingParameters):

  • public/WebCompositorInputHandlerClient.h:

(WebKit):
(WebCompositorInputHandlerClient):
(WebKit::WebCompositorInputHandlerClient::transferActiveWheelFlingAnimation):

  • public/WebView.h:

(WebKit):
(WebView):

  • src/WebCompositorInputHandlerImpl.cpp:

(WebKit::WebCompositorInputHandlerImpl::handleGestureFling):
(WebKit::WebCompositorInputHandlerImpl::animate):
(WebKit::WebCompositorInputHandlerImpl::cancelCurrentFling):
(WebKit::WebCompositorInputHandlerImpl::scrollBy):

  • src/WebCompositorInputHandlerImpl.h:

(WebCore):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::transferActiveWheelFlingAnimation):
(WebKit):

  • src/WebViewImpl.h:

(WebViewImpl):

  • tests/WebCompositorInputHandlerImplTest.cpp:

(WebKit::MockWebCompositorInputHandlerClient::MockWebCompositorInputHandlerClient):
(MockWebCompositorInputHandlerClient):
(WebKit::TEST):
(WebKit::WebCompositorInputHandlerImplTest::WebCompositorInputHandlerImplTest):
(WebKit::WebCompositorInputHandlerImplTest::~WebCompositorInputHandlerImplTest):
(WebCompositorInputHandlerImplTest):
(WebKit::TEST_F):
(WebKit):

TBR=commit-queue@webkit.org
BUG=118779
Review URL: https://chromiumcodereview.appspot.com/9931004

5:09 PM Changeset in webkit [112613] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[BlackBerry] DRT test case findString-markers is broken
https://bugs.webkit.org/show_bug.cgi?id=82661

Patch by Andy Chen <andchen@rim.com> on 2012-03-29
Reviewed by Rob Buis.

Fixed wrong paths to js libs for this test case.

  • platform/blackberry/editing/text-iterator/findString-markers.html:
5:09 PM Changeset in webkit [112612] by jamesr@google.com
  • 14 edits in branches/chromium/1084/Source

Merge 112360 - [chromium] Route monotonic clock up from compositor
https://bugs.webkit.org/show_bug.cgi?id=82154

Reviewed by James Robinson.

Source/Platform:

  • chromium/public/WebLayerTreeViewClient.h:

(WebLayerTreeViewClient):

Source/WebCore:

  • platform/graphics/chromium/cc/CCLayerTreeHost.cpp:

(WebCore::CCLayerTreeHost::updateAnimations):

  • platform/graphics/chromium/cc/CCLayerTreeHost.h:

(CCLayerTreeHost):

  • platform/graphics/chromium/cc/CCThreadProxy.cpp:

(WebCore::CCThreadProxy::scheduledActionBeginFrame):
(WebCore::CCThreadProxy::beginFrame):

  • platform/graphics/chromium/cc/CCThreadProxy.h:

(WebCore::CCThreadProxy::BeginFrameAndCommitState::BeginFrameAndCommitState):
(BeginFrameAndCommitState):

Source/WebKit/chromium:

  • public/WebWidget.h:

(WebKit::WebWidget::animate):

  • src/WebLayerTreeViewImpl.cpp:

(WebKit::WebLayerTreeViewImpl::updateAnimations):

  • src/WebLayerTreeViewImpl.h:

(WebLayerTreeViewImpl):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::animate):
(WebKit::WebViewImpl::updateAnimations):

  • src/WebViewImpl.h:

(WebViewImpl):

  • tests/FakeCCLayerTreeHostClient.h:

(WebCore::FakeCCLayerTreeHostClient::updateAnimations):

TBR=nduca@chromium.org
BUG=118779
Review URL: https://chromiumcodereview.appspot.com/9933003

5:00 PM Changeset in webkit [112611] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

[Chromium] Attempt to fix the component build
https://bugs.webkit.org/show_bug.cgi?id=82676

Unreviewed.

Now that we're implementing some of the WEBKIT_EXPORT symbols in
WebCore/platform/chromium/support, we need to tell the build system
that we want to actually export these symbols.

  • WebCore.gyp/WebCore.gyp:
4:46 PM Changeset in webkit [112610] by cevans@google.com
  • 1 edit in branches/chromium/1025/Source/WebCore/svg/SVGTRefElement.cpp

Merge 111556
BUG=118593
Review URL: https://chromiumcodereview.appspot.com/9937002

4:45 PM Changeset in webkit [112609] by jamesr@google.com
  • 11 edits in branches/chromium/1084/Source

Merge 112446 - [chromium] Scheduler should not tell FrameRateController to begin a frame when we dont swap
https://bugs.webkit.org/show_bug.cgi?id=82516

Reviewed by James Robinson.

Source/WebCore:

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::swapBuffers):

  • platform/graphics/chromium/LayerRendererChromium.h:

(LayerRendererChromium):

  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:

(WebCore::CCLayerTreeHostImpl::swapBuffers):

  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:

(CCLayerTreeHostImpl):

  • platform/graphics/chromium/cc/CCScheduler.cpp:

(WebCore::CCScheduler::processScheduledActions):

  • platform/graphics/chromium/cc/CCScheduler.h:

(WebCore::CCScheduledActionDrawAndSwapResult::CCScheduledActionDrawAndSwapResult):
(CCScheduledActionDrawAndSwapResult):
(WebCore):
(CCSchedulerClient):

  • platform/graphics/chromium/cc/CCThreadProxy.cpp:

(WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
(WebCore::CCThreadProxy::scheduledActionDrawAndSwapIfPossible):
(WebCore::CCThreadProxy::scheduledActionDrawAndSwapForced):

  • platform/graphics/chromium/cc/CCThreadProxy.h:

(CCThreadProxy):

Source/WebKit/chromium:

  • tests/CCSchedulerTest.cpp:

(WebKitTests::FakeCCSchedulerClient::reset):
(WebKitTests::FakeCCSchedulerClient::hasAction):
(FakeCCSchedulerClient):
(WebKitTests::FakeCCSchedulerClient::scheduledActionDrawAndSwapIfPossible):
(WebKitTests::FakeCCSchedulerClient::scheduledActionDrawAndSwapForced):
(WebKitTests::FakeCCSchedulerClient::setDrawWillHappen):
(WebKitTests::FakeCCSchedulerClient::setSwapWillHappenIfDrawHappens):
(WebKitTests::SchedulerClientThatSetNeedsDrawInsideDraw::scheduledActionDrawAndSwapIfPossible):
(WebKitTests::SchedulerClientThatSetNeedsDrawInsideDraw::scheduledActionDrawAndSwapForced):
(SchedulerClientThatSetNeedsDrawInsideDraw):
(WebKitTests::TEST):
(WebKitTests::SchedulerClientThatSetNeedsCommitInsideDraw::scheduledActionDrawAndSwapIfPossible):
(WebKitTests::SchedulerClientThatSetNeedsCommitInsideDraw::scheduledActionDrawAndSwapForced):
(SchedulerClientThatSetNeedsCommitInsideDraw):
(WebKitTests):

TBR=nduca@chromium.org
BUG=120406
Review URL: https://chromiumcodereview.appspot.com/9950004

4:45 PM Changeset in webkit [112608] by enrica@apple.com
  • 2 edits in trunk/LayoutTests

Skipping a failing test on Lion.
I filed https://bugs.webkit.org/show_bug.cgi?id=82675 to
track this issue.

  • platform/mac/Skipped:
4:38 PM Changeset in webkit [112607] by Lucas Forschler
  • 4 edits in trunk/Source

Versioning.

4:38 PM Changeset in webkit [112606] by jamesr@google.com
  • 2 edits in branches/chromium/1084/Source/WebKit/chromium

Merge 112417 - [chromium] Compositor visibility setting must be updated even if not actively compositing
https://bugs.webkit.org/show_bug.cgi?id=82406

Patch by James Robinson <jamesr@chromium.org> on 2012-03-28
Reviewed by Adrienne Walker.

Propagate the visibility bit to the WebLayerTreeView even when compositing is inactive.

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::setVisibilityState):

TBR=commit-queue@webkit.org
BUG=120464, 119812
Review URL: https://chromiumcodereview.appspot.com/9951001

4:37 PM Changeset in webkit [112605] by cevans@google.com
  • 2 edits
    2 copies in branches/chromium/1025

Merge 111899
BUG=117728
Review URL: https://chromiumcodereview.appspot.com/9930007

4:29 PM Changeset in webkit [112604] by dpranke@chromium.org
  • 3 edits in trunk/LayoutTests

Unreviewed, expectations and baselines updates.

  • platform/chromium-mac/fast/block/lineboxcontain/block-glyphs-replaced-expected.txt:
  • platform/chromium/test_expectations.txt:
4:29 PM Changeset in webkit [112603] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1025

Merge 110487
BUG=117724
Review URL: https://chromiumcodereview.appspot.com/9948001

4:28 PM Changeset in webkit [112602] by Lucas Forschler
  • 1 copy in tags/Safari-536.5

New Tag.

4:19 PM Changeset in webkit [112601] by jamesr@google.com
  • 2 edits in branches/chromium/1084/Source/WebKit/chromium

Merge 112363 - [chromium] Send wheel events to main thread even if we think nothing is scrollable
https://bugs.webkit.org/show_bug.cgi?id=82408

Patch by James Robinson <jamesr@chromium.org> on 2012-03-27
Reviewed by Adrienne Walker.

  • src/WebCompositorInputHandlerImpl.cpp:

(WebKit::WebCompositorInputHandlerImpl::handleInputEventInternal):

TBR=commit-queue@webkit.org
BUG=119984
Review URL: https://chromiumcodereview.appspot.com/9941001

4:18 PM Changeset in webkit [112600] by mitz@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Restored change log entries that were accidentally deleted in r104276

4:17 PM Changeset in webkit [112599] by Nate Chapin
  • 6 edits in trunk/Source/WebCore

Simplify reporting a main resource error to DocumentLoader and
FrameLoader.
https://bugs.webkit.org/show_bug.cgi?id=82649

Reviewed by Adam Barth.

No new tests, no functionality change intended.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::mainReceivedError): Remove isComplete parameter,

since it was always true. Call FrameLoader::receivedMainResourceError,
instead of the other way around.

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

(WebCore::FrameLoader::receivedMainResourceError): Remove isComplete parameter,

since it was always true. Merge in most of mainReceivedCompleteError().

  • loader/FrameLoader.h:
  • loader/MainResourceLoader.cpp:

(WebCore::MainResourceLoader::receivedError):
(WebCore::MainResourceLoader::didCancel):

4:16 PM Changeset in webkit [112598] by dpranke@chromium.org
  • 3 edits in trunk/Tools

remove support for junit-style xml output from test-webkitpy
https://bugs.webkit.org/show_bug.cgi?id=82279

Reviewed by Eric Seidel.

This was added when we were looking into integrating w/ Jenkins
rather than buildbot, but I believe that project got shelved, so
this is unused. We can always add it back in later as necessary.

  • Scripts/webkitpy/test/main.py:

(Tester._parse_args):
(Tester._run_tests):

  • Scritps/webkitpy/thirdparty/init.py:
4:09 PM Changeset in webkit [112597] by cevans@google.com
  • 1 edit in branches/chromium/1025/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm

Merge 111813
BUG=118185
Review URL: https://chromiumcodereview.appspot.com/9939001

4:03 PM Changeset in webkit [112596] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Heap-use-after-free in WebCore::InlineFlowBox::deleteLine due to fullscreen issues.
https://bugs.webkit.org/show_bug.cgi?id=82055

Reviewed by David Hyatt.

No new tests; fixes fuzz test crasher which is not reproducible in DRT or WKTR.

When a RenderFullScreen object is inserted between a child and parent renderer, make sure the
parent renderer deletes its line boxes by calling setNeedsLayoutAndPrefWidthsRecalc(). This
forces its InlineBox renderers to be removed from the line boxes and their parents in the correct
order, fixing a double-delete crash.

The same is true when unwrapping the RenderFullScreen object, and when creating and inserting
the full screen placeholder.

  • rendering/RenderFullScreen.cpp:

(RenderFullScreen::wrapRenderer):
(RenderFullScreen::unwrapRenderer):
(RenderFullScreen::createPlaceholder):

4:01 PM Changeset in webkit [112595] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Unreviewed build fix for non-x86 platforms.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileSoftModulo):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):

  • jit/JITArithmetic32_64.cpp:

(JSC::JIT::emitSlow_op_mod):

3:53 PM Changeset in webkit [112594] by dpranke@chromium.org
  • 3 edits in trunk/Tools

new-run-webkit-tests: crashes when it fails to decode a stack trace
https://bugs.webkit.org/show_bug.cgi?id=82673

Unreviewed, build fix.

We are assuming the stdout/stderr output from the driver is utf-8
encoded when we get stack traces; this may not be a valid
assumption generally, but if we do get strings that aren't valid
utf-8, we would crash. Now we will ignore any decoding errors.

  • Scripts/webkitpy/layout_tests/port/base.py:

(Port._get_crash_log):

  • Scripts/webkitpy/layout_tests/port/port_testcase.py:

(PortTestCase.test_get_crash_log):

3:50 PM Changeset in webkit [112593] by enrica@apple.com
  • 2 edits in trunk/LayoutTests

Skipping http/tests/xmlhttprequest/range-test.html for Mac platforms.
I filed https://bugs.webkit.org/show_bug.cgi?id=82672

  • platform/mac/Skipped:
3:45 PM Changeset in webkit [112592] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebCore

Get rid of Geolocation::positionChangedInternal(), use positionChanged() directly
https://bugs.webkit.org/show_bug.cgi?id=82543

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-03-29
Reviewed by Andreas Kling.

After the change to client based geolocation, the method positionChangedInternal()
is called only by positionChanged(). This patch remove this extra indirection.

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::positionChanged):

  • Modules/geolocation/Geolocation.h:

(Geolocation):

  • WebCore.order:
3:44 PM Changeset in webkit [112591] by ojan@chromium.org
  • 6 edits
    7 copies
    1 move
    13 adds
    3 deletes in trunk/LayoutTests

Rebaseline fast/js tests for Chromium where the new results are
clearly more correct or the differences are just the error messages
V8 uses that are different from JSCs.

  • platform/chromium-linux-x86/fast/js/large-expressions-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/js/large-expressions-expected.txt.
  • platform/chromium-linux/fast/js/large-expressions-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/js/large-expressions-expected.txt.
  • platform/chromium-mac-leopard/fast/js/large-expressions-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/js/large-expressions-expected.txt.
  • platform/chromium-mac-snowleopard/fast/js/large-expressions-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/js/large-expressions-expected.txt.
  • platform/chromium-mac/fast/js/large-expressions-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/js/large-expressions-expected.txt.
  • platform/chromium-win-vista/fast/js/large-expressions-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/js/large-expressions-expected.txt.
  • platform/chromium-win-xp/fast/js/large-expressions-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/js/large-expressions-expected.txt.
  • platform/chromium-win/fast/js/large-expressions-expected.txt:
  • platform/chromium/fast/js/JSON-parse-expected.txt:
  • platform/chromium/fast/js/JSON-stringify-replacer-expected.txt: Added.
  • platform/chromium/fast/js/Object-create-expected.txt: Added.
  • platform/chromium/fast/js/Object-defineProperties-expected.txt: Added.
  • platform/chromium/fast/js/exception-codegen-crash-expected.txt: Removed.
  • platform/chromium/fast/js/function-apply-aliased-expected.txt: Renamed from LayoutTests/platform/chromium-win/fast/js/function-apply-aliased-expected.txt.
  • platform/chromium/fast/js/function-bind-expected.txt: Added.
  • platform/chromium/fast/js/kde/parse-expected.txt:
  • platform/chromium/fast/js/object-literal-syntax-expected.txt: Added.
  • platform/chromium/fast/js/object-prototype-properties-expected.txt: Added.
  • platform/chromium/fast/js/regexp-caching-expected.txt: Removed.
  • platform/chromium/fast/js/regexp-test-null-string-expected.txt: Removed.
  • platform/chromium/fast/js/reserved-words-as-property-expected.txt: Added.
  • platform/chromium/fast/js/reserved-words-strict-expected.txt:
  • platform/chromium/test_expectations.txt:
3:42 PM Changeset in webkit [112590] by enrica@apple.com
  • 2 edits in trunk/LayoutTests

Skipping 3 inspector tests on Mac.
I filed https://bugs.webkit.org/show_bug.cgi?id=82671

  • platform/mac/Skipped:
3:32 PM Changeset in webkit [112589] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

InputType attribute changed functions should happen after the attribute change
https://bugs.webkit.org/show_bug.cgi?id=82644

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2012-03-29
Reviewed by Benjamin Poulain.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::parseAttribute):

3:32 PM Changeset in webkit [112588] by dpranke@chromium.org
  • 2 edits
    1 delete in trunk/LayoutTests

Update expectations w/ crash information after r129689 has landed.

Unreviewed, expectations change.

Also delete what appears to be a bad baseline for the fast/text test.

  • platform/chromium/fast/text/international/spaces-combined-in-vertical-text-expected.txt: Removed.
  • platform/chromium/test_expectations.txt:
3:21 PM Changeset in webkit [112587] by commit-queue@webkit.org
  • 9 edits in trunk

Update CSS Exclusion wrap-flow values left & right to start & end
https://bugs.webkit.org/show_bug.cgi?id=82366

Source/WebCore:

http://dev.w3.org/csswg/css3-exclusions/
-webkit-wrap-flow now takes the values start and end rather than
left and right. Updating the code to reflect this. Functionality
is covered by existing tests.

Patch by Bear Travis <betravis@adobe.com> on 2012-03-29
Reviewed by Andreas Kling.

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator WrapFlow):

  • rendering/style/RenderStyleConstants.h:

LayoutTests:

Updating test values for the wrap-flow and wrap shorthand property

Patch by Bear Travis <betravis@adobe.com> on 2012-03-29
Reviewed by Andreas Kling.

  • fast/exclusions/script-tests/wrap-flow-parsing.js:
  • fast/exclusions/script-tests/wrap-parsing.js:
  • fast/exclusions/wrap-flow-parsing-expected.txt:
  • fast/exclusions/wrap-parsing-expected.txt:
3:19 PM Changeset in webkit [112586] by enrica@apple.com
  • 2 edits in trunk/LayoutTests

Skipping plugin mouse events tests failing on Mac platforms.
The issue is tracked by https://bugs.webkit.org/show_bug.cgi?id=82668

  • platform/mac/Skipped:
3:11 PM Changeset in webkit [112585] by enrica@apple.com
  • 2 edits in trunk/LayoutTests

Skipping 5 failing webarchive tests.
I filed https://bugs.webkit.org/show_bug.cgi?id=82665

  • platform/mac/Skipped:
3:10 PM Changeset in webkit [112584] by dpranke@chromium.org
  • 9 edits
    2 deletes in trunk

Source/WebCore: rollout r112484, r112545, r112574
https://bugs.webkit.org/show_bug.cgi?id=82662

Unreviewed, build fix.

this appears to be producing some questionable differences on
the apple mac bots, and possibly one test on chromium linux.

  • css/mediaControls.css:

(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):

  • css/mediaControlsChromium.css:

(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
(audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):

  • html/shadow/MediaControlElements.cpp:

(RenderMediaVolumeSliderContainer):
(WebCore):
(WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
(WebCore::RenderMediaVolumeSliderContainer::layout):
(WebCore::MediaControlVolumeSliderContainerElement::createRenderer):

  • html/shadow/MediaControlElements.h:

(MediaControlVolumeSliderContainerElement):

  • html/shadow/MediaControlRootElementChromium.cpp:

(WebCore::MediaControlRootElementChromium::create):

LayoutTests: rollout r112484, r112545, r112574, r112575
https://bugs.webkit.org/show_bug.cgi?id=82662

Unreviewed, build fix.

  • media/video-controls-rendering-toggle-display-none-expected.txt: Removed.
  • media/video-controls-rendering-toggle-display-none.html: Removed.
  • platform/chromium/test_expectations.txt:
  • platform/mac/Skipped.txt:
2:59 PM Changeset in webkit [112583] by enrica@apple.com
  • 2 edits in trunk/LayoutTests

Skipping crashing workers tests.
Filed https://bugs.webkit.org/show_bug.cgi?id=82660 to track the issue.

  • platform/mac/Skipped:
2:55 PM Changeset in webkit [112582] by jchaffraix@webkit.org
  • 14 edits
    8 adds in trunk

REGRESSION (r110065-r110080): Content drawing outside overflow: hidden at ynet.co.il
https://bugs.webkit.org/show_bug.cgi?id=82129

Reviewed by Ojan Vafai.

Source/WebCore:

Tests: fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb-expected.html

fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb.html
fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl-expected.html
fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl.html
fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb-expected.html
fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb.html
fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl-expected.html
fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl.html

This is a regression from r110072. I wrongly thought we should call ensureLayer if we create our RenderOverflow.
However the current overflow code removes the before and start overflows (like in horizontal writing mode with ltr direction,
we never have a top or a left overflow). Because of that we would not get a RenderLayer as expected and the overflow clip rects
would be wrong on our RenderLayer children.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::addLayoutOverflow):
Moved the ensureLayer() call after the check that we do have some overflow but before we remove the overflow in some directions.

LayoutTests:

  • fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb-expected.html: Added.
  • fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb.html: Added.
  • fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl-expected.html: Added.
  • fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl.html: Added.
  • fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb-expected.html: Added.
  • fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb.html: Added.
  • fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl-expected.html: Added.
  • fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl.html: Added.

Added 4 ref tests that should cover the 4 different values of (hasTopOverflow, hasLeftOverflow)
in RenderBox::addLayoutOverflow.

  • platform/chromium-linux/fast/box-shadow/shadow-buffer-partial-expected.txt:
  • platform/chromium-win/fast/block/lineboxcontain/block-font-expected.txt:
  • platform/chromium-win/fast/block/lineboxcontain/block-glyphs-expected.txt:
  • platform/chromium-win/fast/block/lineboxcontain/font-expected.txt:

Rebaselined those tests on Chromium linux (new layers).

  • platform/chromium/test_expectations.txt:
  • platform/efl/Skipped:
  • platform/gtk/Skipped:
  • platform/mac/Skipped:
  • platform/qt/Skipped:
  • platform/win/Skipped:
  • platform/wk2/Skipped:

Skipped the previous tests on the other platforms.

2:51 PM Changeset in webkit [112581] by cevans@google.com
  • 5 edits
    2 copies in branches/chromium/1025

Merge 111895
BUG=118273
Review URL: https://chromiumcodereview.appspot.com/9910031

2:48 PM Changeset in webkit [112580] by Simon Fraser
  • 2 edits in trunk/Tools

Scripts fail to detect when a tool crashes
https://bugs.webkit.org/show_bug.cgi?id=82659

Reviewed by Mark Rowe.

Have exitStatus() detect when the process fail to exit cleanly
(possibly because of a crash), and return a non-zero exit code
in that case.

  • Scripts/VCSUtils.pm:

(exitStatus):

2:44 PM Changeset in webkit [112579] by abarth@webkit.org
  • 4 edits
    4 moves in trunk/Source

[Chromium] Move ResourceHandle to WebCore/platform/network/chromium
https://bugs.webkit.org/show_bug.cgi?id=82657

Reviewed by James Robinson.

Source/WebCore:

We finally arive at our destination. This patch actually moves
WebCore::ResourceHandle from Source/WebKit/chromium/src to
Source/WebCore/network/chromium, matching its location in other ports.
To make this happen, we also need to move WrappedResourceRequest and
WrappedResourceResponse.

This patch is the last patch from
https://github.com/abarth/webkit/compare/master...webcore-platform

  • WebCore.gypi:
  • platform/chromium/support/WrappedResourceRequest.h: Copied from Source/WebKit/chromium/src/WrappedResourceRequest.h.
  • platform/chromium/support/WrappedResourceResponse.h: Copied from Source/WebKit/chromium/src/WrappedResourceResponse.h.
  • platform/network/chromium/ResourceHandle.cpp: Copied from Source/WebKit/chromium/src/ResourceHandle.cpp.

(WebCore::ResourceHandleInternal::ResourceHandleInternal):
(WebCore::ResourceHandleInternal::start):
(WebCore::ResourceHandle::loadResourceSynchronously):
(WebCore::ResourceHandle::cacheMetadata):

  • platform/network/chromium/ResourceHandleInternal.h: Copied from Source/WebKit/chromium/src/ResourceHandleInternal.h.

Source/WebKit/chromium:

  • WebKit.gyp:
  • src/ResourceHandle.cpp: Removed.
  • src/ResourceHandleInternal.h: Removed.
  • src/WrappedResourceRequest.h: Removed.
  • src/WrappedResourceResponse.h: Removed.
2:26 PM Changeset in webkit [112578] by tony@chromium.org
  • 3 edits in trunk/LayoutTests

remove ahem font from flexbox layout tests
https://bugs.webkit.org/show_bug.cgi?id=82633

Reviewed by Ojan Vafai.

These tests don't depend on the ahem font and after r112489, we seem
to be hitting a race condition on the Mac bots where we are checking
baselines while the font is still being loaded. Speculatively fix by
removing the webfont.

  • css3/flexbox/flex-align-vertical-writing-mode.html:
  • css3/flexbox/flex-align.html:
2:24 PM Changeset in webkit [112577] by Patrick Gansterer
  • 2 edits in trunk/Source/WebCore

Build fix for WinCE after r112555.

  • platform/text/wince/TextCodecWinCE.cpp:

(WebCore::LanguageManager::LanguageManager):

2:20 PM Changeset in webkit [112576] by dslomov@google.com
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] WorkerFileSystemContextObserver can reference a deleted WorkerFileSystemCallbacksBridge.
https://bugs.webkit.org/show_bug.cgi?id=82565

WorkerFileSystemCallbacksBridge relies on a cleanUpAfterCallback being called
prior to the disposal of the bridge to ensure that WorkerFileSystemContextObserver
is unsubscribed and deleted. However cleanUpAfterCallback will only execute if the bridge's
callback has executed on the worker thread, and this might not be the case if the worker
terminates.

This patch fixes this by maintaining a RefPtr from WorkerFileSystemContextObserver to
WorkerFileSystemCallbacksBridge. This ensures that bridge is not deleted while observer is alive.

Reviewed by David Levin.

  • src/WorkerFileSystemCallbacksBridge.cpp:

(WebKit::WorkerFileSystemContextObserver::create):
(WebKit::WorkerFileSystemContextObserver::WorkerFileSystemContextObserver):
(WorkerFileSystemContextObserver):

2:16 PM Changeset in webkit [112575] by enrica@apple.com
  • 3 edits in trunk/LayoutTests

Moving test to skip from test-expectations.txt to Skipped
for Mac platform.

  • platform/mac/Skipped:
  • platform/mac/test_expectations.txt:
2:02 PM Changeset in webkit [112574] by dpranke@chromium.org
  • 2 edits in trunk/LayoutTests

Update expectations for media tests failing w/ slider change after r112484.

Unreviewed, expectations change.

  • platform/chromium/test_expectations.txt:
1:57 PM Changeset in webkit [112573] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Images that reload via media queries don't paint when device scale factor changes
https://bugs.webkit.org/show_bug.cgi?id=82648
<rdar://problem/11143637>

Reviewed by Beth Dakin.

Commit scale factor changes before dirty rect changes, since setting the scale factor
can lead to more rects being dirtied when using the tile cache.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):

1:52 PM Changeset in webkit [112572] by abarth@webkit.org
  • 5 edits
    9 moves
    1 add in trunk/Source

Move CPP files related to ResourceHandle to WebCore/platform
https://bugs.webkit.org/show_bug.cgi?id=82582

Reviewed by James Robinson.

Source/WebCore:

This patch moves a number of files that implement parts of the platform
portion of the Chromium WebKit API from the WebKit layer to
WebCore/platform. These files are in the dependency cone of
ResourceHandle and have no dependencies on anything outside
WebCore/platform.

  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • platform/chromium/support: Added.
  • platform/chromium/support/WebData.cpp: Copied from Source/WebKit/chromium/src/WebData.cpp.
  • platform/chromium/support/WebHTTPBody.cpp: Copied from Source/WebKit/chromium/src/WebHTTPBody.cpp.
  • platform/chromium/support/WebHTTPLoadInfo.cpp: Copied from Source/WebKit/chromium/src/WebHTTPLoadInfo.cpp.
  • platform/chromium/support/WebURL.cpp: Copied from Source/WebKit/chromium/src/WebURL.cpp.
  • platform/chromium/support/WebURLError.cpp: Copied from Source/WebKit/chromium/src/WebURLError.cpp.
  • platform/chromium/support/WebURLRequest.cpp: Copied from Source/WebKit/chromium/src/WebURLRequest.cpp.
  • platform/chromium/support/WebURLRequestPrivate.h: Copied from Source/WebKit/chromium/src/WebURLRequestPrivate.h.
  • platform/chromium/support/WebURLResponse.cpp: Copied from Source/WebKit/chromium/src/WebURLResponse.cpp.
  • platform/chromium/support/WebURLResponsePrivate.h: Copied from Source/WebKit/chromium/src/WebURLResponsePrivate.h.

Source/WebKit/chromium:

  • WebKit.gyp:
  • src/WebData.cpp: Removed.
  • src/WebHTTPBody.cpp: Removed.
  • src/WebHTTPLoadInfo.cpp: Removed.
  • src/WebURL.cpp: Removed.
  • src/WebURLError.cpp: Removed.
  • src/WebURLRequest.cpp: Removed.
  • src/WebURLRequestPrivate.h: Removed.
  • src/WebURLResponse.cpp: Removed.
  • src/WebURLResponsePrivate.h: Removed.
1:46 PM Changeset in webkit [112571] by ap@apple.com
  • 3 edits in trunk/Source/WebKit/mac

[Mac] REGRESSION: Removing translation of local paths in KURL constructor broke some applications
https://bugs.webkit.org/show_bug.cgi?id=82548
<rdar://problem/11125355>
<rdar://problem/11142152>

Reviewed by Brady Eidson.

  • WebView/WebFrame.mm: (-[WebFrame loadRequest:]): Fixed this bug. (-[WebFrame loadHTMLString:baseURL:]): Also added translation to another API, so that I don't have to come back again. (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]): Ditto.
  • WebView/WebView.mm: (-[WebView setMainFrameURL:]): Changed another place where clients used to pass file paths instead of URLs.
1:39 PM Changeset in webkit [112570] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

Unreviewed, rolling out r111259.
http://trac.webkit.org/changeset/111259
https://bugs.webkit.org/show_bug.cgi?id=82650

Caused selection regression in calculations due to
misconstructed IntRectRegion. (Requested by mfenton on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-03-29

  • WebKitSupport/SelectionHandler.cpp:

(BlackBerry::WebKit::SelectionHandler::getConsolidatedRegionOfTextQuadsForSelection):

1:37 PM Changeset in webkit [112569] by barraclough@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Windows build fix p2.

1:36 PM Changeset in webkit [112568] by commit-queue@webkit.org
  • 7 edits in trunk/Source

[chromium] Ensure framebuffer exists at the start of beginDrawingFrame.
https://bugs.webkit.org/show_bug.cgi?id=82569

Patch by Michal Mocny <mmocny@google.com> on 2012-03-29
Reviewed by James Robinson.

Source/WebCore:

Updated LayerRendererChromiumTest unittests.

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::setVisible):
(WebCore::LayerRendererChromium::beginDrawingFrame):

  • platform/graphics/chromium/LayerRendererChromium.h:
  • platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:

(WebCore::CCSingleThreadProxy::compositeAndReadback):

  • platform/graphics/chromium/cc/CCThreadProxy.cpp:

(WebCore::CCThreadProxy::compositeAndReadback):
(WebCore::CCThreadProxy::requestReadbackOnImplThread):

Source/WebKit/chromium:

  • tests/LayerRendererChromiumTest.cpp:

(FakeLayerRendererChromiumClient::FakeLayerRendererChromiumClient):
(FakeLayerRendererChromiumClient::rootLayer):
(FakeLayerRendererChromiumClient):
(TEST_F):

1:31 PM Changeset in webkit [112567] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK][EFL] run-javascriptcore-tests should be run through jhbuild
https://bugs.webkit.org/show_bug.cgi?id=82581

Patch by Dominik Röttsches <dominik.rottsches@linux.intel.com> on 2012-03-29
Reviewed by Martin Robinson.

Running Javascriptcore tests through jhbuild
for consistency with run-webkit-tests and in order to
avoid confusing libraries when facing regressions.

  • Scripts/run-javascriptcore-tests:
1:20 PM Changeset in webkit [112566] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

Add a compile assert for the size of RenderBlock
https://bugs.webkit.org/show_bug.cgi?id=82586

Reviewed by Tony Chang.

Add compile asserts for the size of RenderBlock and RenderBlock::MarginValues.
We can't add asserts for FloatingObject and MarginInfo because they're private to RenderBlock.

  • rendering/RenderBlock.cpp:

(SameSizeAsRenderBlock):
(WebCore):
(WebCore::RenderBlock::addOverflowFromFloats):
(WebCore::RenderBlock::repaintOverhangingFloats):
(WebCore::RenderBlock::paintFloats):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::clearFloats):
(WebCore::RenderBlock::addOverhangingFloats):
(WebCore::RenderBlock::addIntrudingFloats):
(WebCore::RenderBlock::hitTestFloats):
(WebCore::RenderBlock::adjustForBorderFit):

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::FloatingObject::shouldPaint):
(WebCore::RenderBlock::FloatingObject::setShouldPaint):
(WebCore::RenderBlock::FloatingObject::isDescendant):
(WebCore::RenderBlock::FloatingObject::setIsDescendant):
(FloatingObject):
(RenderBlock):

1:16 PM Changeset in webkit [112565] by barraclough@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Windows build fix p1.

1:16 PM Changeset in webkit [112564] by barraclough@apple.com
  • 8 edits in trunk/Source

Template the Yarr::Interpreter on the character type
https://bugs.webkit.org/show_bug.cgi?id=82637

Reviewed by Sam Weinig.

We should be able to call to the interpreter after having already checked the character type,
without having to re-package the character pointer back up into a string!

../JavaScriptCore:

  • runtime/RegExp.cpp:

(JSC::RegExp::match):
(JSC::RegExp::matchCompareWithInterpreter):

  • Don't pass length.
  • yarr/Yarr.h:
    • moved function declarations to YarrInterpreter.h.
  • yarr/YarrInterpreter.cpp:

(Yarr):
(Interpreter):
(JSC::Yarr::Interpreter::InputStream::InputStream):
(InputStream):
(JSC::Yarr::Interpreter::Interpreter):
(JSC::Yarr::interpret):

  • templated Interpreter class on CharType.
  • yarr/YarrInterpreter.h:

(Yarr):

  • added function declarations.

../WebCore:

  • inspector/ContentSearchUtils.cpp:

(WebCore::ContentSearchUtils::findMagicComment):

  • platform/text/RegularExpression.cpp:

(WebCore::RegularExpression::match):

  • Don't pass length.
12:48 PM Changeset in webkit [112563] by abarth@webkit.org
  • 5 edits
    2 adds in trunk/Source

Source/Platform: [Chromium] Move createURLLoader() into Platform
https://bugs.webkit.org/show_bug.cgi?id=82587

Reviewed by James Robinson.

This patch introduces a base class for WebKitPlatformSupport that we
can use to incrementally more APIs from WebKit/chromium/public/platform
into Platform/chromium/public. Using this technique lets us avoid
making changes in the embedder during the transition.

This patch moves createURLLoader() because it's necessary for
ResourceHandle. This is the third patch in this sequence:
https://github.com/abarth/webkit/compare/master...webcore-platform

  • Platform.gypi:
  • chromium/public/Platform.h: Added.

(WebKit):
(Platform):
(WebKit::Platform::createURLLoader):
(WebKit::Platform::~Platform):

  • chromium/src/Platform.cpp: Added.

(WebKit):
(WebKit::Platform::initialize):
(WebKit::Platform::shutdown):
(WebKit::Platform::current):

Source/WebKit/chromium: Move createURLLoader() into Platform
https://bugs.webkit.org/show_bug.cgi?id=82587

Reviewed by James Robinson.

  • public/platform/WebKitPlatformSupport.h:

(WebKit):
(WebKitPlatformSupport):

  • src/WebKit.cpp:

(WebKit::initializeWithoutV8):
(WebKit::shutdown):

12:37 PM Changeset in webkit [112562] by ddkilzer@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Don't use a flattened framework path when building on OS X

Reviewed by Mark Rowe.

  • Configurations/ToolExecutable.xcconfig: Use REAL_PLATFORM_NAME

to select different INSTALL_PATH values.

12:29 PM Changeset in webkit [112561] by dpranke@chromium.org
  • 4 edits in trunk/Tools

test-webkitpy: add --timing
https://bugs.webkit.org/show_bug.cgi?id=82550

Reviewed by Eric Seidel.

This patch adds a --timing option that will display the time
each test takes. It also removes the --silent option, since
probably no one ever used it, and cleans up the logging
option parsing code to be easier to follow.

  • Scripts/webkitpy/test/main.py:

(Tester._parse_args):
(Tester._configure):

  • Scripts/webkitpy/test/runner.py:

(TestRunner.write_result):

  • Scripts/webkitpy/test/runner_unittest.py:

(RunnerTest.test_regular):
(RunnerTest.test_verbose):
(RunnerTest):
(RunnerTest.test_timing):

12:25 PM Changeset in webkit [112560] by kevino@webkit.org
  • 8 edits in trunk

[wx] Unreviewed. wxMSW build fixes.

12:25 PM Changeset in webkit [112559] by Csaba Osztrogonác
  • 31 edits in trunk/Source

Unreviewed, rolling out r112553.
http://trac.webkit.org/changeset/112553
https://bugs.webkit.org/show_bug.cgi?id=82638

It made all tests crash on Qt WK2 (Requested by Ossy_away on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-03-29

Source/WebCore:

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::stop):
(WebCore::Geolocation::lastPosition):
(WebCore::Geolocation::requestPermission):
(WebCore::Geolocation::startUpdating):
(WebCore::Geolocation::stopUpdating):

  • Modules/geolocation/Geolocation.h:

(WebCore):

  • Modules/geolocation/GeolocationController.cpp:
  • Modules/geolocation/GeolocationController.h:
  • WebCore.exp.in:
  • page/GeolocationClient.h:

(WebCore):
(GeolocationClient):

  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::PageClients::PageClients):

  • page/Page.h:

(WebCore):
(PageClients):
(Page):
(WebCore::Page::geolocationController):

Source/WebKit/blackberry:

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::init):

  • WebCoreSupport/GeolocationControllerClientBlackBerry.cpp:

(GeolocationControllerClientBlackBerry::onLocationUpdate):
(GeolocationControllerClientBlackBerry::onLocationError):

  • WebKitSupport/DumpRenderTreeSupport.cpp:

(DumpRenderTreeSupport::numberOfPendingGeolocationPermissionRequests):
(DumpRenderTreeSupport::resetGeolocationMock):
(DumpRenderTreeSupport::setMockGeolocationError):
(DumpRenderTreeSupport::setMockGeolocationPermission):
(DumpRenderTreeSupport::setMockGeolocationPosition):

Source/WebKit/chromium:

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::WebViewImpl):

Source/WebKit/gtk:

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::resetGeolocationClientMock):
(DumpRenderTreeSupportGtk::setMockGeolocationPermission):
(DumpRenderTreeSupportGtk::setMockGeolocationPosition):
(DumpRenderTreeSupportGtk::setMockGeolocationError):
(DumpRenderTreeSupportGtk::numberOfPendingGeolocationPermissionRequests):

  • WebCoreSupport/GeolocationClientGtk.cpp:

(WebKit::GeolocationClient::updatePosition):
(WebKit::GeolocationClient::errorOccured):

  • webkit/webkitwebview.cpp:

(webkit_web_view_init):

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _geolocationDidChangePosition:]):
(-[WebView _geolocationDidFailWithError:]):

Source/WebKit/qt:

  • Api/qwebpage.cpp:

(QWebPagePrivate::QWebPagePrivate):

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::resetGeolocationMock):
(DumpRenderTreeSupportQt::setMockGeolocationPermission):
(DumpRenderTreeSupportQt::setMockGeolocationPosition):
(DumpRenderTreeSupportQt::setMockGeolocationError):
(DumpRenderTreeSupportQt::numberOfPendingGeolocationPermissionRequests):

  • WebCoreSupport/GeolocationClientQt.cpp:

(WebCore::GeolocationClientQt::positionUpdated):
(WebCore::GeolocationClientQt::startUpdating):

Source/WebKit/win:

  • WebView.cpp:

(WebView::initWithFrame):
(WebView::geolocationDidChangePosition):
(WebView::geolocationDidFailWithError):

Source/WebKit2:

  • WebProcess/Geolocation/WebGeolocationManager.cpp:

(WebKit::WebGeolocationManager::didChangePosition):
(WebKit::WebGeolocationManager::didFailToDeterminePosition):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::setGeoLocationPermission):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

12:22 PM Changeset in webkit [112558] by kevino@webkit.org
  • 3 edits in trunk/Source/WTF

[wx] Unreviewed build fix. Add WTF_EXPORT_PRIVATE_NO_RTTI
so that ports not using RTTI can add symbol exports to
classes that RTTI ports export with WTF_EXPORT_PRIVATE_RTTI.

12:09 PM Changeset in webkit [112557] by aestes@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Remove an unused variable that breaks the build with newer versions of clang.

Rubber stamped by Gavin Barraclough.

  • yarr/YarrJIT.cpp:

(JSC::Yarr::YarrGenerator::backtrackCharacterClassNonGreedy):

12:01 PM Changeset in webkit [112556] by enrica@apple.com
  • 4 edits in trunk/LayoutTests

Updating expected results. The output has an additional blank line.
No changes in the actual results.

  • platform/mac/editing/input/firstrectforcharacterrange-plain-expected.txt:
  • platform/mac/editing/input/firstrectforcharacterrange-styled-expected.txt:
  • platform/mac/fast/text/attributed-substring-from-range-002-expected.txt:
11:48 AM Changeset in webkit [112555] by caio.oliveira@openbossa.org
  • 129 edits in trunk

HashMap<>::add should return a more descriptive object
https://bugs.webkit.org/show_bug.cgi?id=71063

Reviewed by Ryosuke Niwa.

Source/JavaScriptCore:

Update code to use AddResult instead of a pair. Note that since WeakGCMap wraps
the iterator type, there's a need for its own AddResult type -- instantiated from
HashTableAddResult template class.

  • API/JSCallbackObject.h:

(JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):

  • API/JSClassRef.cpp:

(OpaqueJSClass::contextData):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::addVar):
(JSC::BytecodeGenerator::addGlobalVar):
(JSC::BytecodeGenerator::addConstant):
(JSC::BytecodeGenerator::addConstantValue):
(JSC::BytecodeGenerator::emitLoad):
(JSC::BytecodeGenerator::addStringConstant):
(JSC::BytecodeGenerator::emitLazyNewFunction):

  • bytecompiler/NodesCodegen.cpp:

(JSC::PropertyListNode::emitBytecode):

  • debugger/Debugger.cpp:
  • dfg/DFGAssemblyHelpers.cpp:

(JSC::DFG::AssemblyHelpers::decodedCodeMapFor):

  • dfg/DFGByteCodeParser.cpp:

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

  • jit/JITStubs.cpp:

(JSC::JITThunks::ctiStub):
(JSC::JITThunks::hostFunctionStub):

  • parser/Parser.cpp:

(JSC::::parseStrictObjectLiteral):

  • parser/Parser.h:

(JSC::Scope::declareParameter):

  • runtime/Identifier.cpp:

(JSC::Identifier::add):
(JSC::Identifier::add8):
(JSC::Identifier::addSlowCase):

  • runtime/Identifier.h:

(JSC::Identifier::add):
(JSC::IdentifierTable::add):

  • runtime/JSArray.cpp:

(JSC::SparseArrayValueMap::add):
(JSC::SparseArrayValueMap::put):
(JSC::SparseArrayValueMap::putDirect):
(JSC::JSArray::enterDictionaryMode):
(JSC::JSArray::defineOwnNumericProperty):

  • runtime/JSArray.h:

(SparseArrayValueMap):

  • runtime/PropertyNameArray.cpp:

(JSC::PropertyNameArray::add):

  • runtime/StringRecursionChecker.h:

(JSC::StringRecursionChecker::performCheck):

  • runtime/Structure.cpp:

(JSC::StructureTransitionTable::add):

  • runtime/WeakGCMap.h:

(WeakGCMap):
(JSC::WeakGCMap::add):
(JSC::WeakGCMap::set):

  • tools/ProfileTreeNode.h:

(JSC::ProfileTreeNode::sampleChild):

Source/WebCore:

Update code to use AddResult instead of a pair. No new tests, just a refactoring.

  • Modules/webdatabase/SQLTransactionCoordinator.cpp:

(WebCore::SQLTransactionCoordinator::acquireLock):

  • Modules/webdatabase/chromium/QuotaTracker.cpp:

(WebCore::QuotaTracker::updateDatabaseSize):

  • bindings/js/DOMObjectHashTableMap.h:

(WebCore::DOMObjectHashTableMap::get):

  • bindings/js/JSDOMBinding.cpp:

(WebCore::cacheDOMStructure):

  • bindings/js/JSDOMBinding.h:

(WebCore::cacheWrapper):

  • bindings/js/JSDOMGlobalObject.h:

(WebCore::getDOMConstructor):

  • bindings/js/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::addListener):

  • bindings/js/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::setBreakpoint):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::startObjectInternal):
(WebCore::CloneSerializer::write):

  • bindings/v8/NPV8Object.cpp:

(WebCore::npCreateV8ScriptObject):

  • bridge/IdentifierRep.cpp:

(WebCore::IdentifierRep::get):

  • bridge/NP_jsobject.cpp:

(ObjectMap::add):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::logUnimplementedPropertyID):

  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::getFontData):

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::addFontFaceRule):
(WebCore::CSSFontSelector::getFontData):

  • css/CSSSegmentedFontFace.cpp:

(WebCore::CSSSegmentedFontFace::getFontData):

  • css/CSSStyleApplyProperty.cpp:

(WebCore::ApplyPropertyCounter::applyInheritValue):
(WebCore::ApplyPropertyCounter::applyValue):

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::appendAuthorStylesheets):
(WebCore::CSSStyleSelector::collectMatchingRulesForList):

  • css/CSSValuePool.cpp:

(WebCore::CSSValuePool::createIdentifierValue):
(WebCore::CSSValuePool::createColorValue):
(WebCore::CSSValuePool::createValue):
(WebCore::CSSValuePool::createFontFamilyValue):
(WebCore::CSSValuePool::createFontFaceValue):

  • dom/CheckedRadioButtons.cpp:

(WebCore::RadioButtonGroup::add):
(WebCore::CheckedRadioButtons::addButton):

  • dom/ChildListMutationScope.cpp:

(WebCore::ChildListMutationScope::MutationAccumulationRouter::incrementScopingLevel):

  • dom/Document.cpp:

(WebCore::Document::windowNamedItems):
(WebCore::Document::documentNamedItems):
(WebCore::Document::getCSSCanvasElement):
(WebCore::Document::getItems):

  • dom/DocumentEventQueue.cpp:

(WebCore::DocumentEventQueue::enqueueEvent):
(WebCore::DocumentEventQueue::enqueueOrDispatchScrollEvent):
(WebCore::DocumentEventQueue::pendingEventTimerFired):

  • dom/DocumentOrderedMap.cpp:

(WebCore::DocumentOrderedMap::add):

  • dom/EventListenerMap.cpp:

(WebCore::EventListenerMap::add):

  • dom/Node.cpp:

(WebCore::Node::dumpStatistics):
(WebCore::Node::getElementsByTagName):
(WebCore::Node::getElementsByTagNameNS):
(WebCore::Node::getElementsByName):
(WebCore::Node::getElementsByClassName):
(WebCore::Node::collectMatchingObserversForMutation):

  • dom/QualifiedName.cpp:

(WebCore::QualifiedName::init):

  • dom/SpaceSplitString.cpp:

(WebCore::SpaceSplitStringData::create):

  • dom/StyledElement.cpp:

(WebCore::StyledElement::updateAttributeStyle):

  • html/HTMLCollection.cpp:

(WebCore::HTMLCollection::append):

  • inspector/DOMPatchSupport.cpp:

(WebCore::DOMPatchSupport::diff):

  • inspector/InspectorCSSAgent.cpp:

(WebCore::SelectorProfile::commitSelector):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::performSearch):

  • inspector/InspectorDebuggerAgent.cpp:

(WebCore::InspectorDebuggerAgent::resolveBreakpoint):

  • inspector/InspectorValues.h:

(WebCore::InspectorObject::setValue):
(WebCore::InspectorObject::setObject):
(WebCore::InspectorObject::setArray):

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::addEntry):

  • loader/appcache/ApplicationCacheStorage.cpp:

(WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleTouchEvent):

  • page/PageGroup.cpp:

(WebCore::PageGroup::pageGroup):
(WebCore::PageGroup::addVisitedLink):
(WebCore::PageGroup::addUserScriptToWorld):
(WebCore::PageGroup::addUserStyleSheetToWorld):

  • page/SecurityPolicy.cpp:

(WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):

  • page/TouchAdjustment.cpp:

(WebCore::TouchAdjustment::compileSubtargetList):

  • platform/cf/BinaryPropertyList.cpp:

(WebCore::BinaryPropertyListPlan::writeInteger):
(WebCore::BinaryPropertyListPlan::writeString):
(WebCore::BinaryPropertyListPlan::writeIntegerArray):

  • platform/graphics/blackberry/LayerTiler.cpp:

(WebCore::LayerTiler::addTileJob):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::findOrMakeClone):

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

(WebCore::TileCache::revalidateTiles):

  • platform/graphics/ca/win/LayerChangesFlusher.cpp:

(WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon):

  • platform/graphics/chromium/FontUtilsChromiumWin.cpp:

(WebCore::getDerivedFontData):

  • platform/graphics/chromium/cc/CCLayerAnimationController.cpp:

(WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):

  • platform/graphics/mac/ComplexTextControllerATSUI.cpp:

(WebCore::initializeATSUStyle):

  • platform/graphics/mac/SimpleFontDataCoreText.cpp:

(WebCore::SimpleFontData::getCFStringAttributes):

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::SimpleFontData::canRenderCombiningCharacterSequence):

  • platform/graphics/wince/FontPlatformData.cpp:

(WebCore::FixedSizeFontData::create):

  • platform/gtk/RenderThemeGtk3.cpp:

(WebCore::getStyleContext):

  • platform/mac/ThreadCheck.mm:

(WebCoreReportThreadViolation):

  • platform/network/HTTPHeaderMap.cpp:

(WebCore::HTTPHeaderMap::add):

  • platform/network/HTTPHeaderMap.h:

(HTTPHeaderMap):

  • platform/network/ResourceRequestBase.cpp:

(WebCore::ResourceRequestBase::addHTTPHeaderField):

  • plugins/PluginDatabase.cpp:

(WebCore::PluginDatabase::add):
(WebCore::PluginDatabase::loadPersistentMetadataCache):

  • plugins/win/PluginDatabaseWin.cpp:

(WebCore::PluginDatabase::getPluginPathsInDirectories):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::addPercentHeightDescendant):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::setLogicalWidthForTextRun):

  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::addDependencyOnFlowThread):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::setRenderBoxRegionInfo):

  • rendering/svg/RenderSVGResourceGradient.cpp:

(WebCore::RenderSVGResourceGradient::applyResource):

  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::applyResource):

  • storage/StorageMap.cpp:

(WebCore::StorageMap::setItem):
(WebCore::StorageMap::importItem):

  • svg/SVGDocumentExtensions.cpp:

(WebCore::SVGDocumentExtensions::addPendingResource):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::setRequestHeaderInternal):

  • xml/XPathFunctions.cpp:

(WebCore::XPath::FunId::evaluate):

  • xml/XPathPath.cpp:

(WebCore::XPath::LocationPath::evaluate):

  • xml/XPathPredicate.cpp:

(WebCore::XPath::Union::evaluate):

Source/WebKit/chromium:

Update code to use AddResult instead of a pair.

  • src/WebHTTPLoadInfo.cpp:

(WebKit::addHeader):

  • src/WebURLResponse.cpp:

(WebKit::WebURLResponse::addHTTPHeaderField):

Source/WebKit/mac:

Update code to use AddResult instead of a pair.

  • Plugins/Hosted/NetscapePluginHostManager.mm:

(WebKit::NetscapePluginHostManager::hostForPlugin):

  • Plugins/Hosted/ProxyInstance.mm:

(WebKit::ProxyInstance::methodsNamed):
(WebKit::ProxyInstance::fieldNamed):

  • WebCoreSupport/WebNotificationClient.mm:

(WebNotificationClient::show):

Source/WebKit/win:

Update code to use AddResult instead of a pair.

  • WebKitCOMAPI.cpp:

(classFactory):

Source/WebKit2:

Update code to use AddResult instead of a pair.

  • Platform/CoreIPC/ArgumentCoders.h:
  • Platform/CoreIPC/Connection.cpp:

(CoreIPC::Connection::SyncMessageState::getOrCreate):

  • Shared/MutableDictionary.cpp:

(WebKit::MutableDictionary::add):
(WebKit::MutableDictionary::set):

  • Shared/UserMessageCoders.h:

(WebKit::UserMessageDecoder::baseDecode):

  • Shared/mac/CommandLineMac.cpp:

(WebKit::CommandLine::parse):

  • UIProcess/API/mac/WKPrintingView.mm:

(pageDidDrawToPDF):

  • UIProcess/API/mac/WKView.mm:

(-[WKView validateUserInterfaceItem:]):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::addBackForwardItem):

  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:

(WebKit::InjectedBundleNodeHandle::getOrCreate):

  • WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:

(WebKit::InjectedBundleRangeHandle::getOrCreate):

  • WebProcess/Notifications/WebNotificationManager.cpp:

(WebKit::WebNotificationManager::show):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::createWebPage):
(WebKit::WebProcess::webPageGroup):

Source/WTF:

Make HashTable<>::add() and derivate functions return an AddResult struct instead
of a pair. This struct contains contains 'iterator' and 'isNewEntry' members, that are
more readable at callsites than previous 'first' and 'second'.

  • wtf/HashCountedSet.h:

(HashCountedSet):
(WTF::::add):

  • wtf/HashMap.h:

(HashMap):
(WTF):
(WTF::::set):

  • wtf/HashSet.h:

(HashSet):
(WTF::::add):
(WTF):

  • wtf/HashTable.h:

(WTF::HashTableAddResult::HashTableAddResult):
(HashTableAddResult):
(WTF):
(HashTable):
(WTF::HashTable::add):
(WTF::::add):
(WTF::::addPassingHashCode):

  • wtf/ListHashSet.h:

(ListHashSet):
(WTF::::add):
(WTF::::insertBefore):

  • wtf/RefPtrHashMap.h:

(WTF):
(WTF::::set):

  • wtf/Spectrum.h:

(WTF::Spectrum::add):

  • wtf/WTFThreadData.cpp:

(JSC::IdentifierTable::add):

  • wtf/WTFThreadData.h:

(IdentifierTable):

  • wtf/text/AtomicString.cpp:

(WTF::addToStringTable):
(WTF::AtomicString::addSlowCase):

Tools:

Update code to use AddResult instead of a pair.

  • DumpRenderTree/mac/LayoutTestControllerMac.mm:

(LayoutTestController::evaluateScriptInIsolatedWorld):

  • DumpRenderTree/win/LayoutTestControllerWin.cpp:

(LayoutTestController::evaluateScriptInIsolatedWorld):

  • WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:

(WTR::LayoutTestController::evaluateScriptInIsolatedWorld):

11:35 AM Changeset in webkit [112554] by caseq@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: improve window selection accuracy in vertical overview of timeline panel
https://bugs.webkit.org/show_bug.cgi?id=82625

Reviewed by Vsevolod Vlasov.

  • inspector/front-end/TimelineOverviewPane.js:

(WebInspector.TimelineVerticalOverview):
(WebInspector.TimelineVerticalOverview.prototype._renderBars): preserve actual padding used while rendering bars.
(WebInspector.TimelineVerticalOverview.prototype.getWindowTimes): account for outer and inter-bars padding when calculating bar offsets.

11:32 AM Changeset in webkit [112553] by commit-queue@webkit.org
  • 31 edits in trunk/Source

GEOLOCATION should be implemented as Page Supplement
https://bugs.webkit.org/show_bug.cgi?id=82228

Patch by Mark Pilgrim <pilgrim@chromium.org> on 2012-03-29
Reviewed by Adam Barth.

Source/WebCore:

Geolocation now uses the Supplement interface instead of
keeping an instance variable on Page. This allows us to
remove all geolocation-related functions, variables, and
ifdefs out of Page and into Modules/geolocation/.

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::stop):
(WebCore::Geolocation::lastPosition):
(WebCore::Geolocation::requestPermission):
(WebCore::Geolocation::startUpdating):
(WebCore::Geolocation::stopUpdating):

  • Modules/geolocation/Geolocation.h:

(WebCore):

  • Modules/geolocation/GeolocationController.cpp:

(WebCore::GeolocationController::supplementName):
(WebCore):
(WebCore::provideGeolocationTo):

  • Modules/geolocation/GeolocationController.h:

(GeolocationController):
(WebCore::GeolocationController::from):

  • WebCore.exp.in:
  • page/GeolocationClient.h:

(WebCore):
(GeolocationClient):

  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::PageClients::PageClients):

  • page/Page.h:

(WebCore):
(PageClients):
(Page):

Source/WebKit/blackberry:

Geolocation is now a Supplement in Page so the interface
has changed for setting up the page's geolocation client
initially and accessing the controller later.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::init):

  • WebCoreSupport/GeolocationControllerClientBlackBerry.cpp:

(GeolocationControllerClientBlackBerry::onLocationUpdate):
(GeolocationControllerClientBlackBerry::onLocationError):

  • WebKitSupport/DumpRenderTreeSupport.cpp:

(DumpRenderTreeSupport::numberOfPendingGeolocationPermissionRequests):
(DumpRenderTreeSupport::resetGeolocationMock):
(DumpRenderTreeSupport::setMockGeolocationError):
(DumpRenderTreeSupport::setMockGeolocationPermission):
(DumpRenderTreeSupport::setMockGeolocationPosition):

Source/WebKit/chromium:

Geolocation is now a Supplement in Page so the interface
has changed for setting up the page's geolocation client
initially and accessing the controller later.

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::WebViewImpl):

Source/WebKit/gtk:

Geolocation is now a Supplement in Page so the interface
has changed for setting up the page's geolocation client
initially and accessing the controller later.

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::resetGeolocationClientMock):
(DumpRenderTreeSupportGtk::setMockGeolocationPermission):
(DumpRenderTreeSupportGtk::setMockGeolocationPosition):
(DumpRenderTreeSupportGtk::setMockGeolocationError):
(DumpRenderTreeSupportGtk::numberOfPendingGeolocationPermissionRequests):

  • WebCoreSupport/GeolocationClientGtk.cpp:

(WebKit::GeolocationClient::updatePosition):
(WebKit::GeolocationClient::errorOccured):

  • webkit/webkitwebview.cpp:

(webkit_web_view_init):

Source/WebKit/mac:

Geolocation is now a Supplement in Page so the interface
has changed for setting up the page's geolocation client
initially and accessing the controller later.

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _geolocationDidChangePosition:]):
(-[WebView _geolocationDidFailWithError:]):

Source/WebKit/qt:

Geolocation is now a Supplement in Page so the interface
has changed for setting up the page's geolocation client
initially and accessing the controller later.

  • Api/qwebpage.cpp:

(QWebPagePrivate::QWebPagePrivate):

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::resetGeolocationMock):
(DumpRenderTreeSupportQt::setMockGeolocationPermission):
(DumpRenderTreeSupportQt::setMockGeolocationPosition):
(DumpRenderTreeSupportQt::setMockGeolocationError):
(DumpRenderTreeSupportQt::numberOfPendingGeolocationPermissionRequests):

  • WebCoreSupport/GeolocationClientQt.cpp:

(WebCore::GeolocationClientQt::positionUpdated):
(WebCore::GeolocationClientQt::startUpdating):

Source/WebKit/win:

Geolocation is now a Supplement in Page so the interface
has changed for setting up the page's geolocation client
initially and accessing the controller later.

  • WebView.cpp:

(WebView::initWithFrame):
(WebView::geolocationDidChangePosition):
(WebView::geolocationDidFailWithError):

Source/WebKit2:

Geolocation is now a Supplement in Page so the interface
has changed for setting up the page's geolocation client
initially and accessing the controller later.

  • WebProcess/Geolocation/WebGeolocationManager.cpp:

(WebKit::WebGeolocationManager::didChangePosition):
(WebKit::WebGeolocationManager::didFailToDeterminePosition):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::setGeoLocationPermission):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

11:27 AM Changeset in webkit [112552] by loislo@chromium.org
  • 2 edits in trunk/Tools

Web Inspector: chromium: DRT --no-timeout option doesn't work.
https://bugs.webkit.org/show_bug.cgi?id=82608

Initial value for m_timeout was initialized in constructor and was overwritten in DRT::main.
This was broken by r112354 and the sequence became opposite.

Reviewed by Yury Semikhatsky.

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::TestShell):
(TestShell::initialize):

11:24 AM Changeset in webkit [112551] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Sync up WebKit TraceEvent.h with chromium trace_event.h
https://bugs.webkit.org/show_bug.cgi?id=82527

Patch by John Bates <jbates@google.com> on 2012-03-29
Reviewed by James Robinson.

  • platform/chromium/TraceEvent.h:
11:18 AM Changeset in webkit [112550] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk/Source/WebKit/chromium

[chromium] Split off tiled layer constructs for unit tests into a common header
https://bugs.webkit.org/show_bug.cgi?id=82425

Patch by Dana Jansens <danakj@chromium.org> on 2012-03-29
Reviewed by Adrienne Walker.

  • WebKit.gypi:
  • tests/CCTiledLayerTestCommon.cpp: Added.

(WebKitTests):
(WebKitTests::FakeLayerTextureUpdater::Texture::Texture):
(WebKitTests::FakeLayerTextureUpdater::Texture::~Texture):
(WebKitTests::FakeLayerTextureUpdater::Texture::updateRect):
(WebKitTests::FakeLayerTextureUpdater::Texture::prepareRect):
(WebKitTests::FakeLayerTextureUpdater::FakeLayerTextureUpdater):
(WebKitTests::FakeLayerTextureUpdater::~FakeLayerTextureUpdater):
(WebKitTests::FakeLayerTextureUpdater::prepareToUpdate):
(WebKitTests::FakeLayerTextureUpdater::setRectToInvalidate):
(WebKitTests::FakeLayerTextureUpdater::createTexture):
(WebKitTests::FakeCCTiledLayerImpl::FakeCCTiledLayerImpl):
(WebKitTests::FakeCCTiledLayerImpl::~FakeCCTiledLayerImpl):
(WebKitTests::FakeTiledLayerChromium::FakeTiledLayerChromium):
(WebKitTests::FakeTiledLayerChromium::~FakeTiledLayerChromium):
(WebKitTests::FakeTiledLayerChromium::setNeedsDisplayRect):
(WebKitTests::FakeTiledLayerChromium::paintContentsIfDirty):
(WebKitTests::FakeTiledLayerWithScaledBounds::FakeTiledLayerWithScaledBounds):
(WebKitTests::FakeCCTextureUpdater::FakeCCTextureUpdater):

  • tests/CCTiledLayerTestCommon.h: Added.

(WebKitTests):
(FakeLayerTextureUpdater):
(Texture):
(WebKitTests::FakeLayerTextureUpdater::sampledTexelFormat):
(WebKitTests::FakeLayerTextureUpdater::lastUpdateRect):
(WebKitTests::FakeLayerTextureUpdater::prepareCount):
(WebKitTests::FakeLayerTextureUpdater::clearPrepareCount):
(WebKitTests::FakeLayerTextureUpdater::updateCount):
(WebKitTests::FakeLayerTextureUpdater::clearUpdateCount):
(WebKitTests::FakeLayerTextureUpdater::updateRect):
(WebKitTests::FakeLayerTextureUpdater::prepareRectCount):
(WebKitTests::FakeLayerTextureUpdater::clearPrepareRectCount):
(WebKitTests::FakeLayerTextureUpdater::prepareRect):
(WebKitTests::FakeLayerTextureUpdater::setOpaquePaintRect):
(FakeCCTiledLayerImpl):
(FakeTiledLayerChromium):
(WebKitTests::FakeTiledLayerChromium::tileSize):
(WebKitTests::FakeTiledLayerChromium::lastNeedsDisplayRect):
(WebKitTests::FakeTiledLayerChromium::textureManager):
(WebKitTests::FakeTiledLayerChromium::fakeLayerTextureUpdater):
(WebKitTests::FakeTiledLayerChromium::updateRect):
(WebKitTests::FakeTiledLayerChromium::textureUpdater):
(WebKitTests::FakeTiledLayerChromium::createTextureUpdaterIfNeeded):
(FakeTiledLayerWithScaledBounds):
(WebKitTests::FakeTiledLayerWithScaledBounds::setContentBounds):
(WebKitTests::FakeTiledLayerWithScaledBounds::contentBounds):
(FakeTextureAllocator):
(WebKitTests::FakeTextureAllocator::createTexture):
(WebKitTests::FakeTextureAllocator::deleteTexture):
(FakeTextureCopier):
(WebKitTests::FakeTextureCopier::copyTexture):
(FakeCCTextureUpdater):
(WebKitTests::FakeCCTextureUpdater::textureAllocator):

  • tests/TextureManagerTest.cpp:
  • tests/TiledLayerChromiumTest.cpp:
11:17 AM Changeset in webkit [112549] by pfeldman@chromium.org
  • 3 edits
    5 adds in trunk

Web Inspector: subtree disapears from <iframe> after loading
https://bugs.webkit.org/show_bug.cgi?id=76552

Reviewed by Yury Semikhatsky.

Source/WebCore:

The problem was that content document subtree was not unbound upon iframe re-push.
Upon owner element refresh content document was not sent to the frontend
since backend assumed that front-end has already had the up-to-date version.

Test: inspector/elements/iframe-load-event.html

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::loadEventFired):

LayoutTests:

  • inspector/elements/iframe-load-event-expected.txt: Added.
  • inspector/elements/iframe-load-event.html: Added.
  • inspector/elements/resources/iframe-load-event-iframe-1.html: Added.
  • inspector/elements/resources/iframe-load-event-iframe-2.html: Added.
  • inspector/elements/resources/iframe-load-event-iframe.js: Added.

(loadSecondIFrame):
(test.step1.nodeInserted):
(test.step1):
(test.step2):
(test):

11:14 AM Changeset in webkit [112548] by commit-queue@webkit.org
  • 7 edits
    1 add in trunk/Source

[chromium] Remove unneeded code+fixmes from CCOcclusionTracker
https://bugs.webkit.org/show_bug.cgi?id=82380

Patch by Dana Jansens <danakj@chromium.org> on 2012-03-29
Reviewed by Adrienne Walker.

Source/WebCore:

The current occlusion was exposed on the occlusion tracker for the
transition over to culling 2.0 which has landed, so we can remove
it now. It still had one use in unit tests which is moved to a
test subclass.

Above test subclass already existed in the occlusion tracker tests,
so pulled it out to a common file CCOcclusionTrackerTestCommon.h
so that other unit tests can use it to get at occlusion internals.

  • platform/graphics/chromium/cc/CCOcclusionTracker.cpp:

(WebCore):

  • platform/graphics/chromium/cc/CCOcclusionTracker.h:

Source/WebKit/chromium:

  • WebKit.gypi:
  • tests/CCLayerTreeHostTest.cpp:

(WTF::TestLayerChromium::paintContentsIfDirty):

  • tests/CCOcclusionTrackerTest.cpp:

(WebKitTests::TestCCOcclusionTrackerWithScissor::TestCCOcclusionTrackerWithScissor):
(WebKitTests::CCOcclusionTrackerTestIdentityTransforms::runMyTest):
(WebKitTests::CCOcclusionTrackerTestRotatedChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestTranslatedChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestChildInRotatedChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestVisitTargetTwoTimes::runMyTest):
(WebKitTests::CCOcclusionTrackerTestSurfaceRotatedOffAxis::runMyTest):
(WebKitTests::CCOcclusionTrackerTestSurfaceWithTwoOpaqueChildren::runMyTest):
(WebKitTests::CCOcclusionTrackerTestOverlappingSurfaceSiblings::runMyTest):
(WebKitTests::CCOcclusionTrackerTestOverlappingSurfaceSiblingsWithTwoTransforms::runMyTest):
(WebKitTests::CCOcclusionTrackerTestFilters::runMyTest):
(WebKitTests::CCOcclusionTrackerTestLayerScissorRectOutsideChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestScreenScissorRectOutsideChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestLayerScissorRectOverChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestScreenScissorRectOverChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestLayerScissorRectPartlyOverChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestScreenScissorRectPartlyOverChild::runMyTest):
(WebKitTests::CCOcclusionTrackerTestLayerScissorRectOverNothing::runMyTest):
(WebKitTests::CCOcclusionTrackerTestScreenScissorRectOverNothing::runMyTest):
(WebKitTests::CCOcclusionTrackerTestLayerScissorRectForLayerOffOrigin::runMyTest):
(WebKitTests::CCOcclusionTrackerTestOpaqueContentsRegionEmpty::runMyTest):
(WebKitTests::CCOcclusionTrackerTestOpaqueContentsRegionNonEmpty::runMyTest):
(WebKitTests::CCOcclusionTrackerTest3dTransform::runMyTest):
(WebKitTests::CCOcclusionTrackerTestPerspectiveTransform::runMyTest):
(WebKitTests::CCOcclusionTrackerTestPerspectiveTransformBehindCamera::runMyTest):
(WebKitTests::CCOcclusionTrackerTestAnimationOpacity1OnMainThread::runMyTest):
(WebKitTests::CCOcclusionTrackerTestAnimationOpacity0OnMainThread::runMyTest):
(WebKitTests::CCOcclusionTrackerTestAnimationTranslateOnMainThread::runMyTest):
(WebKitTests::CCOcclusionTrackerTestSurfaceOcclusionTranslatesToParent::runMyTest):

  • tests/CCOcclusionTrackerTestCommon.h: Added.

(WebKitTests):
(TestCCOcclusionTrackerBase):
(WebKitTests::TestCCOcclusionTrackerBase::TestCCOcclusionTrackerBase):
(WebKitTests::TestCCOcclusionTrackerBase::occlusionInScreenSpace):
(WebKitTests::TestCCOcclusionTrackerBase::occlusionInTargetSurface):
(WebKitTests::TestCCOcclusionTrackerBase::setOcclusionInScreenSpace):
(WebKitTests::TestCCOcclusionTrackerBase::setOcclusionInTargetSurface):

11:11 AM Changeset in webkit [112547] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

<http://webkit.org/b/82558> Toggling <input type="range"> readonly or disabled state while active breaks all click events

Source/WebCore:

Test: fast/forms/range/range-drag-when-toggled-disabled.html

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2012-03-29
Reviewed by Kent Tamura.

  • html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::defaultEventHandler):
A slider can toggle its readonly or disabled state while in the middle
of dragging, in those cases we should cancel the drag and perform cleanup.

LayoutTests:

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2012-03-29
Reviewed by Kent Tamura.

  • fast/forms/range/range-drag-when-toggled-disabled-expected.txt: Added.
  • fast/forms/range/range-drag-when-toggled-disabled.html: Added.
11:03 AM Changeset in webkit [112546] by adamk@chromium.org
  • 2 edits in trunk/Source/WebCore

Factor out common post-insertion logic in ContainerNode
https://bugs.webkit.org/show_bug.cgi?id=82544

Reviewed by Ryosuke Niwa.

appendChild, insertBefore, and replaceChild all share a great deal of logic.
This patch factors out the "post-insertion" logic that deals with
notifying parents that their children changed and notifying children
that they've been added to the tree.

Besides reducing code duplication, this is in preparation for moving
this post-insertion notification later in the insertion process.

No new tests, no change in behavior.

  • dom/ContainerNode.cpp:

(WebCore):
(WebCore::ContainerNode::insertBefore): Factor out shared logic, remove unnecessary "prev" variable.
(WebCore::ContainerNode::replaceChild): ditto.
(WebCore::ContainerNode::appendChild): ditto.
(WebCore::updateTreeAfterInsertion): New helper method encapsulating shared logic.

10:52 AM Changeset in webkit [112545] by enrica@apple.com
  • 2 edits in trunk/LayoutTests

Updating test_expectations with new failures after r112484.
The failing tests need a new baseline.
This is tracked by https://bugs.webkit.org/show_bug.cgi?id=82626

  • platform/mac/test_expectations.txt:
10:16 AM Changeset in webkit [112544] by tony@chromium.org
  • 10 edits
    4 adds in trunk

Need to implement flex-line-pack
https://bugs.webkit.org/show_bug.cgi?id=70794

Reviewed by Ojan Vafai.

Source/WebCore:

Tests: css3/flexbox/multiline-line-pack-horizontal-column.html

css3/flexbox/multiline-line-pack.html

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
(WebCore::initialLinePackingOffset): Similar to initialPackingOffset.
(WebCore):
(WebCore::linePackingSpaceBetweenChildren): Similar to packingSpaceBetweenChildren.
(WebCore::RenderFlexibleBox::packFlexLines): Move lines based on flex-line-pack.

Note that we don't need to relayout on stretch because
alignChildren will do that for us (only auto size needs stretching).

(WebCore::RenderFlexibleBox::flipForWrapReverse): Pull out the initial

cross axis offset before calling packFlexLines because we can
move the the line contexts.

  • rendering/RenderFlexibleBox.h:

LayoutTests:

Updated the old multiline tests to have -webkit-flex-line-pack: start,
which was the previous default behavior. The correct default behavior
is stretch.

  • css3/flexbox/multiline-align.html:
  • css3/flexbox/multiline-column-auto.html:
  • css3/flexbox/multiline-line-pack-expected.txt: Added.
  • css3/flexbox/multiline-line-pack-horizontal-column-expected.txt: Added.
  • css3/flexbox/multiline-line-pack-horizontal-column.html: Added.
  • css3/flexbox/multiline-line-pack.html: Added.
  • css3/flexbox/multiline-pack.html:
  • css3/flexbox/multiline-reverse-wrap-overflow.html:
  • css3/flexbox/multiline-shrink-to-fit.html:
  • css3/flexbox/multiline.html:
10:03 AM Changeset in webkit [112543] by kling@webkit.org
  • 2 edits in trunk/Source/WTF

String: Subscript operator shouldn't force conversion to 16-bit characters.
<http://webkit.org/b/82613>

Reviewed by Anders Carlsson.

Forward String::operator[] to StringImpl::operator[] instead of indexing into characters().
This avoid implicit conversion of 8-bit strings to 16-bit, and as an example, reduces memory
usage on http://www.allthingsd.com/ by 360kB.

  • wtf/text/WTFString.h:

(WTF::String::operator[]):

9:54 AM Changeset in webkit [112542] by krit@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Introduce CSSParserMode in all classes
https://bugs.webkit.org/show_bug.cgi?id=82335

Unreviewed build fix.

  • src/WebDocument.cpp:

(WebKit::WebDocument::insertUserStyleSheet):

9:45 AM Changeset in webkit [112541] by vsevik@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: SnippetsScriptMapping should process existing snippets on load.
https://bugs.webkit.org/show_bug.cgi?id=82619

Reviewed by Pavel Feldman.

SnippetsScriptMapping now loads existing snippets on creation.
Otherwise scripts panel shows snippets created during current session only.
Drive-by ScriptsNavigator closure compilation fix.

  • inspector/front-end/SnippetsModel.js:

(WebInspector.SnippetsModel.prototype.set get snippets):
(WebInspector.SnippetsScriptMapping):
(WebInspector.SnippetsScriptMapping.prototype._handleSnippetAdded):
(WebInspector.SnippetsScriptMapping.prototype._snippetAdded):

9:25 AM Changeset in webkit [112540] by yurys@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: check more likely condition first in HeapSnapshot._buildAggregates
https://bugs.webkit.org/show_bug.cgi?id=82621

Reviewed by Pavel Feldman.

  • inspector/front-end/HeapSnapshot.js: selfSize === 0 is quite rare, moving this condition

to the first place saves 1 of 6 secs on the heap profiler perf test.
(WebInspector.HeapSnapshot.prototype._buildAggregates):
(WebInspector.HeapSnapshot.prototype._buildDominatedNodes): root node is always the first
one and is the only one that doesn't have dominator, so we may start iterating nodes from
the second node and avoid additional check in the loop.

9:22 AM Changeset in webkit [112539] by pfeldman@chromium.org
  • 7 edits in trunk/Source/WebCore

Web Inspector: "go to the previous panel" shortcut is painful to maintain
https://bugs.webkit.org/show_bug.cgi?id=82602

Reviewed by Vsevolod Vlasov.

Present go to previous panel shortcut "Cmd - Left" is painful to support since we have
more and more free flow editing capabilities (where Cmd - Left is handled by the editor).
Remaping it to Cmd - Option - [ (]) / (Ctrl - Alt - [ (]) ).

Drive-by: de-capitalize captions from the settings panel.

  • English.lproj/localizedStrings.js:
  • inspector/front-end/ConsoleView.js:

(WebInspector.ConsoleView.prototype._registerShortcuts):

  • inspector/front-end/InspectorView.js:

(WebInspector.InspectorView.prototype._keyDown):

  • inspector/front-end/ScriptsPanel.js:
  • inspector/front-end/TimelinePanel.js:

(WebInspector.TimelinePanel.prototype._registerShortcuts):
(WebInspector.TimelinePanel.prototype._contextMenu):

  • inspector/front-end/inspector.js:

(WebInspector._registerShortcuts):

9:19 AM Changeset in webkit [112538] by caseq@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r112531.
http://trac.webkit.org/changeset/112531
https://bugs.webkit.org/show_bug.cgi?id=82616

Broke timeline overview selection

  • inspector/front-end/TimelineOverviewPane.js:

(WebInspector.TimelineOverviewWindow):

9:12 AM Changeset in webkit [112537] by krit@webkit.org
  • 34 edits in trunk/Source

Introduce CSSParserMode in all classes
https://bugs.webkit.org/show_bug.cgi?id=82335

Source/WebCore:

Reviewed by Ryosuke Niwa.

Introduce the new CSSParserMode enum to more classes. SVG classes make use of SVGAttributeMode for CSS parsing already.
But SVGAttributeMode does not differ from CSSQuirksMode at the moment. This will change with a followup patch on bug 46112.

No new tests. No change of functionality. Everything gets covered by existing tests.

  • css/CSSImportRule.cpp:

(WebCore::CSSImportRule::setCSSStyleSheet):

  • css/CSSMediaRule.cpp:

(WebCore::CSSMediaRule::insertRule):

  • css/CSSParser.cpp: Move private functions away from strict boolean and make use of CSSParserMode instead.

(WebCore):
(WebCore::parseColorValue):
(WebCore::parseSimpleLengthValue):
(WebCore::CSSParser::parseFontFaceValue):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseColor):
(WebCore::CSSParser::createStyleRule):
(WebCore::CSSParser::createFontFaceRule):
(WebCore::CSSParser::createPageRule):
(WebCore::CSSParser::createKeyframeRule):

  • css/CSSParser.h: Removed constructor with boolean argument. We just use the CSSParserMode enum now.

(CSSParser):

  • css/CSSParserMode.h:

(strictToCSSParserMode): New helper function to convert boolean to CSSParserMode.
(isStrictParserMode): Helper function that returns true if argument is CSSStrictMode.

  • css/CSSRule.h:

(WebCore::CSSRule::cssParserMode): Renamed useStrictParsing to cssParserMode since it returns CSSParserMode instead of a boolean now.

  • css/CSSStyleSheet.cpp:

(WebCore::CSSStyleSheet::CSSStyleSheet):
(WebCore::CSSStyleSheet::insertRule):
(WebCore::CSSStyleSheet::parseString):
(WebCore::CSSStyleSheet::parseStringAtLine):

  • css/CSSStyleSheet.h:

(CSSStyleSheet):
(WebCore::CSSStyleSheet::setCSSParserMode): Renamed setStrictParsing to setCSSParserMode since we set an enum now.
(WebCore::CSSStyleSheet::cssParserMode): Renamed useStrictParsing to cssParserMode since it returns CSSParserMode instead of a boolean now.

  • css/MediaList.cpp:

(WebCore::MediaQuerySet::parse):
(WebCore::MediaQuerySet::add):
(WebCore::MediaQuerySet::remove):

  • css/StylePropertySet.cpp:

(WebCore::StylePropertySet::StylePropertySet):
(WebCore::StylePropertySet::setProperty):
(WebCore::StylePropertySet::parseDeclaration):

  • css/StylePropertySet.h: Use unsigned member variables to store the parser mode.

(WebCore::StylePropertySet::create):
(WebCore::StylePropertySet::setCSSParserMode): Renamed setStrictParsing to setCSSParserMode since we get an enum now. This gets converted to unsigned internally.
(WebCore::StylePropertySet::cssParserMode): Renamed useStrictParsing to cssParserMode since it returns CSSParserMode instead of a boolean now.
(StylePropertySet):

  • css/StyleSheet.h:

(StyleSheet):

  • css/WebKitCSSKeyframesRule.cpp:

(WebCore::WebKitCSSKeyframesRule::insertRule):

  • css/WebKitCSSMatrix.cpp:

(WebCore::WebKitCSSMatrix::setMatrixValue):

  • dom/Document.cpp:

(WebCore::Document::webkitGetFlowByName):
(WebCore::Document::pageUserSheet):
(WebCore::Document::pageGroupUserSheets):

  • dom/Element.cpp:

(WebCore::Element::webkitMatchesSelector):

  • dom/ElementAttributeData.cpp:

(WebCore::ElementAttributeData::ensureInlineStyle):
(WebCore::ElementAttributeData::ensureMutableInlineStyle):
(WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):

  • dom/Node.cpp:

(WebCore::Node::querySelector):
(WebCore::Node::querySelectorAll):

  • dom/ProcessingInstruction.cpp:

(WebCore::ProcessingInstruction::parseStyleSheet):

  • dom/StyleElement.cpp:

(WebCore::StyleElement::createSheet):

  • html/HTMLElement.cpp:

(WebCore::StyledElement::copyNonAttributeProperties):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::setCSSStyleSheet):

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::setFont):

  • html/shadow/ContentSelectorQuery.cpp:

(WebCore::ContentSelectorQuery::ContentSelectorQuery):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::reparseStyleSheet):

  • svg/SVGElementRareData.h:

(WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):

  • svg/SVGFontFaceElement.cpp:

(WebCore::SVGFontFaceElement::SVGFontFaceElement):

  • svg/SVGStyledElement.cpp:

(WebCore::SVGStyledElement::getPresentationAttribute):

  • xml/XSLStyleSheet.h:

(XSLStyleSheet):

  • xml/XSLStyleSheetLibxslt.cpp:

(WebCore::XSLStyleSheet::parseString):

  • xml/XSLStyleSheetQt.cpp:

(WebCore::XSLStyleSheet::parseString):

Source/WebKit/chromium:

Use CSSParserMode for setting the parsing mode on parseValue.

  • src/WebDocument.cpp:

(WebKit::WebDocument::insertUserStyleSheet):

9:11 AM Changeset in webkit [112536] by Patrick Gansterer
  • 2 edits in trunk/Source/JavaScriptCore

Build fix for !ENABLE(YARR_JIT) after r112454.

  • runtime/RegExp.cpp:

(JSC::RegExp::invalidateCode):

8:54 AM Changeset in webkit [112535] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix the error type in JSAudioBufferSourceNodeCustom to pass layout test.
https://bugs.webkit.org/show_bug.cgi?id=81639

Patch by Sanghyun Park <sh919.park@samsung.com> on 2012-03-29
Reviewed by Eric Carlson.

Test : LayoutTest/webaudio/audiobuffersource-channels.html

  • bindings/js/JSAudioBufferSourceNodeCustom.cpp:
8:28 AM Changeset in webkit [112534] by Csaba Osztrogonác
  • 5 edits in trunk/LayoutTests

[Qt] Unreviewed gardening after r112514. Fix the accidental r112532 fix.

  • platform/qt-5.0/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png:
  • platform/qt-5.0/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
  • platform/qt-5.0/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
  • platform/qt-5.0/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:
8:23 AM Changeset in webkit [112533] by vsevik@chromium.org
  • 6 edits in trunk

Web Inspector: Existing UISourceCode should be loaded on scripts panel creation/reset.
https://bugs.webkit.org/show_bug.cgi?id=82614

Reviewed by Pavel Feldman.

Source/WebCore:

UISourceCode are now loaded from DebuggerPresentationModel on scripts panel creation/reset.
This is needed to show snippets that are loaded before scripts panel creation and are not removed on navigation.

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype._handleUISourceCodeAdded):
(WebInspector.ScriptsPanel.prototype._loadUISourceCodes):
(WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
(WebInspector.ScriptsPanel.prototype._reset):

  • inspector/front-end/SnippetsModel.js:

(WebInspector.SnippetsScriptMapping.prototype.uiSourceCodeList):

LayoutTests:

  • inspector/debugger/scripts-panel-expected.txt:
  • inspector/debugger/scripts-panel.html:
7:43 AM Changeset in webkit [112532] by Csaba Osztrogonác
  • 1 edit
    6 adds in trunk/LayoutTests

[Qt] Unreviewed gardening after r112514. Add Qt5 specific expected files.

  • platform/qt-5.0/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png: Added.
  • platform/qt-5.0/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt: Added.
  • platform/qt-5.0/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png: Added.
  • platform/qt-5.0/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt: Added.
7:43 AM Changeset in webkit [112531] by caseq@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: on a single click in Timeline overview, make a minimal selection centered around cursor
https://bugs.webkit.org/show_bug.cgi?id=82616

Reviewed by Pavel Feldman.

  • inspector/front-end/TimelineOverviewPane.js:

(WebInspector.TimelineOverviewWindow): Explicitly handle single click on overview by creating a minimal window around cursor.
(WebInspector.TimelineOverviewWindow.prototype._resizeWindowMinimum):

7:36 AM WebKitEFLLayoutTest edited by dominik.rottsches@intel.com
edit on ENABLE_DRT (diff)
7:35 AM WebKitEFLLayoutTest edited by dominik.rottsches@intel.com
ENABLE_DRT info (diff)
7:33 AM BuildBot edited by dominik.rottsches@intel.com
changing indentation (diff)
7:32 AM BuildBot edited by dominik.rottsches@intel.com
EFL buildbot gray hair avoidance (diff)
7:31 AM Changeset in webkit [112530] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Unavailable pre-processor macro in non-Qt environments
https://bugs.webkit.org/show_bug.cgi?id=82042

Patch by Víctor Manuel Jáquez Leal <vjaquez@igalia.com> on 2012-03-29
Reviewed by Simon Hausmann.

This patch removes the use of the macro QT_VERSION_CHECK() because, in
non-Qt environments, the pre-processors raises an error. Instead of
calling the macro to generate the version number, the version is
expressed directly.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(SharedGLData): remove pre-processor macro for Qt version check.

7:06 AM Changeset in webkit [112529] by caseq@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: event details popover in Timeline panel displays invalid time offset
https://bugs.webkit.org/show_bug.cgi?id=82611

Reviewed by Pavel Feldman.

  • inspector/front-end/TimelinePresentationModel.js:

(WebInspector.TimelinePresentationModel.prototype.addRecord): use time in seconds, not raw model time for minimumRecordTime.

6:44 AM Changeset in webkit [112528] by caseq@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: use canvas to render bars in "vertical overview" mode
https://bugs.webkit.org/show_bug.cgi?id=82606

Reviewed by Pavel Feldman.

  • inspector/front-end/TimelineOverviewPane.js: Use canvas instead of DOM for rendering vertical overview bars.

(WebInspector.TimelineVerticalOverview):
(WebInspector.TimelineVerticalOverview.prototype.update):
(WebInspector.TimelineVerticalOverview.prototype._renderBars):
(WebInspector.TimelineVerticalOverview.prototype._renderBar):
(WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):

  • inspector/front-end/timelinePanel.css: Drop styles previously used for DOM-based vertical overview rendering.

(.timeline-vertical-overview-bars):

6:24 AM Changeset in webkit [112527] by caseq@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: timeline overview window selection is not reset upon clear/record
https://bugs.webkit.org/show_bug.cgi?id=82603

Reviewed by Pavel Feldman.

  • TimelineOverviewPane.reset() -> _reset();
  • perform update() from reset();
  • perform reset() upon RecordsCleared event from the model.
  • inspector/front-end/TimelineOverviewPane.js:

(WebInspector.TimelineOverviewPane):
(WebInspector.TimelineOverviewPane.prototype._reset):
(WebInspector.TimelineVerticalOverview):
(WebInspector.TimelineVerticalOverview.prototype.update):
(WebInspector.TimelineVerticalOverview.prototype._renderBars):
(WebInspector.TimelineVerticalOverview.prototype._renderBar):
(WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):

  • inspector/front-end/timelinePanel.css:

(.timeline-vertical-overview-bars):

5:53 AM Changeset in webkit [112526] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk

Remove redundant updateViewportArguments() call when page is restored from page cache.
https://bugs.webkit.org/show_bug.cgi?id=82500

Patch by Zalan Bujtas <zbujtas@gmail.com> on 2012-03-29
Reviewed by Kenneth Rohde Christiansen.

.:

Add manual test for history navigation with viewport width check.

  • ManualTests/viewport-width-test-after-history-navigation.html: Added.

Source/WebCore:

Document::updateViewportArguments() is called twice, while restoring a page from page cache.
First, it is called when the document is set on the mainframe and later, it is called
when page cache finished the restoration. Since viewport arguments don't change between
the 2 calls, it's safe to remove the second.

Manual test added. Viewport value updates heavily depend on UI process code.

  • dom/Document.cpp:

(WebCore::Document::documentDidResumeFromPageCache):

5:45 AM Changeset in webkit [112525] by charles.wei@torchmobile.com.cn
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Add Internal test support for blackberry porting.
https://bugs.webkit.org/show_bug.cgi?id=82597

Reviewed by Rob Buis.

No new tests, just the build system enhancement for BlackBerry porting.

  • UseJSC.cmake:
5:40 AM Changeset in webkit [112524] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Diverging test results on 32/64 bit architectures
https://bugs.webkit.org/show_bug.cgi?id=82601

  • platform/qt/Skipped: Skip the remaining 6 failing test.
5:38 AM Changeset in webkit [112523] by yurys@chromium.org
  • 8 edits in trunk

Web Inspector: switch heap profiler front-end to separate storage of nodes and edges
https://bugs.webkit.org/show_bug.cgi?id=82453

PerformanceTests:

Updated heap profiler performance test after heap profiler front-end
changes.

Reviewed by Pavel Feldman.

  • inspector/detailed-heapshots-smoke-test.html:

Source/WebCore:

When heap snapshot is completely loaded move nodes and containment edges
into two separate arrays. This way we don't need _nodeIndex and _nodePosition
maps to go from node offset inside the raw snapshot to its index and back, instead
we may just divide node offset by the number of node fields to get node index. After
the nodes and containment edges are separated original array (_nodes) is dropped.
All front-end code was switched to the new representation.

Reviewed by Pavel Feldman.

  • inspector/front-end/HeapSnapshot.js:

(WebInspector.HeapSnapshotRetainerEdge):
(WebInspector.HeapSnapshotRetainerEdge.prototype.clone):
(WebInspector.HeapSnapshotRetainerEdge.prototype.set edgeIndex):
(WebInspector.HeapSnapshotRetainerEdge.prototype.get _edge):
(WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.hasNext):
(WebInspector.HeapSnapshotNode.prototype.get edgesCount):
(WebInspector.HeapSnapshotNode.prototype.get rawEdges):
(WebInspector.HeapSnapshotNode.prototype.get retainers):
(WebInspector.HeapSnapshotNode.prototype.get _nodes):
(WebInspector.HeapSnapshotNode.prototype._firstEdgeIndex):
(WebInspector.HeapSnapshotNode.prototype._afterLastEdgeIndex):
(WebInspector.HeapSnapshotNode.prototype.get _nextNodeIndex):
(WebInspector.HeapSnapshot.prototype._init):
(WebInspector.HeapSnapshot.prototype._splitNodesAndContainmentEdges):
(WebInspector.HeapSnapshot.prototype._createOnlyNodesArray):
(WebInspector.HeapSnapshot.prototype._createContainmentEdgesArray):
(WebInspector.HeapSnapshot.prototype._buildRetainers):
(WebInspector.HeapSnapshot.prototype.dispose):
(WebInspector.HeapSnapshot.prototype.get maxNodeId):
(WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
(WebInspector.HeapSnapshot.prototype._bfs):
(WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
(WebInspector.HeapSnapshot.prototype._getDominatedIndex):
(WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
(WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):

LayoutTests:

Updated heap profiler test after switching heap profiler front-end
to the new representation of nodes and edges.

Reviewed by Pavel Feldman.

  • inspector/profiler/heap-snapshot-expected.txt:
  • inspector/profiler/heap-snapshot-test.js:

(initialize_HeapSnapshotTest.InspectorTest.createHeapSnapshotMockObject):

  • inspector/profiler/heap-snapshot.html:
5:33 AM Changeset in webkit [112522] by kkristof@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Skip the new fast/dom/shadow tests because ENABLE(SHADOW_DOM) is disabled.

  • platform/qt/Skipped: Skip the failing tests
5:31 AM Changeset in webkit [112521] by leo.yang@torchmobile.com.cn
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Add m_targetType to WorkerScriptLoader
https://bugs.webkit.org/show_bug.cgi?id=82574

Reviewed by Rob Buis.

Just as Chromium porting blackberry porting is using m_targetType also.

  • workers/WorkerScriptLoader.h:

(WorkerScriptLoader):

5:02 AM Changeset in webkit [112520] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Add an empty implementation of GraphicsContext3D::setErrorMessageCallback
https://bugs.webkit.org/show_bug.cgi?id=82570

Patch by Robin Cao <robin.cao@torchmobile.com.cn> on 2012-03-29
Reviewed by Rob Buis.

No new tests, no change in functionality.

  • platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:

(WebCore::GraphicsContext3D::setErrorMessageCallback): Add an empty implementation.
(WebCore):

4:56 AM Changeset in webkit [112519] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Clean up ImageBufferData
https://bugs.webkit.org/show_bug.cgi?id=82444

Patch by Robin Cao <robin.cao@torchmobile.com.cn> on 2012-03-29
Reviewed by Rob Buis.

No behavior changes, no new tests.

  • platform/graphics/blackberry/skia/ImageBufferDataSkia.h:

(ImageBufferData): Remove unused member variable m_buffer and change the type
of m_platformLayer from LayerWebKitThread to CanvasLayerWebKitThread.

4:47 AM Changeset in webkit [112518] by shinyak@chromium.org
  • 1 edit
    5 adds in trunk/LayoutTests

Write a test for <base> and <link> are inert in ShadowDOM.
https://bugs.webkit.org/show_bug.cgi?id=82430

Reviewed by Dimitri Glazkov.

This test checks adding <base> or <link> in shadow root will not affect the
elements outside and inside the shadow tree.

  • fast/dom/shadow/base-in-shadow-tree-expected.txt: Added.
  • fast/dom/shadow/base-in-shadow-tree.html: Added.
  • fast/dom/shadow/link-in-shadow-tree-expected.txt: Added.
  • fast/dom/shadow/link-in-shadow-tree.html: Added.
  • fast/dom/shadow/resources/link-in-shadow-style.css: Added.
3:25 AM Changeset in webkit [112517] by tommyw@google.com
  • 2 edits in trunk/Source/WebKit/chromium

MediaStream API: Adding better comments for the WebRTC methods in WebKitPlatformSupport.h
https://bugs.webkit.org/show_bug.cgi?id=82588

Reviewed by Adam Barth.

  • public/platform/WebKitPlatformSupport.h:

(WebKitPlatformSupport):

3:17 AM Changeset in webkit [112516] by Antti Koivisto
  • 13 edits in trunk/Source/WebCore

Split WebKitCSSKeyframeRule into internal and CSSOM types
https://bugs.webkit.org/show_bug.cgi?id=82490

Reviewed by Andreas Kling.

WebKitCSSKeyframeRule is a CSSOM type and should not be used internally.

  • Add StyleKeyframe as the internal data structure for keyframes.
  • WebKitCSSKeyframeRule becomes a wrapper for StyleKeyframe.
  • Use StyleKeyframe internally so WebKitCSSKeyframeRules are created on CSSOM access only.
  • css/CSSGrammar.y:


Use StyleKeyframes instead of WebKitCSSKeyframeRules.


  • css/CSSMediaRule.h:

(CSSMediaRule):
(WebCore::CSSMediaRule::length):
(WebCore::CSSMediaRule::item):

Adapt to LiveCSSRuleList changes.


  • css/CSSParser.cpp:

(WebCore::CSSParser::parseKeyframeRule):
(WebCore::CSSParser::createKeyframe):

  • css/CSSParser.h:

(WebCore):
(CSSParser):

Construct StyleKeyframes.


  • css/CSSRuleList.h:

(WebCore::LiveCSSRuleList::length):
(WebCore::LiveCSSRuleList::item):

Make LiveCSSRuleList call rule item()/length() to avoid accessor duplication.


  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::collectMatchingRulesForList):

  • css/CSSStyleSelector.h:

(CSSStyleSelector):

  • css/WebKitCSSKeyframeRule.cpp:


Use StyleKeyframe.
Make 0% and 100% keyframes static.


(WebCore):
(WebCore::StyleKeyframe::setProperties):
(WebCore::StyleKeyframe::parseKeyString):
(WebCore::StyleKeyframe::cssText):
(WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
(WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule):
(WebCore::WebKitCSSKeyframeRule::style):

  • css/WebKitCSSKeyframeRule.h:

(WebCore):
(WebCore::StyleKeyframe::create):
(WebCore::StyleKeyframe::keyText):
(WebCore::StyleKeyframe::setKeyText):
(StyleKeyframe):
(WebCore::StyleKeyframe::properties):
(WebCore::StyleKeyframe::StyleKeyframe):
(WebKitCSSKeyframeRule):
(WebCore::WebKitCSSKeyframeRule::keyText):
(WebCore::WebKitCSSKeyframeRule::setKeyText):
(WebCore::WebKitCSSKeyframeRule::cssText):

Split to internal and CSSOM wrapper type. The wrapper refs StyleKeyframe.


  • css/WebKitCSSKeyframesRule.cpp:

(WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
(WebCore::WebKitCSSKeyframesRule::parserAppendKeyframe):
(WebCore::WebKitCSSKeyframesRule::insertRule):
(WebCore::WebKitCSSKeyframesRule::deleteRule):
(WebCore::WebKitCSSKeyframesRule::findRule):
(WebCore::WebKitCSSKeyframesRule::findKeyframeIndex):
(WebCore::WebKitCSSKeyframesRule::cssText):
(WebCore):
(WebCore::WebKitCSSKeyframesRule::item):

  • css/WebKitCSSKeyframesRule.h:

(WebCore):
(WebCore::WebKitCSSKeyframesRule::keyframes):
(WebKitCSSKeyframesRule):
(WebCore::WebKitCSSKeyframesRule::length):

Keep StyleKeyframes and the wrappers (WebKitCSSKeyframeRules) in separate vectors.
Construct the wrapper vector and wrappers themselves on demand.
Keep the vectors in sync during mutations.


  • css/WebKitCSSRegionRule.h:


Adapt to LiveCSSRuleList changes.

3:14 AM Changeset in webkit [112515] by zeno.albisser@nokia.com
  • 7 edits
    2 adds in trunk

Fieldset disabled attribute does not work.
https://bugs.webkit.org/show_bug.cgi?id=58837

Source/WebCore:

Make HTMLFormControlElements inherit the disabled state
from HTMLFieldSetElement ancestors. Subordinates of the
first HTMLLegendElement in a fieldset will never be disabled.

Patch by Zeno Albisser <zeno@webkit.org>

Test: fast/forms/fieldset-disabled.html

Reviewed by Kent Tamura.

  • html/HTMLFieldSetElement.cpp:

(WebCore::HTMLFieldSetElement::disabledAttributeChanged):
(WebCore):
(WebCore::HTMLFieldSetElement::legend):

  • html/HTMLFieldSetElement.h:

(HTMLFieldSetElement):

  • html/HTMLFieldSetElement.idl:
  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::HTMLFormControlElement):
(WebCore::HTMLFormControlElement::updateFieldSetAndLegendAncestor):
(WebCore):
(WebCore::HTMLFormControlElement::parseAttribute):
(WebCore::HTMLFormControlElement::disabledAttributeChanged):
(WebCore::HTMLFormControlElement::removedFromTree):
(WebCore::HTMLFormControlElement::disabled):

  • html/HTMLFormControlElement.h:

(WebCore):
(HTMLFormControlElement):

LayoutTests:

Add a test case for fieldset disabled attribute.

Reviewed by Kent Tamura.

  • fast/forms/fieldset/fieldset-disabled-expected.txt: Added.
  • fast/forms/fieldset/fieldset-disabled.html: Added.
3:12 AM Changeset in webkit [112514] by Csaba Osztrogonác
  • 124 edits
    1 copy
    17 adds in trunk/LayoutTests

[Qt] Unreviewed gardening after r112397. Unskip tests, add new baselines.

  • platform/qt/Skipped:
  • platform/qt/fast/block/float/overhanging-tall-block-expected.png:
  • platform/qt/fast/repaint/moving-shadow-on-container-expected.png:
  • platform/qt/fast/repaint/moving-shadow-on-container-expected.txt:
  • platform/qt/fast/repaint/moving-shadow-on-path-expected.png:
  • platform/qt/fast/repaint/moving-shadow-on-path-expected.txt:
  • platform/qt/fast/table/max-width-integer-overflow-expected.png: Copied from LayoutTests/platform/qt/fast/block/float/overhanging-tall-block-expected.png.
  • platform/qt/fast/table/max-width-integer-overflow-expected.txt:
  • platform/qt/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.png:
  • platform/qt/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.txt:
  • platform/qt/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.png:
  • platform/qt/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt:
  • platform/qt/svg/W3C-SVG-1.1/animate-elem-06-t-expected.png:
  • platform/qt/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt:
  • platform/qt/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.png:
  • platform/qt/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.txt:
  • platform/qt/svg/W3C-SVG-1.1/painting-marker-03-f-expected.png:
  • platform/qt/svg/W3C-SVG-1.1/painting-marker-03-f-expected.txt:
  • platform/qt/svg/W3C-SVG-1.1/paths-data-03-f-expected.png:
  • platform/qt/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt:
  • platform/qt/svg/W3C-SVG-1.1/struct-frag-02-t-expected.png:
  • platform/qt/svg/W3C-SVG-1.1/struct-frag-02-t-expected.txt:
  • platform/qt/svg/W3C-SVG-1.1/struct-frag-03-t-expected.png:
  • platform/qt/svg/W3C-SVG-1.1/struct-frag-03-t-expected.txt:
  • platform/qt/svg/W3C-SVG-1.1/text-align-04-b-expected.png:
  • platform/qt/svg/W3C-SVG-1.1/text-align-04-b-expected.txt:
  • platform/qt/svg/W3C-SVG-1.1/text-text-01-b-expected.png:
  • platform/qt/svg/W3C-SVG-1.1/text-text-01-b-expected.txt:
  • platform/qt/svg/as-image/img-preserveAspectRatio-support-1-expected.png:
  • platform/qt/svg/as-image/img-preserveAspectRatio-support-1-expected.txt:
  • platform/qt/svg/batik/masking/maskRegions-expected.png:
  • platform/qt/svg/batik/masking/maskRegions-expected.txt:
  • platform/qt/svg/batik/text/textAnchor-expected.png:
  • platform/qt/svg/batik/text/textAnchor-expected.txt:
  • platform/qt/svg/carto.net/tabgroup-expected.png:
  • platform/qt/svg/carto.net/tabgroup-expected.txt:
  • platform/qt/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.png:
  • platform/qt/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.txt:
  • platform/qt/svg/css/stars-with-shadow-expected.png: Added.
  • platform/qt/svg/css/stars-with-shadow-expected.txt: Added.
  • platform/qt/svg/custom/circular-marker-reference-1-expected.png:
  • platform/qt/svg/custom/circular-marker-reference-1-expected.txt:
  • platform/qt/svg/custom/circular-marker-reference-2-expected.png:
  • platform/qt/svg/custom/circular-marker-reference-2-expected.txt: Added.
  • platform/qt/svg/custom/circular-marker-reference-3-expected.png:
  • platform/qt/svg/custom/circular-marker-reference-3-expected.txt: Added.
  • platform/qt/svg/custom/circular-marker-reference-4-expected.png:
  • platform/qt/svg/custom/circular-marker-reference-4-expected.txt: Added.
  • platform/qt/svg/custom/embedding-external-svgs-expected.png:
  • platform/qt/svg/custom/embedding-external-svgs-expected.txt:
  • platform/qt/svg/custom/empty-merge-expected.png:
  • platform/qt/svg/custom/empty-merge-expected.txt:
  • platform/qt/svg/custom/image-with-transform-clip-filter-expected.png:
  • platform/qt/svg/custom/image-with-transform-clip-filter-expected.txt:
  • platform/qt/svg/custom/non-circular-marker-reference-expected.png:
  • platform/qt/svg/custom/non-circular-marker-reference-expected.txt: Added.
  • platform/qt/svg/custom/non-scaling-stroke-markers-expected.png:
  • platform/qt/svg/custom/non-scaling-stroke-markers-expected.txt: Added.
  • platform/qt/svg/custom/object-sizing-explicit-width-height-expected.png:
  • platform/qt/svg/custom/object-sizing-explicit-width-height-expected.txt:
  • platform/qt/svg/custom/recursive-filter-expected.png:
  • platform/qt/svg/custom/recursive-filter-expected.txt:
  • platform/qt/svg/custom/relative-sized-inner-svg-expected.png:
  • platform/qt/svg/custom/relative-sized-inner-svg-expected.txt:
  • platform/qt/svg/custom/relative-sized-use-on-symbol-expected.png: Added.
  • platform/qt/svg/custom/relative-sized-use-on-symbol-expected.txt:
  • platform/qt/svg/custom/relative-sized-use-without-attributes-on-symbol-expected.png:
  • platform/qt/svg/custom/relative-sized-use-without-attributes-on-symbol-expected.txt:
  • platform/qt/svg/custom/resource-invalidate-on-target-update-expected.png: Added.
  • platform/qt/svg/custom/resource-invalidate-on-target-update-expected.txt:
  • platform/qt/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png:
  • platform/qt/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
  • platform/qt/svg/custom/stroked-pattern-expected.png:
  • platform/qt/svg/custom/stroked-pattern-expected.txt:
  • platform/qt/svg/custom/text-rotated-gradient-expected.png:
  • platform/qt/svg/custom/text-rotated-gradient-expected.txt:
  • platform/qt/svg/custom/use-css-events-expected.png:
  • platform/qt/svg/custom/use-css-events-expected.txt:
  • platform/qt/svg/custom/use-detach-expected.png:
  • platform/qt/svg/custom/use-detach-expected.txt:
  • platform/qt/svg/custom/use-on-symbol-inside-pattern-expected.png: Added.
  • platform/qt/svg/custom/use-on-symbol-inside-pattern-expected.txt:
  • platform/qt/svg/dom/css-transforms-expected.png: Added.
  • platform/qt/svg/dom/css-transforms-expected.txt: Added.
  • platform/qt/svg/filters/feColorMatrix-saturate-expected.txt:
  • platform/qt/svg/filters/feColorMatrix-values-expected.png: Added.
  • platform/qt/svg/filters/feColorMatrix-values-expected.txt:
  • platform/qt/svg/filters/feImage-preserveAspectratio-expected.png:
  • platform/qt/svg/filters/filteredImage-expected.png: Added.
  • platform/qt/svg/filters/filteredImage-expected.txt:
  • platform/qt/svg/hixie/links/001-expected.txt: Added.
  • platform/qt/svg/hixie/perf/007-expected.png:
  • platform/qt/svg/hixie/perf/007-expected.txt:
  • platform/qt/svg/hixie/viewbox/preserveAspectRatio/001-expected.png:
  • platform/qt/svg/hixie/viewbox/preserveAspectRatio/001-expected.txt:
  • platform/qt/svg/overflow/overflow-on-inner-svg-element-expected.png:
  • platform/qt/svg/overflow/overflow-on-inner-svg-element-expected.txt:
  • platform/qt/svg/text/select-textLength-spacing-squeeze-1-expected.png:
  • platform/qt/svg/text/select-textLength-spacing-squeeze-1-expected.txt:
  • platform/qt/svg/text/select-textLength-spacing-squeeze-2-expected.png:
  • platform/qt/svg/text/select-textLength-spacing-squeeze-2-expected.txt:
  • platform/qt/svg/text/select-textLength-spacing-squeeze-3-expected.png:
  • platform/qt/svg/text/select-textLength-spacing-squeeze-3-expected.txt:
  • platform/qt/svg/text/select-textLength-spacing-squeeze-4-expected.png:
  • platform/qt/svg/text/select-textLength-spacing-squeeze-4-expected.txt:
  • platform/qt/svg/text/select-textLength-spacing-stretch-1-expected.png:
  • platform/qt/svg/text/select-textLength-spacing-stretch-1-expected.txt:
  • platform/qt/svg/text/select-textLength-spacing-stretch-2-expected.png:
  • platform/qt/svg/text/select-textLength-spacing-stretch-2-expected.txt:
  • platform/qt/svg/text/select-textLength-spacing-stretch-3-expected.png:
  • platform/qt/svg/text/select-textLength-spacing-stretch-3-expected.txt:
  • platform/qt/svg/text/select-textLength-spacing-stretch-4-expected.png:
  • platform/qt/svg/text/select-textLength-spacing-stretch-4-expected.txt:
  • platform/qt/svg/text/select-textLength-spacingAndGlyphs-stretch-4-expected.png:
  • platform/qt/svg/text/select-textLength-spacingAndGlyphs-stretch-4-expected.txt:
  • platform/qt/svg/text/select-x-list-1-expected.png:
  • platform/qt/svg/text/select-x-list-1-expected.txt:
  • platform/qt/svg/text/select-x-list-2-expected.png:
  • platform/qt/svg/text/select-x-list-2-expected.txt:
  • platform/qt/svg/text/select-x-list-3-expected.png:
  • platform/qt/svg/text/select-x-list-3-expected.txt:
  • platform/qt/svg/text/select-x-list-4-expected.png:
  • platform/qt/svg/text/select-x-list-4-expected.txt:
  • platform/qt/svg/text/select-x-list-with-tspans-1-expected.png:
  • platform/qt/svg/text/select-x-list-with-tspans-1-expected.txt:
  • platform/qt/svg/text/select-x-list-with-tspans-2-expected.png:
  • platform/qt/svg/text/select-x-list-with-tspans-2-expected.txt:
  • platform/qt/svg/text/select-x-list-with-tspans-3-expected.png:
  • platform/qt/svg/text/select-x-list-with-tspans-3-expected.txt:
  • platform/qt/svg/text/select-x-list-with-tspans-4-expected.png:
  • platform/qt/svg/text/select-x-list-with-tspans-4-expected.txt:
  • platform/qt/svg/text/small-fonts-2-expected.png:
  • platform/qt/svg/text/small-fonts-2-expected.txt:
  • platform/qt/svg/text/text-align-05-b-expected.png:
  • platform/qt/svg/text/text-align-05-b-expected.txt:
  • platform/qt/svg/transforms/transform-origin-css-property-expected.png: Added.
  • platform/qt/svg/transforms/transform-origin-css-property-expected.txt: Added.
  • platform/qt/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
  • platform/qt/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:
  • platform/qt/svg/zoom/page/zoom-mask-with-percentages-expected.png:
  • platform/qt/svg/zoom/page/zoom-mask-with-percentages-expected.txt:
3:06 AM Changeset in webkit [112513] by tommyw@google.com
  • 2 edits in trunk/Source/WebCore

MediaStream API: Adding two missing release() calls to PeerConnection00.cpp
https://bugs.webkit.org/show_bug.cgi?id=82584

Reviewed by Adam Barth.

No changes that affects functionality.

  • Modules/mediastream/PeerConnection00.cpp:

(WebCore::PeerConnection00::createOffer):
(WebCore::PeerConnection00::createAnswer):

2:48 AM Changeset in webkit [112512] by rniwa@webkit.org
  • 13 edits in trunk/Source/WebCore

Pack bitfields in InlineBox for Windows
https://bugs.webkit.org/show_bug.cgi?id=82578

Reviewed by Kent Tamura.

Unlike gcc and clang, MSVC pads each consecutive member variables of the same type in bitfields. e.g. if you have:
sturct AB {
unsigned m_1 : 31;
bool m_2 : 1;
}
then MSVC pads m_1 and allocates sizeof(unsigned) * 2 for AB whereas gcc and clang only allocate
sizeof(unsigned) * 1 for AB.

Fixed the bug by packing all bitfields in InlineBox into InlineBoxBitfields and always using either unsigned or int.

  • rendering/EllipsisBox.cpp:

(WebCore::EllipsisBox::paint):
(WebCore::EllipsisBox::selectionRect):
(WebCore::EllipsisBox::nodeAtPoint):

  • rendering/InlineBox.cpp:

(WebCore):
(SameSizeAsInlineBox):
(WebCore::InlineBox::logicalHeight):
(WebCore::InlineBox::baselinePosition): Moved from the header file since it's a virtual function.
(WebCore::InlineBox::lineHeight): Ditto.
(WebCore::InlineBox::deleteLine):
(WebCore::InlineBox::extractLine):
(WebCore::InlineBox::attachLine):
(WebCore::InlineBox::nextOnLineExists):
(WebCore::InlineBox::clearKnownToHaveNoOverflow):

  • rendering/InlineBox.h:

(WebCore::InlineBox::InlineBox):
(WebCore::InlineBox::isText):
(WebCore::InlineBox::setIsText):
(WebCore::InlineBox::hasVirtualLogicalHeight):
(WebCore::InlineBox::setHasVirtualLogicalHeight):
(WebCore::InlineBox::isHorizontal):
(WebCore::InlineBox::setIsHorizontal):
(WebCore::InlineBox::isConstructed):
(WebCore::InlineBox::setConstructed):
(WebCore::InlineBox::setExtracted):
(WebCore::InlineBox::setFirstLineStyleBit):
(WebCore::InlineBox::isFirstLineStyle):
(InlineBox):
(WebCore::InlineBox::bidiLevel):
(WebCore::InlineBox::setBidiLevel):
(WebCore::InlineBox::direction):
(WebCore::InlineBox::isDirty):
(WebCore::InlineBox::markDirty):
(WebCore::InlineBox::expansion):
(WebCore::InlineBox::verticalAlign):
(WebCore::InlineBox::knownToHaveNoOverflow):
(WebCore::InlineBox::dirOverride):
(WebCore::InlineBox::setDirOverride):
(InlineBoxBitfields):
(WebCore::InlineBox::InlineBoxBitfields::InlineBoxBitfields):
(WebCore::InlineBox::InlineBoxBitfields::bidiEmbeddingLevel):
(WebCore::InlineBox::InlineBoxBitfields::setBidiEmbeddingLevel):
(WebCore::InlineBox::InlineBoxBitfields::determinedIfNextOnLineExists):
(WebCore::InlineBox::InlineBoxBitfields::setDeterminedIfNextOnLineExists):
(WebCore::InlineBox::InlineBoxBitfields::nextOnLineExists):
(WebCore::InlineBox::InlineBoxBitfields::setNextOnLineExists):
(WebCore::InlineBox::InlineBoxBitfields::expansion):
(WebCore::InlineBox::InlineBoxBitfields::setExpansion):
(WebCore::InlineBox::endsWithBreak):
(WebCore::InlineBox::setEndsWithBreak):
(WebCore::InlineBox::hasEllipsisBox):
(WebCore::InlineBox::hasSelectedChildren):
(WebCore::InlineBox::setHasSelectedChildren):
(WebCore::InlineBox::setHasEllipsisBox):
(WebCore::InlineBox::hasHyphen):
(WebCore::InlineBox::setHasHyphen):
(WebCore::InlineBox::canHaveLeadingExpansion):
(WebCore::InlineBox::setCanHaveLeadingExpansion):
(WebCore::InlineBox::setExpansion):
(WebCore::InlineBox::extracted):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::addToLine):
(WebCore::InlineFlowBox::removeChild):
(WebCore::InlineFlowBox::extractLine):
(WebCore::InlineFlowBox::attachLine):
(WebCore::InlineFlowBox::placeBoxesInInlineDirection):
(WebCore::InlineFlowBox::requiresIdeographicBaseline):
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):
(WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
(WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
(WebCore::InlineFlowBox::addTextBoxVisualOverflow):
(WebCore::InlineFlowBox::paintBoxDecorations):
(WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
(WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::destroy):
(WebCore::InlineTextBox::logicalOverflowRect):
(WebCore::InlineTextBox::setLogicalOverflowRect):
(WebCore::InlineTextBox::baselinePosition):
(WebCore::InlineTextBox::lineHeight):
(WebCore::InlineTextBox::localSelectionRect):
(WebCore::InlineTextBox::extractLine):
(WebCore::InlineTextBox::attachLine):
(WebCore::InlineTextBox::placeEllipsisBox):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintDecoration):
(WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
(WebCore::InlineTextBox::paintCompositionUnderline):
(WebCore::InlineTextBox::offsetForPosition):
(WebCore::InlineTextBox::positionForOffset):
(WebCore::InlineTextBox::constructTextRun):

  • rendering/InlineTextBox.h:

(InlineTextBox):
(WebCore::InlineTextBox::setExpansion):
(WebCore::InlineTextBox::expansionBehavior):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::constructLine):

  • rendering/RenderTreeAsText.cpp:

(WebCore::writeTextRun):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::baselinePosition): Moved from the header file since it's a virtual function.
(WebCore::RootInlineBox::lineHeight): Ditto.
(WebCore::RootInlineBox::paint):
(WebCore::RootInlineBox::ascentAndDescentForBox):
(WebCore::RootInlineBox::verticalPositionForBox):

  • rendering/RootInlineBox.h:

(RootInlineBox):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::constructTextRun):

  • rendering/svg/SVGRenderTreeAsText.cpp:

(WebCore::writeSVGInlineTextBox):

2:45 AM Changeset in webkit [112511] by hayato@chromium.org
  • 9 edits
    2 adds
    2 deletes in trunk

Let focus navigation be compliant with Shadow DOM spec.
https://bugs.webkit.org/show_bug.cgi?id=78588

Reviewed by Dimitri Glazkov.

Source/WebCore:

Re-landing r112500. Fixed an assertion failure on ReifiedTreeTraversal.

Sequential focus navigation now behaves exactly as specified in the Shadow DOM spec.

According to the Shadow DOM spec:
The shadow DOM navigation order sequence is inserted into the document navigation order:

  1. immediately after the shadow host, if the shadow host is focusable; or
  2. in place of the shadow host as if the shadow host were assigned the value of auto for determining its position.

Prior to this patch, sequential focus navigation goes into Shadow DOM, but it is incomplete
since insertion points, such as <content> elements or <shadow> elements, are not resolved at all.
Now focus navigation can traverse shadow DOM subtrees in 'reified tree order', resolving lower boundaries transparently.

Implementation notes:
Prior to this patch, sequential focus navigation does not go into Shadow DOM if a shadow host is non-focusable.
Now focus navigation must go into Shadow DOM subtrees even if a show host is not focusable as described in 2).
To support this behavior, this patch introduced adjustedTabIndex() locally in FocusController so that
it does not skip a non-focusable shadow host in current focus scope.
After finding a *pseudo* focusable element in current focus scope, it tries to resolve a focused element recursively,
considering a nested focus scope inside of a shadow host or iframe.
To traverse Shadow DOM subtrees, a FocusController makes use of ReifiedTreeTraversal APIs, which was introduced in r112055.

This change does not affect an existing behavior if a shadow dom is not involved.

Test: fast/dom/shadow/focus-navigation.html

  • dom/Element.cpp:

(WebCore::Element::focus):

  • dom/ReifiedTreeTraversal.cpp:

(WebCore::ReifiedTreeTraversal::parentNodeWithoutCrossingUpperBoundary):

  • page/FocusController.cpp:

(WebCore::isShadowHost):
(WebCore):
(WebCore::FocusScope::FocusScope):
(WebCore::FocusScope::rootNode):
(WebCore::FocusScope::owner):
(WebCore::FocusScope::focusScopeOf):
(WebCore::FocusScope::focusScopeOwnedByShadowHost):
(WebCore::FocusScope::focusScopeOwnedByIFrame):
(WebCore::hasCustomFocusLogic):
(WebCore::isNonFocusableShadowHost):
(WebCore::isFocusableShadowHost):
(WebCore::adjustedTabIndex):
(WebCore::shouldVisit):
(WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocument):
(WebCore::FocusController::advanceFocusInDocumentOrder):
(WebCore::FocusController::findFocusableNodeAcrossFocusScope):
(WebCore::FocusController::findFocusableNodeRecursively):
(WebCore::FocusController::findFocusableNode):
(WebCore::FocusController::findNodeWithExactTabIndex):
(WebCore::nextNodeWithGreaterTabIndex):
(WebCore::previousNodeWithLowerTabIndex):
(WebCore::FocusController::nextFocusableNode):
(WebCore::FocusController::previousFocusableNode):

  • page/FocusController.h:

(WebCore):
(FocusScope):
(FocusController):

LayoutTests:

  • fast/dom/shadow/focus-navigation-expected.txt: Added.
  • fast/dom/shadow/focus-navigation.html: Added.
  • fast/dom/shadow/resources/shadow-dom.js:

(isShadowHost):
(isIframeElement):
(getNodeInShadowTreeStack):
(dumpNode):
(innermostActiveElement):
(isInnermostActiveElement):
(shouldNavigateFocus):
(navigateFocusForward):
(navigateFocusBackward):
(testFocusNavigationFowrad):
(testFocusNavigationBackward):

  • fast/dom/shadow/shadow-host-transfer-focus-expected.txt: Removed.
  • fast/dom/shadow/shadow-host-transfer-focus.html: Removed.
  • fast/dom/shadow/tab-order-iframe-and-shadow-expected.txt:
  • fast/dom/shadow/tab-order-iframe-and-shadow.html:
2:40 AM Changeset in webkit [112510] by kinuko@chromium.org
  • 9 edits in trunk/Source

[chromium] Add isolated filesystem type and WebDragData::filesystem_id for drag-and-drop using File/DirectoryEntry.
https://bugs.webkit.org/show_bug.cgi?id=76826

Source/WebCore:

Add two helper methods for creating isolated filesystem to the
PlatformSupport interface.

Reviewed by David Levin.

No new tests: tests will be added when app-facing code is added.

  • platform/chromium/PlatformSupport.h:

(PlatformSupport):

Source/WebKit/chromium:

As proposed on whatwg (http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2011-November/033814.html)
we are implementing better drag-and-drop support using File/Directory
Entry objects in FileSystem API, and for the purpose this patch adds
a new filesystem type: Isolated filesystem.

Each filesystem can be distinguished by a filesystem ID that is given
by chromium platform code via WebDragData when set of
files/directories are dropped.

This is all platform-specific implementation detail and all the changes
are in chromium directory.

Reviewed by David Levin.

  • public/platform/WebDragData.h:

(WebDragData):

  • public/platform/WebFileSystem.h: Added Isolated type.
  • src/AsyncFileSystemChromium.cpp:

(WebCore::AsyncFileSystemChromium::createIsolatedFileSystemName): Added.
(WebCore::AsyncFileSystemChromium::createIsolatedFileSystem): Added.
(WebCore::AsyncFileSystemChromium::toURL): Made it not to return URL
for isolated filesystem (as we do not support it for now).

  • src/AsyncFileSystemChromium.h:
  • src/PlatformSupport.cpp:

(WebCore::PlatformSupport::createIsolatedFileSystem): Added.

  • src/WebDragData.cpp:

(WebKit::WebDragData::filesystemId): Added.
(WebKit::WebDragData::setFilesystemId): Added.

2:11 AM Changeset in webkit [112509] by kkristof@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Skip some failing tests.

Patch by Ádám Kallai <kadam@inf.u-szeged.hu> on 2012-03-29

  • platform/qt/Skipped:
1:46 AM Changeset in webkit [112508] by kkristof@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed rebaseline after r112444

  • platform/qt/editing/pasteboard/select-element-1-expected.txt:
1:45 AM Changeset in webkit [112507] by kinuko@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed; rolling chromium deps to 129583.

  • DEPS:
1:32 AM Changeset in webkit [112506] by commit-queue@webkit.org
  • 16 edits
    2 deletes in trunk

Remove custom bindings form Internals.idl of attribute type Array.
https://bugs.webkit.org/show_bug.cgi?id=82319

Patch by Vineet Chaudhary <Vineet> on 2012-03-29
Reviewed by Kentaro Hara.

Source/WebCore:

Remove custom bindings for Array type and replace Array type with sequence<String>.

No new tests. LayoutTests/fast/harness/user-preferred-language.html should pass
even after these changes.

  • Target.pri: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
  • UseJSC.cmake: Remove JSInternalsCustom.cpp.
  • UseV8.cmake: Remove V8InternalsCustom.cpp.
  • WebCore.gypi: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
  • WebCore.vcproj/WebCoreTestSupport.vcproj: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
  • WebCore.xcodeproj/project.pbxproj: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
  • bindings/js/JSDOMBinding.h:

(WebCore):
(WebCore::jsArray): Added new specialize function template for Strings.

  • bindings/scripts/CodeGeneratorJS.pm:

(JSValueToNative): Add jsArray<String>() to deduce return type.
(NativeToJSValue): Added check for type String.

  • bindings/scripts/CodeGeneratorV8.pm:

(JSValueToNative): Add v8Array<String>() to deduce return type.
(NativeToJSValue): Added check for type String.

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::setJSTestObjSequenceAttr): Modified results from run-binding-tests.

  • bindings/scripts/test/V8/V8TestObj.cpp: Modified results from run-binding-tests.

(WebCore::TestObjInternal::sequenceAttrAttrSetter):

  • bindings/v8/V8Binding.h: Added new specialize function template for Strings.

(WebCore):
(WebCore::v8Array):
(WebCore::toNativeArray):

  • testing/Internals.idl: Replace Array type with sequence<String>
  • testing/js/JSInternalsCustom.cpp: Removed.
  • testing/v8/V8InternalsCustom.cpp: Removed.

Tools:

Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp as no longer required.

  • GNUmakefile.am:
12:18 AM Changeset in webkit [112505] by commit-queue@webkit.org
  • 8 edits
    2 adds
    2 deletes in trunk

Unreviewed, rolling out r112500.
http://trac.webkit.org/changeset/112500
https://bugs.webkit.org/show_bug.cgi?id=82576

assertion failed on fast/events/tab-test-not-visible-
imagemap.html on gtk/qt (Requested by hayato on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-03-29

Source/WebCore:

  • dom/Element.cpp:

(WebCore::Element::focus):

  • page/FocusController.cpp:

(WebCore):
(WebCore::shadowRoot):
(WebCore::isTreeScopeOwner):
(WebCore::FocusController::transferFocusToElementInShadowRoot):
(WebCore::hasCustomFocusLogic):
(WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocumentOrShadowRoot):
(WebCore::FocusController::advanceFocusInDocumentOrder):
(WebCore::ownerOfTreeScope):
(WebCore::FocusController::findFocusableNodeAcrossTreeScope):
(WebCore::FocusController::findFocusableNode):
(WebCore::nextNodeWithExactTabIndex):
(WebCore::previousNodeWithExactTabIndex):
(WebCore::nextNodeWithGreaterTabIndex):
(WebCore::previousNodeWithLowerTabIndex):
(WebCore::FocusController::nextFocusableNode):
(WebCore::FocusController::previousFocusableNode):

  • page/FocusController.h:

(WebCore):
(FocusController):

LayoutTests:

  • fast/dom/shadow/focus-navigation-expected.txt: Removed.
  • fast/dom/shadow/focus-navigation.html: Removed.
  • fast/dom/shadow/resources/shadow-dom.js:

(getNodeInShadowTreeStack):

  • fast/dom/shadow/shadow-host-transfer-focus-expected.txt: Added.
  • fast/dom/shadow/shadow-host-transfer-focus.html: Added.
  • fast/dom/shadow/tab-order-iframe-and-shadow-expected.txt:
  • fast/dom/shadow/tab-order-iframe-and-shadow.html:

Mar 28, 2012:

11:52 PM Changeset in webkit [112504] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

DFG object equality speculations should be simplified
https://bugs.webkit.org/show_bug.cgi?id=82557

Reviewed by Gavin Barraclough.

  • dfg/DFGNode.h:

(JSC::DFG::Node::shouldSpeculateFinalObject):
(JSC::DFG::Node::shouldSpeculateArray):

11:00 PM Changeset in webkit [112503] by tkent@chromium.org
  • 4 edits in trunk/Source/WebCore

Add TextFieldDecorationElement::decorate()
https://bugs.webkit.org/show_bug.cgi?id=82572

Reviewed by Hajime Morita.

This change will be needed for Bug 82143.
No new tests because of no behavior changes yet. This code change
doesn't affect non-Chromium ports for now.

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::create):
Remove unnecessary assertion. We should allow multiple UA shadow roots.

  • html/shadow/TextFieldDecorationElement.cpp:

(WebCore::TextFieldDecorationElement::decorate):
Added.
This function adds another ShadowRoot, and it contains one flexible box container.
The container contains existin ShadowRoot content and the decoration element.

  • html/shadow/TextFieldDecorationElement.h:

(TextFieldDecorationElement): Add the declaration of decorate().

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

Consider removal of removes jsNull()/v8::Null() from JSInternalsCustom.cpp/V8InternalsCustom.cpp
https://bugs.webkit.org/show_bug.cgi?id=82442

Patch by Vineet Chaudhary <Vineet> on 2012-03-28
Reviewed by Kentaro Hara.

No new tests. LayoutTests/fast/harness/user-preferred-language.html should pass
even after these changes.

  • testing/js/JSInternalsCustom.cpp: Remove jsNull() if Vector is empty.

(WebCore::JSInternals::userPreferredLanguages):

  • testing/v8/V8InternalsCustom.cpp: Remove v8::Null() if Vector is empty.

(WebCore::V8Internals::userPreferredLanguagesAccessorGetter):

10:29 PM Changeset in webkit [112501] by abarth@webkit.org
  • 3 edits
    12 copies
    12 adds in trunk/Source

[Chromium] Move APIs related to ResourceHandle into Platform
https://bugs.webkit.org/show_bug.cgi?id=82553

Reviewed by James Robinson.

Source/Platform:

This patch is the first patch in this series:
https://github.com/abarth/webkit/compare/master...webcore-platform

The goal of these patches is to move WebCore::ResourceHandle out of
Chromium's WebKit layer and into WebCore/platform, where it belongs.

This patch moves the Chromium-WebKit APIs used by ResourceHandle out of
the WebKit layer and into the Plaform layer. These are APIs that WebKit
uses to call "down" to manipulate the underlying platform (rather than
"up" to the client to make decisions). The long-term plan is to move
all of the headers in WebKit/chromium/public/platform into
Platform/chromium/public (although we'll likely need to clean up some
layering violations as we go).

  • Platform.gypi:
  • chromium/public/WebData.h: Added.

(WebKit):
(WebData):
(WebKit::WebData::~WebData):
(WebKit::WebData::WebData):
(WebKit::WebData::operator=):
(WebKit::WebData::isEmpty):
(WebKit::WebData::isNull):

  • chromium/public/WebHTTPBody.h: Added.

(WebKit):
(WebHTTPBody):
(WebKit::WebHTTPBody::~WebHTTPBody):
(WebKit::WebHTTPBody::WebHTTPBody):
(WebKit::WebHTTPBody::operator=):
(WebKit::WebHTTPBody::isNull):

  • chromium/public/WebHTTPHeaderVisitor.h: Added.

(WebKit):
(WebHTTPHeaderVisitor):
(WebKit::WebHTTPHeaderVisitor::~WebHTTPHeaderVisitor):

  • chromium/public/WebHTTPLoadInfo.h: Added.

(WebCore):
(WebKit):
(WebHTTPLoadInfo):
(WebKit::WebHTTPLoadInfo::WebHTTPLoadInfo):
(WebKit::WebHTTPLoadInfo::~WebHTTPLoadInfo):
(WebKit::WebHTTPLoadInfo::operator =):

  • chromium/public/WebPrivateOwnPtr.h: Added.

(WebKit):
(WebPrivateOwnPtr):
(WebKit::WebPrivateOwnPtr::WebPrivateOwnPtr):
(WebKit::WebPrivateOwnPtr::~WebPrivateOwnPtr):
(WebKit::WebPrivateOwnPtr::reset):
(WebKit::WebPrivateOwnPtr::get):
(WebKit::WebPrivateOwnPtr::operator->):

  • chromium/public/WebURL.h: Added.

(WebKit):
(WebURL):
(WebKit::WebURL::~WebURL):
(WebKit::WebURL::WebURL):
(WebKit::WebURL::operator=):
(WebKit::WebURL::assign):
(WebKit::WebURL::spec):
(WebKit::WebURL::parsed):
(WebKit::WebURL::isValid):
(WebKit::WebURL::isEmpty):
(WebKit::WebURL::isNull):
(WebKit::WebURL::operator GURL):
(WebKit::operator<):
(WebKit::operator==):
(WebKit::operator!=):

  • chromium/public/WebURLError.h: Added.

(WebKit):
(WebURLError):
(WebKit::WebURLError::WebURLError):

  • chromium/public/WebURLLoadTiming.h: Added.

(WebKit):
(WebURLLoadTiming):
(WebKit::WebURLLoadTiming::~WebURLLoadTiming):
(WebKit::WebURLLoadTiming::WebURLLoadTiming):
(WebKit::WebURLLoadTiming::operator=):
(WebKit::WebURLLoadTiming::isNull):

  • chromium/public/WebURLLoader.h: Added.

(WebKit):
(WebURLLoader):
(WebKit::WebURLLoader::~WebURLLoader):

  • chromium/public/WebURLLoaderClient.h: Added.

(WebKit):
(WebURLLoaderClient):
(WebKit::WebURLLoaderClient::willSendRequest):
(WebKit::WebURLLoaderClient::didSendData):
(WebKit::WebURLLoaderClient::didReceiveResponse):
(WebKit::WebURLLoaderClient::didDownloadData):
(WebKit::WebURLLoaderClient::didReceiveData):
(WebKit::WebURLLoaderClient::didReceiveCachedMetadata):
(WebKit::WebURLLoaderClient::didFinishLoading):
(WebKit::WebURLLoaderClient::didFail):
(WebKit::WebURLLoaderClient::~WebURLLoaderClient):

  • chromium/public/WebURLRequest.h: Added.

(WebKit):
(WebURLRequest):
(ExtraData):
(WebKit::WebURLRequest::ExtraData::~ExtraData):
(WebKit::WebURLRequest::~WebURLRequest):
(WebKit::WebURLRequest::WebURLRequest):
(WebKit::WebURLRequest::operator=):

  • chromium/public/WebURLResponse.h: Added.

(WebKit):
(WebURLResponse):
(ExtraData):
(WebKit::WebURLResponse::ExtraData::~ExtraData):
(WebKit::WebURLResponse::~WebURLResponse):
(WebKit::WebURLResponse::WebURLResponse):
(WebKit::WebURLResponse::operator=):

Source/WebKit/chromium:

These headers are now just forwarding headers to the new location of
these headers. These forwarding headers exist to avoid breaking
existing users of the API. They will likely be removed (or changed)
in the future once we've updated all folks using them.

  • public/platform/WebData.h:
  • public/platform/WebHTTPBody.h:
  • public/platform/WebHTTPHeaderVisitor.h:
  • public/platform/WebHTTPLoadInfo.h:
  • public/platform/WebPrivateOwnPtr.h:
  • public/platform/WebURL.h:
  • public/platform/WebURLError.h:
  • public/platform/WebURLLoadTiming.h:
  • public/platform/WebURLLoader.h:
  • public/platform/WebURLLoaderClient.h:
  • public/platform/WebURLRequest.h:
  • public/platform/WebURLResponse.h:
9:59 PM Changeset in webkit [112500] by hayato@chromium.org
  • 8 edits
    2 adds
    2 deletes in trunk

Source/WebCore: Let focus navigation be compliant with Shadow DOM spec.
https://bugs.webkit.org/show_bug.cgi?id=78588

Reviewed by Dimitri Glazkov.

Sequential focus navigation now behaves exactly as specified in the Shadow DOM spec.

According to the Shadow DOM spec:
The shadow DOM navigation order sequence is inserted into the document navigation order:

  1. immediately after the shadow host, if the shadow host is focusable; or
  2. in place of the shadow host as if the shadow host were assigned the value of auto for determining its position.

Prior to this patch, sequential focus navigation goes into Shadow DOM, but it is incomplete
since insertion points, such as <content> elements or <shadow> elements, are not resolved at all.
Now focus navigation can traverse shadow DOM subtrees in 'reified tree order', resolving lower boundaries transparently.

Implementation notes:
Prior to this patch, sequential focus navigation does not go into Shadow DOM if a shadow host is non-focusable.
Now focus navigation must go into Shadow DOM subtrees even if a show host is not focusable as described in 2).
To support this behavior, this patch introduced adjustedTabIndex() locally in FocusController so that
it does not skip a non-focusable shadow host in current focus scope.
After finding a *pseudo* focusable element in current focus scope, it tries to resolve a focused element recursively,
considering a nested focus scope inside of a shadow host or iframe.
To traverse Shadow DOM subtrees, a FocusController makes use of ReifiedTreeTraversal APIs, which was introduced in r112055.

This change does not affect an existing behavior if a shadow dom is not involved.

Test: fast/dom/shadow/focus-navigation.html

  • dom/Element.cpp:

(WebCore::Element::focus):

  • page/FocusController.cpp:

(WebCore::isShadowHost):
(WebCore):
(WebCore::FocusScope::FocusScope):
(WebCore::FocusScope::rootNode):
(WebCore::FocusScope::owner):
(WebCore::FocusScope::focusScopeOf):
(WebCore::FocusScope::focusScopeOwnedByShadowHost):
(WebCore::FocusScope::focusScopeOwnedByIFrame):
(WebCore::hasCustomFocusLogic):
(WebCore::isNonFocusableShadowHost):
(WebCore::isFocusableShadowHost):
(WebCore::adjustedTabIndex):
(WebCore::shouldVisit):
(WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocument):
(WebCore::FocusController::advanceFocusInDocumentOrder):
(WebCore::FocusController::findFocusableNodeAcrossFocusScope):
(WebCore::FocusController::findFocusableNodeRecursively):
(WebCore::FocusController::findFocusableNode):
(WebCore::FocusController::findNodeWithExactTabIndex):
(WebCore::nextNodeWithGreaterTabIndex):
(WebCore::previousNodeWithLowerTabIndex):
(WebCore::FocusController::nextFocusableNode):
(WebCore::FocusController::previousFocusableNode):

  • page/FocusController.h:

(WebCore):
(FocusScope):
(FocusController):

LayoutTests: Make focus navigation be compliant with Shadow DOM spec.
https://bugs.webkit.org/show_bug.cgi?id=78588

Reviewed by Dimitri Glazkov.

  • fast/dom/shadow/focus-navigation-expected.txt: Added.
  • fast/dom/shadow/focus-navigation.html: Added.
  • fast/dom/shadow/resources/shadow-dom.js:

(isShadowHost):
(isIframeElement):
(getNodeInShadowTreeStack):
(dumpNode):
(innermostActiveElement):
(isInnermostActiveElement):
(shouldNavigateFocus):
(navigateFocusForward):
(navigateFocusBackward):
(testFocusNavigationFowrad):
(testFocusNavigationBackward):

  • fast/dom/shadow/shadow-host-transfer-focus-expected.txt: Removed.
  • fast/dom/shadow/shadow-host-transfer-focus.html: Removed.
  • fast/dom/shadow/tab-order-iframe-and-shadow-expected.txt:
  • fast/dom/shadow/tab-order-iframe-and-shadow.html:
9:22 PM Changeset in webkit [112499] by commit-queue@webkit.org
  • 5 edits
    3 adds in trunk

[WebSocket]Browser must fail connection if Sec-WebSocket-Protocol mismatched.
https://bugs.webkit.org/show_bug.cgi?id=82307

Patch by Li Yin <li.yin@intel.com> on 2012-03-28
Reviewed by Kent Tamura.

Source/WebCore:

From RFC6455: http://tools.ietf.org/html/rfc6455#section-4.1
If the WebSocket openhanding respond included the mismatched
Sec-WebSocket-Protocol header field, the client must fail the WebSocket Connection.

Test: http/tests/websocket/tests/hybi/handshake-fail-by-mismatch-protocol-header.html

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::WebSocketHandshake::checkResponseHeaders):

LayoutTests:

From RFC6455: http://tools.ietf.org/html/rfc6455#section-4.1
If the response includes a |Sec-WebSocket-Protocol| header field
and this header field indicates the use of a subprotocol that was
not present in the client's handshake (the server has indicated a
subprotocol not requested by the client), the client MUST _Fail
the WebSocket Connection_.

  • http/tests/websocket/tests/hybi/handshake-fail-by-mismatch-protocol-header-expected.txt: Added.
  • http/tests/websocket/tests/hybi/handshake-fail-by-mismatch-protocol-header.html: Added.
  • http/tests/websocket/tests/hybi/handshake-fail-by-mismatch-protocol-header_wsh.py: Added.

(web_socket_do_extra_handshake):
(web_socket_transfer_data):

9:08 PM Changeset in webkit [112498] by jberlin@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix Windows build after r112482.

  • platform/network/cf/FormDataStreamCFNet.cpp:

(WebCore::formOpen):
Do not attempt to use an OS X error code on Windows. Use the POSIX errno instead.

8:42 PM Changeset in webkit [112497] by Alexandru Chiculita
  • 3 edits in trunk/Source/WebCore

[CSS Filters] Avoid rebuilding FEFilters when RenderLayer is destroyed
https://bugs.webkit.org/show_bug.cgi?id=82524

Reviewed by Dean Jackson.

RenderLayer::~RenderLayer is calling clearBacking which updated the m_filter with new filters,
even though they were to be deleted a couple of lines below. This change avoids updating the filters,
if we are in the "destroyed" state.

No new tests. This change has no visible results to HTML or JavaScript, so it cannot be tested without a debugger.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::~RenderLayer):
(WebCore::RenderLayer::clearBacking):

  • rendering/RenderLayer.h:

(RenderLayer):

8:00 PM Changeset in webkit [112496] by ddkilzer@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

minidom configurations should be based on ToolExecutable.xcconfig
<http://webkit.org/b/82513>

Reviewed by Mark Rowe.

Note that this patch changes minidom from being installed in
/usr/local/bin to JavaScriptCore.framework/Resources.

  • Configurations/ToolExecutable.xcconfig: Add semi-colon.
  • JavaScriptCore.xcodeproj/project.pbxproj: Base minidom

configurations on ToolExecutable.xcconfig. Remove redundant
PRODUCT_NAME and SKIP_INSTALL variables.

7:57 PM Changeset in webkit [112495] by gyuyoung.kim@samsung.com
  • 6 edits in trunk/Source/WebCore

Remove ScriptExecutionContext from NavigatorBattery.idl
https://bugs.webkit.org/show_bug.cgi?id=82556

Reviewed by Adam Barth.

As Bug 73528 comment #71, NavigatorBattery.idl doesn't need to have ScriptExecutionContext.
Document can be used instead of ScriptExecutionContext.

Tests: batterystatus/add-listener-from-callback.html

batterystatus/basic-all-types-of-events.html
batterystatus/basic-operation.html
batterystatus/event-after-navigation.html
batterystatus/multiple-frames.html
batterystatus/updates.html
batterystatus/window-property.html

  • Modules/battery/BatteryManager.cpp:

(WebCore::BatteryManager::create):
(WebCore::BatteryManager::BatteryManager):

  • Modules/battery/BatteryManager.h:

(BatteryManager):

  • Modules/battery/NavigatorBattery.cpp:

(WebCore::NavigatorBattery::webkitBattery):

  • Modules/battery/NavigatorBattery.h:

(NavigatorBattery):

  • Modules/battery/NavigatorBattery.idl:
7:32 PM Changeset in webkit [112494] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry]Missing cookies from HTTP response header in Network tab of Web Inspector.
https://bugs.webkit.org/show_bug.cgi?id=82041

We shouldn't overwrite cookies of response if there are more than one
header of Set-Cookie.

Patch by Jason Liu <jason.liu@torchmobile.com.cn> on 2012-03-28
Reviewed by Rob Buis.

Test: http/tests/cookies/resources/setArraycookies.php

  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::handleNotifyHeaderReceived):

7:18 PM Changeset in webkit [112493] by noel.gordon@gmail.com
  • 2 edits in trunk/Source/WebCore

JPEGImageDecoder: Set frame alpha state before marking a frame complete
https://bugs.webkit.org/show_bug.cgi?id=82428

Reviewed by Kenneth Russell.

r109779 changed JPEG alpha channel handling by marking a JPEG image frame
as having no alpha _after_ setting the image status frame-complete, which
prevents the application of image color profiles in some WebGL cases.

No new tests. The application of the color profile is not guaranteed for
images used as textures in WebGL. Refer to http://wkb.ug/76498.

  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

(WebCore::JPEGImageDecoder::jpegComplete): Set the image frame alpha state
before marking the image frame status as frame-complete.

7:11 PM Changeset in webkit [112492] by eae@chromium.org
  • 2 edits in trunk/Source/WebCore

Fix rounding in RenderInline::paintOutlineForLine
https://bugs.webkit.org/show_bug.cgi?id=82540

Reviewed by Eric Seidel.

No new tests, no change in functionality.

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::paintOutlineForLine):
Change paintOutlineForLine to pixel snap the left and right edges of the
lines instead of adding the offset to an already rounded number.

7:00 PM passwords.json attached to BuildBot by rniwa@webkit.org
passwords.json
6:50 PM Changeset in webkit [112491] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix a crash and an assertion when recovering from a web process crash
https://bugs.webkit.org/show_bug.cgi?id=82559
<rdar://problem/10902574>

Reviewed by Mark Rowe.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _processDidCrash]):
If we're currently in accelerated compositing mode, exit.

(-[WKView updateLayer]):
Guard against a null drawing area.

6:46 PM Changeset in webkit [112490] by dgrogan@chromium.org
  • 146 edits
    3 adds
    1 delete in trunk

IndexedDB: don't expose IDBDatabaseError to script
https://bugs.webkit.org/show_bug.cgi?id=82280

Source/WebCore:

It's not used anywhere and firefox doesn't expose it.

Reviewed by Tony Chang.

Test: storage/indexeddb/removed.html

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.list.am:
  • Modules/indexeddb/DOMWindowIndexedDatabase.idl:
  • Modules/indexeddb/IDBDatabaseError.idl: Removed.
  • Modules/indexeddb/WorkerContextIndexedDatabase.idl:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:

LayoutTests:

Add layout test that ensures IDBDatabaseError is gone.

Also change shouldBeTrue to shouldBeTrueQuiet in the boilerplate idb
layout test preamble to remove a bunch of clutter from the
-expected.txt files.

Reviewed by Tony Chang.

  • storage/indexeddb/basics-expected.txt:
  • storage/indexeddb/basics-shared-workers-expected.txt:
  • storage/indexeddb/basics-workers-expected.txt:

... every indexeddb -expected.txt:
Remove output from check for IDBDatabaseError.

  • storage/indexeddb/removed-expected.txt: Added.
  • storage/indexeddb/removed.html: Added.
  • storage/indexeddb/request-event-propagation-expected.txt:
  • storage/indexeddb/resources/removed.js: Added.

(test):

  • storage/indexeddb/resources/shared.js:

(removeVendorPrefixes): Stop checking for existence of
window.IDBDatabaseError.

6:41 PM Changeset in webkit [112489] by bashi@chromium.org
  • 3 edits in trunk

Respects font fallback list during webfonts are loading
https://bugs.webkit.org/show_bug.cgi?id=76684

Reviewed by Dimitri Glazkov.

Source/WebCore:

For layout, use the rest of the fallback list while webfonts are loading.
If the webfont is loading, it will be given an invalid Unicode Range so that
font selection mechansim doesn't use the webfont for layout.

Test: http/tests/webfont/fallback-font-while-loading.html

  • css/CSSSegmentedFontFace.cpp:

(WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading): Added.
(WebCore):
(WebCore::CSSSegmentedFontFace::getFontData):

LayoutTests:

Add a test that checks fallback fonts are used for layout while
webfonts are loading.

  • http/tests/webfont/fallback-font-while-loading-expected.txt: Added.
  • http/tests/webfont/fallback-font-while-loading.html: Added.
  • http/tests/webfont/getahem.cgi: Added.
  • http/tests/webfont/resources/Ahem.ttf: Added.
6:32 PM Changeset in webkit [112488] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests

[WebSocket]Reserved bits test case should cover both extension and no-extension scenarios
https://bugs.webkit.org/show_bug.cgi?id=82100

Patch by Li Yin <li.yin@intel.com> on 2012-03-28
Reviewed by Kent Tamura.

The current reserved bits test case only support extension case,
Improve test case to cover both no-extension and extension scenarios.

  • http/tests/websocket/tests/hybi/reserved-bits-expected.txt:
  • http/tests/websocket/tests/hybi/reserved-bits.html:
  • http/tests/websocket/tests/hybi/reserved-bits_wsh.py:

(web_socket_do_extra_handshake):

6:29 PM Changeset in webkit [112487] by mrowe@apple.com
  • 2 edits in trunk/Source/WebCore

Update Localizable.strings.

  • English.lproj/Localizable.strings:
6:29 PM Changeset in webkit [112486] by mrowe@apple.com
  • 2 edits in trunk/Tools

Fix --no-saved-state.

Ignore the flag before Lion, rather than making it specific to Lion.

Rubber-stamped by Dan Bernstein.

  • Scripts/webkitdirs.pm:

(argumentsForRunAndDebugMacWebKitApp):

6:14 PM Changeset in webkit [112485] by bbudge@chromium.org
  • 3 edits in trunk/Source/WebKit/chromium

AssociatedURLLoader does not support Cross Origin Redirects when using
Access Control.
https://bugs.webkit.org/show_bug.cgi?id=82354

AssociatedURLLoader's internal adapter now overrides didFailRedirectCheck,
which cancels the load, causing didFail to notify the client that the
load failed. AssociatedURLLoaderTest adds test cases for CORS requests
that receive redirects and pass or fail the redirect access check.

Reviewed by Adam Barth.

  • src/AssociatedURLLoader.cpp:

(AssociatedURLLoader::ClientAdapter):
(WebKit::AssociatedURLLoader::ClientAdapter::didFailRedirectCheck):
(WebKit):

  • tests/AssociatedURLLoaderTest.cpp:

(WebKit):
(WebKit::TEST_F):

6:07 PM Changeset in webkit [112484] by commit-queue@webkit.org
  • 8 edits
    2 adds in trunk

Source/WebCore: Removed particular rendering for the volume slider and used
css positioning instead (simpler and less prone to errors when
changes occur).
https://bugs.webkit.org/show_bug.cgi?id=82150

Patch by Victor Carbune <vcarbune@adobe.com> on 2012-03-28
Reviewed by Eric Carlson.

Test: media/video-controls-rendering-toggle-display-none.html

  • css/mediaControls.css: Updated css to correctly render controls.

(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):

  • css/mediaControlsChromium.css: Updated css to correctly render controls.

(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
(audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):

  • html/shadow/MediaControlElements.cpp: Removed particular renderer.

(WebCore):

  • html/shadow/MediaControlElements.h: Removed particular renderer.

(MediaControlVolumeSliderContainerElement):

  • html/shadow/MediaControlRootElementChromium.cpp:

(WebCore::MediaControlRootElementChromium::create): Added an anonymous div container
for the mute button and volume slider (to be displayed on top of each other)

LayoutTests: Added relevant test to support video controls display:none toggling.
https://bugs.webkit.org/show_bug.cgi?id=82150

Patch by Victor Carbune <vcarbune@adobe.com> on 2012-03-28
Reviewed by Eric Carlson.

  • media/video-controls-rendering-toggle-display-none.html: Added.
  • platform/chromium-linux/media/video-controls-rendering-toggle-display-none-expected.png: Added.
  • platform/chromium-linux/media/video-controls-rendering-toggle-display-none-expected.txt: Added.
  • platform/chromium/test_expectations.txt: Updated expectations, more rebaselining is needed.
6:02 PM Changeset in webkit [112483] by Stephanie Lewis
  • 4 edits in trunk

Unreviewed, rolling out r110064.
http://trac.webkit.org/changeset/110064
https://bugs.webkit.org/show_bug.cgi?id=82537

The patch leaks the DOM when audio elements are used
(Requested by sundiamonde on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-03-28

Source/WebCore:

  • bindings/js/JSNodeCustom.cpp:

(WebCore::isReachableFromDOM):

LayoutTests:

  • platform/gtk/test_expectations.txt:
5:58 PM Changeset in webkit [112482] by ap@apple.com
  • 8 edits in trunk/Source/WebCore

[Win] Some Blob tests crash in CFNetwork in advanceCurrentStream(FormStreamFields*)
https://bugs.webkit.org/show_bug.cgi?id=82386
<rdar://problem/11121501>

Reviewed by Brady Eidson.

Covered by existing tests.

  • platform/network/cf/FormDataStreamCFNet.cpp:
  • platform/network/cf/FormDataStreamCFNet.h:

Moved low level implementation from FormDataStreamMac, and exposed an additional function
to implement Foundation-based API on top of this.

  • platform/network/mac/FormDataStreamMac.h:
  • platform/network/mac/FormDataStreamMac.mm:

Rely on toll-free bridging and implementation details to make this work without duplicating
code.
Note that httpBodyFromStream is confusing - I don't see how it can work when sending serialized
requests across process boundary. We probably only get away with this because we don't attempt
to send requests to UI process once they already have streams associated with them.

  • WebCore.vcproj/WebCore.vcproj: Added missing platform/cf files.
  • platform/cf/FileSystemCF.cpp: Fixed include style.
  • platform/win/FileSystemWin.cpp: (WebCore::fileSystemRepresentation): Ifdef out a broken

implementation.

5:56 PM Changeset in webkit [112481] by enne@google.com
  • 12 edits in trunk/Source

[chromium] Fix tiled layer assert for huge layers
https://bugs.webkit.org/show_bug.cgi?id=82486

Reviewed by James Robinson.

Source/WebCore:

Test: TiledLayerChromiumTest.hugeLayerUpdateCrash

TilingData::numTiles() is calculated as the product of two ints and so
can potentially overflow, causing numTiles() to be incorrect. To avoid
calling code accidentally falling into this trap, remove this function
and all code that uses tile index from TilingData. This requires
fixing up a bunch of callers of TilingData and CCLayerTilingData.

Additionally, TilingData::numTiles() has long been a confusing
function name in some contexts, so rename to bool hasEmptyBounds().

Also, remove TilingData::intersectDrawQuad because there are no
clients of that function.

  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::TiledLayerChromium::drawsContent):
(WebCore::TiledLayerChromium::reserveTextures):
(WebCore::TiledLayerChromium::prepareToUpdate):
(WebCore::TiledLayerChromium::prepareToUpdateIdle):
(WebCore::TiledLayerChromium::needsIdlePaint):
(WebCore::TiledLayerChromium::idlePaintRect):

  • platform/graphics/chromium/cc/CCLayerTilingData.cpp:

(WebCore::CCLayerTilingData::tileRect):

  • platform/graphics/chromium/cc/CCLayerTilingData.h:

(WebCore::CCLayerTilingData::hasEmptyBounds):
(WebCore::CCLayerTilingData::tileBounds):
(WebCore::CCLayerTilingData::isEmpty):

  • platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:

(WebCore::CCTiledLayerImpl::bindContentsTexture):
(WebCore::CCTiledLayerImpl::appendQuads):

  • platform/graphics/gpu/Texture.cpp:

(WebCore::Texture::create):
(WebCore::Texture::updateSubRect):

  • platform/graphics/gpu/TilingData.cpp:

(WebCore::TilingData::tileBounds):
(WebCore::TilingData::tileBoundsWithBorder):
(WebCore::TilingData::tileBoundsNormalized):

  • platform/graphics/gpu/TilingData.h:

(WebCore::TilingData::hasEmptyBounds):
(TilingData):
(WebCore::TilingData::assertTile):

Source/WebKit/chromium:

Add test for updating a huge layer that would assert prior to this
code. Fix up TilingData tests to use a testing class that provides a
safe version of numTiles().

  • tests/TiledLayerChromiumTest.cpp:

(WTF::TEST):
(WTF):

  • tests/TilingDataTest.cpp:

(TestTiling):
(WebCore::TestTiling::TestTiling):
(WebCore::TestTiling::numTiles):
(WebCore):
(WebCore::TEST):

5:54 PM Changeset in webkit [112480] by enrica@apple.com
  • 2 edits in trunk/LayoutTests

editing/spelling/spellcheck-async-mutation.html is flakey.
https://bugs.webkit.org/show_bug.cgi?id=82555

Mark this test as flakey in test_expectations.

  • platform/mac/test_expectations.txt:
5:36 PM Changeset in webkit [112479] by enrica@apple.com
  • 2 edits in trunk/LayoutTests

Removed editing/pasteboard/drop-text-without-selection.html from test_expectations
since it now passes consistently.

  • platform/mac/test_expectations.txt:
5:31 PM Changeset in webkit [112478] by enrica@apple.com
  • 2 edits in trunk/LayoutTests

Added compositing/rtl/rtl-fixed-overflow-scrolled.html to the Mac skipped list, because of
<https://bugs.webkit.org/show_bug.cgi?id=82554> compositing/rtl/rtl-fixed-overflow-scrolled.html fails on
Lion and SnowLeopard.

  • platform/mac/Skipped:
5:29 PM Changeset in webkit [112477] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Add dtharp to contributors list
https://bugs.webkit.org/show_bug.cgi?id=82545

Patch by Dave Tharp <dtharp@codeaurora.org> on 2012-03-28
Reviewed by Adam Barth.

Adding dtharp as Contributor.

  • Scripts/webkitpy/common/config/committers.py:
5:24 PM Changeset in webkit [112476] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Rebaseline this test after the nodes were removed in r112299.

  • platform/mac/fast/dom/Window/window-properties-expected.txt:
4:57 PM Changeset in webkit [112475] by eae@chromium.org
  • 6 edits in trunk/Source/WebCore

Change FilterOperations::getOutsets to use integers
https://bugs.webkit.org/show_bug.cgi?id=82535

Reviewed by Eric Seidel.

FilterOperations::getOutsets calculates the outsets using integers and
the values are guranteed to be set to full-pixel values. By changing the
function signature we communicate this fact better and avoid unnecessary
type conversions in some cases.

No new tests.

  • platform/graphics/filters/FilterOperations.cpp:

(WebCore::FilterOperations::getOutsets):

  • platform/graphics/filters/FilterOperations.h:

(FilterOperations):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::addVisualEffectOverflow):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::computeRectForRepaint):

  • rendering/style/RenderStyle.h:
4:55 PM Changeset in webkit [112474] by Nate Chapin
  • 34 edits in trunk/Source

Remove dispatchDidLoadMainResource callback, since no
port implements it.
https://bugs.webkit.org/show_bug.cgi?id=82539

Reviewed by Alexey Proskuryakov.

Source/WebCore:

No new tests, just deleting dead code.

  • loader/EmptyClients.h:

(EmptyFrameLoaderClient):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::finishedLoading):
(WebCore::FrameLoader::mainReceivedCompleteError):

  • loader/FrameLoaderClient.h:

(FrameLoaderClient):

  • loader/MainResourceLoader.cpp:

(WebCore::MainResourceLoader::receivedError):
(WebCore::MainResourceLoader::didCancel):

Source/WebKit/blackberry:

  • WebCoreSupport/FrameLoaderClientBlackBerry.h:

(FrameLoaderClientBlackBerry):

Source/WebKit/chromium:

  • src/FrameLoaderClientImpl.cpp:

(WebKit):

  • src/FrameLoaderClientImpl.h:

(FrameLoaderClientImpl):

Source/WebKit/efl:

  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore):

  • WebCoreSupport/FrameLoaderClientEfl.h:

(FrameLoaderClientEfl):

Source/WebKit/gtk:

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit):

  • WebCoreSupport/FrameLoaderClientGtk.h:

(FrameLoaderClient):

Source/WebKit/mac:

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:
  • WebKit.order:

Source/WebKit/qt:

  • WebCoreSupport/FrameLoaderClientQt.cpp:

(WebCore):

  • WebCoreSupport/FrameLoaderClientQt.h:

(FrameLoaderClientQt):

Source/WebKit/win:

  • WebCoreSupport/WebFrameLoaderClient.cpp:
  • WebCoreSupport/WebFrameLoaderClient.h:

(WebFrameLoaderClient):

Source/WebKit/wince:

  • WebCoreSupport/FrameLoaderClientWinCE.cpp:

(WebKit):

  • WebCoreSupport/FrameLoaderClientWinCE.h:

(FrameLoaderClientWinCE):

Source/WebKit/wx:

  • WebKitSupport/FrameLoaderClientWx.cpp:

(WebCore):

  • WebKitSupport/FrameLoaderClientWx.h:

(FrameLoaderClientWx):

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
4:43 PM Changeset in webkit [112473] by enrica@apple.com
  • 3 edits in trunk/Source/WebCore

REGRESSION: editing/pasteboard/dataTransfer-setData-getData.html fails on Mac platforms.
https://bugs.webkit.org/show_bug.cgi?id=82497
<rdar://problem/11140334>

Reviewed by Brady Eidson.

The revision causing this regression fixed the way data is written to the pasteboard for NSURLPboardType.
This change fixes the way data is read from the pasteboard for the same pasteboard type.

No new tests. Fixes the existing one that fails.

  • platform/mac/ClipboardMac.mm:

(WebCore::absoluteURLsFromPasteboard):

  • platform/mac/PlatformPasteboardMac.mm:

(WebCore::PlatformPasteboard::stringForType):

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

SL bot is hitting SHOULD NEVER BE REACHED in WebCore::valueForLength() on many tests
https://bugs.webkit.org/show_bug.cgi?id=82390

Patch by Joe Thomas <joethomas@motorola.com> on 2012-03-28
Reviewed by Simon Fraser.

This is an attempt to fix the MAC SL/Lion Bot issue as this issue is not reproducible locally.
The assertion happened when length type is Undefined in valueForLength() function but the assertion for Undefined length type
in RenderBox::computeLogicalWidthInRegionUsing which calls the above said function did not get hit.

This patch passes Length structure as const reference to Length calculation functions which avoids the call to the copy-constructor.
And it ensures that the Length structure is not getting modified during copy-construction.

  • css/LengthFunctions.cpp:

(WebCore::minimumValueForLength):
(WebCore::valueForLength):
(WebCore::floatValueForLength):

  • css/LengthFunctions.h:

(WebCore):

4:29 PM Changeset in webkit [112471] by eae@chromium.org
  • 4 edits in branches/subpixellayout/Source

Add Node::pixelSnappedRenderRect on subpixel branch.

4:26 PM Changeset in webkit [112470] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

build-webkit : the word "pass" is spelled incorrectly as "passs"
https://bugs.webkit.org/show_bug.cgi?id=82532

Patch by Stuart Eichert <stuart.eichert@palm.com> on 2012-03-28
Reviewed by Julien Chaffraix.

Corrected spelling of the word "pass" in build-webkit.

  • Scripts/build-webkit:
4:17 PM Changeset in webkit [112469] by dpranke@chromium.org
  • 2 edits in trunk/LayoutTests

Lion tweaks.

Unreviewed, expectations change.

  • platform/chromium/test_expectations.txt:
4:08 PM Changeset in webkit [112468] by Simon Fraser
  • 2 edits in trunk/LayoutTests

compositing/tiling/crash-reparent-tiled-layer.html is flakey
https://bugs.webkit.org/show_bug.cgi?id=82546

Mark this test as flakey in test_expectations

  • platform/mac/test_expectations.txt:
4:06 PM Changeset in webkit [112467] by dpranke@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Roll chromium from 129300 to 129509.

Unreviewed, DEPS change.

  • DEPS:
4:05 PM Changeset in webkit [112466] by ojan@chromium.org
  • 17 edits
    4 moves
    49 adds
    7 deletes in trunk/LayoutTests

More Chromium rebaselines from the expected failures tab in garden-o-matic.
They all looked like straightforward text-rendering, form-control rendering or anti-aliasing issues,
except for some where the new results were clearly just more correct.

4:00 PM Changeset in webkit [112465] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1025

Merge 111263
BUG=117698
Review URL: https://chromiumcodereview.appspot.com/9887002

3:56 PM Changeset in webkit [112464] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Remove some more tests from test_expectations.txt, since the pixel test pass.

  • platform/mac/test_expectations.txt:
3:54 PM Changeset in webkit [112463] by cevans@google.com
  • 1 edit
    3 copies in branches/chromium/1025

Merge 111714
BUG=116806
Review URL: https://chromiumcodereview.appspot.com/9896001

3:48 PM Changeset in webkit [112462] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Remove some tests that now pass pixel tests from the list of failures.

  • platform/mac/test_expectations.txt:
3:43 PM Changeset in webkit [112461] by cevans@google.com
  • 7 edits in branches/chromium/1025

Merge 111098
BUG=118467
Review URL: https://chromiumcodereview.appspot.com/9895001

3:43 PM Changeset in webkit [112460] by barraclough@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Build fix - some compiles generating NORETURN related warnings.

  • yarr/YarrJIT.cpp:

(JSC::Yarr::YarrGenerator::setSubpatternStart):
(JSC::Yarr::YarrGenerator::setSubpatternEnd):
(JSC::Yarr::YarrGenerator::clearSubpatternStart):

3:34 PM Changeset in webkit [112459] by cevans@google.com
  • 2 edits in branches/chromium/1025/Source/WebCore

Merge 111775
BUG=117400
Review URL: https://chromiumcodereview.appspot.com/9892004

3:33 PM Changeset in webkit [112458] by dpranke@chromium.org
  • 2 edits in trunk/Tools

new-run-webkit-tests doesn't log correctly after retrying failures
https://bugs.webkit.org/show_bug.cgi?id=82541

Unreviewed, build fix.

r112189 introduced a regression where we would accidentally
delete the log handler after we retried any failing tests - that
meant that any log messages around uploading the results got
dropped.

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager._run_tests):

3:32 PM Changeset in webkit [112457] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Massive lag opening a link in a new background tab
https://bugs.webkit.org/show_bug.cgi?id=82542
<rdar://problem/11004502>

Reviewed by Sam Weinig.

Defer waiting for the web process to update the page size until we're actually going to display the layer.
This matches what we do in the non-tiled code path.

  • UIProcess/API/mac/WKView.mm:

(-[WKView setFrameSize:]):
(-[WKView updateLayer]):

  • UIProcess/DrawingAreaProxy.h:

(WebKit::DrawingAreaProxy::waitForPossibleGeometryUpdate):

  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:

(TiledCoreAnimationDrawingAreaProxy):

  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:

(WebKit::TiledCoreAnimationDrawingAreaProxy::sizeDidChange):
(WebKit):
(WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate):

3:24 PM Changeset in webkit [112456] by kevino@webkit.org
  • 6 edits in trunk

[wx] Unreviewed. Build fix, move WTF back into JSCore target
until issues with JSCore not linking in all WTF symbols are resolved.

3:20 PM Changeset in webkit [112455] by barraclough@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Yarr: if we're not using the output array, don't populate it!
https://bugs.webkit.org/show_bug.cgi?id=82519

Reviewed by Sam Weinig.

  • runtime/RegExp.cpp:

(JSC):

  • Missed review comment! - didn't fully remove RegExpRepresentation.
3:18 PM Changeset in webkit [112454] by barraclough@apple.com
  • 14 edits
    3 adds in trunk/Source

Yarr: if we're not using the output array, don't populate it!
https://bugs.webkit.org/show_bug.cgi?id=82519

Reviewed by Sam Weinig.

../JavaScriptCore:

Add a new variant of the match method to RegExp that returns a MatchResult,
and modify YarrJIT to be able to compile code that doesn't use an output vector.

This is a 3% progression on v8-regexp.

  • JavaScriptCore.xcodeproj/project.pbxproj:
    • Moved MatchResult into its own header.
  • assembler/AbstractMacroAssembler.h:
    • Added missing include.
  • runtime/MatchResult.h: Added.

(MatchResult::MatchResult):
(MatchResult):
(MatchResult::failed):
(MatchResult::operator bool):
(MatchResult::empty):

  • Moved MatchResult into its own header.
  • runtime/RegExp.cpp:

(JSC::RegExp::compile):
(JSC::RegExp::compileIfNecessary):
(JSC::RegExp::match):

  • Changed due to execute & representation changes.

(JSC::RegExp::compileMatchOnly):
(JSC::RegExp::compileIfNecessaryMatchOnly):

  • Added helper to compile MatchOnly code.

(JSC::RegExp::invalidateCode):
(JSC::RegExp::matchCompareWithInterpreter):
(JSC::RegExp::printTraceData):

  • Changed due representation changes.
  • runtime/RegExp.h:

(RegExp):
(JSC::RegExp::hasCode):

  • Made YarrCodeBlock a member.
  • runtime/RegExpConstructor.h:

(RegExpConstructor):
(JSC::RegExpConstructor::performMatch):

  • Added no-ovector form.
  • runtime/RegExpMatchesArray.cpp:

(JSC::RegExpMatchesArray::reifyAllProperties):

  • Match now takes a reference to ovector, not a pointer.
  • runtime/RegExpObject.h:

(JSC):

  • Moved MatchResult into its own header.
  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncSplit):

  • Match now takes a reference to ovector, not a pointer.
  • testRegExp.cpp:

(testOneRegExp):

  • Match now takes a reference to ovector, not a pointer.
  • yarr/YarrJIT.cpp:

(Yarr):
(YarrGenerator):
(JSC::Yarr::YarrGenerator::initCallFrame):
(JSC::Yarr::YarrGenerator::removeCallFrame):
(JSC::Yarr::YarrGenerator::setSubpatternStart):
(JSC::Yarr::YarrGenerator::setSubpatternEnd):
(JSC::Yarr::YarrGenerator::clearSubpatternStart):
(JSC::Yarr::YarrGenerator::setMatchStart):
(JSC::Yarr::YarrGenerator::getMatchStart):

  • Added helper functions to intermediate access to output.

(JSC::Yarr::YarrGenerator::generateDotStarEnclosure):
(JSC::Yarr::YarrGenerator::generate):
(JSC::Yarr::YarrGenerator::backtrack):
(JSC::Yarr::YarrGenerator::generateEnter):
(JSC::Yarr::YarrGenerator::compile):

  • Changed to use the new helpers, only generate subpatterns if IncludeSubpatterns.

(JSC::Yarr::jitCompile):

  • Needs to template of MatchOnly or IncludeSubpatterns.
  • yarr/YarrJIT.h:

(YarrCodeBlock):
(JSC::Yarr::YarrCodeBlock::set8BitCode):
(JSC::Yarr::YarrCodeBlock::set16BitCode):
(JSC::Yarr::YarrCodeBlock::has8BitCodeMatchOnly):
(JSC::Yarr::YarrCodeBlock::has16BitCodeMatchOnly):
(JSC::Yarr::YarrCodeBlock::set8BitCodeMatchOnly):
(JSC::Yarr::YarrCodeBlock::set16BitCodeMatchOnly):
(JSC::Yarr::YarrCodeBlock::execute):
(JSC::Yarr::YarrCodeBlock::clear):

  • Added a second set of CodeRefs, so that we can compile RexExps with/without subpattern matching.

../WebCore:

  • ForwardingHeaders/runtime/MatchResult.h: Added.
  • ForwardingHeaders/yarr/YarrJIT.h: Added.
    • Added forwarding headers.
3:15 PM Changeset in webkit [112453] by hyatt@apple.com
  • 71 edits
    4 adds in trunk

Source/WebCore: https://bugs.webkit.org/show_bug.cgi?id=81685

[New Multicolumn] Add RenderMultiColumnFlowThread to hold the flow thread contents of a multi-column block.
It derives from RenderFlowThread.

Refactor RenderFlowThread to split out the stuff related to explicit naming into a subclass, RenderNamedFlowThread.
This allows RenderFlowThread to be a simple base class that involves maintaining the regions themselves.

Reviewed by Julien Chaffraix.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/Document.cpp:
  • dom/NodeRenderingContext.cpp:
  • dom/NodeRenderingContext.h:

(WebCore):
(WebCore::NodeRenderingContext::parentFlowRenderer):

  • dom/WebKitNamedFlow.cpp:

(WebCore::WebKitNamedFlow::WebKitNamedFlow):

  • dom/WebKitNamedFlow.h:

(WebCore):
(WebCore::WebKitNamedFlow::create):
(WebKitNamedFlow):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::collapseAnonymousBoxChild):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::RenderFlowThread):
(WebCore):
(WebCore::RenderFlowThread::addRegionToThread):
(WebCore::RenderFlowThread::removeRegionFromThread):
(WebCore::RenderFlowThread::removeRenderBoxRegionInfo):

  • rendering/RenderFlowThread.h:

(WebCore):

  • rendering/RenderMultiColumnFlowThread.cpp: Added.

(WebCore):
(WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
(WebCore::RenderMultiColumnFlowThread::renderName):

  • rendering/RenderMultiColumnFlowThread.h: Added.

(WebCore):
(RenderMultiColumnFlowThread):

  • rendering/RenderNamedFlowThread.cpp: Added.

(WebCore):
(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::renderName):
(WebCore::RenderNamedFlowThread::nextRendererForNode):
(WebCore::RenderNamedFlowThread::previousRendererForNode):
(WebCore::RenderNamedFlowThread::addFlowChild):
(WebCore::RenderNamedFlowThread::removeFlowChild):
(WebCore::RenderNamedFlowThread::dependsOn):
(WebCore::compareRenderRegions):
(WebCore::RenderNamedFlowThread::addRegionToThread):
(WebCore::RenderNamedFlowThread::removeRegionFromThread):
(WebCore::RenderNamedFlowThread::checkInvalidRegions):
(WebCore::RenderNamedFlowThread::addDependencyOnFlowThread):
(WebCore::RenderNamedFlowThread::removeDependencyOnFlowThread):
(WebCore::RenderNamedFlowThread::pushDependencies):
(WebCore::RenderNamedFlowThread::ensureNamedFlow):

  • rendering/RenderNamedFlowThread.h: Added.

(WebCore):
(RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::name):
(WebCore::RenderNamedFlowThread::hasChildren):
(WebCore::RenderNamedFlowThread::hasChild):
(WebCore::RenderNamedFlowThread::isRenderNamedFlowThread):
(WebCore::toRenderNamedFlowThread):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::willBeDestroyed):

  • rendering/RenderObject.h:

(WebCore::RenderObject::isRenderNamedFlowThread):

  • rendering/RenderObjectChildList.cpp:

(WebCore::renderNamedFlowThreadContainer):
(WebCore::RenderObjectChildList::removeChildNode):
(WebCore::RenderObjectChildList::appendChildNode):
(WebCore::RenderObjectChildList::insertChildNode):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::RenderRegion):
(WebCore::RenderRegion::attachRegion):

  • rendering/RenderRegion.h:

(WebCore):
(WebCore::RenderRegion::parentNamedFlowThread):
(RenderRegion):

  • rendering/RenderTreeAsText.cpp:

(WebCore::writeRenderNamedFlowThreads):
(WebCore::writeLayers):

  • rendering/RenderView.cpp:

(WebCore::RenderView::RenderView):
(WebCore::RenderView::layout):
(WebCore::RenderView::styleDidChange):
(WebCore::RenderView::ensureRenderFlowThreadWithName):
(WebCore::RenderView::layoutRenderNamedFlowThreads):

  • rendering/RenderView.h:

(WebCore):
(RenderView):
(WebCore::RenderView::hasRenderNamedFlowThreads):
(WebCore::RenderView::isRenderNamedFlowThreadOrderDirty):
(WebCore::RenderView::setIsRenderNamedFlowThreadOrderDirty):
(WebCore::RenderView::renderNamedFlowThreadList):

LayoutTests: https://bugs.webkit.org/show_bug.cgi?id=81685

[New Multicolumn] Add RenderMultiColumnFlowThread to hold the flow thread contents of a multi-column block.
It derives from RenderFlowThread.

Change layout test results to reflect the name change from RenderFlowThread to
RenderNamedFlowThread. Other platforms should update results accordingly.

Reviewed by Julien Chaffraix.

  • fast/repaint/inline-relative-positioned-expected.txt:
  • fast/repaint/overflow-clip-subtree-layout-expected.txt:
  • fast/repaint/subtree-root-clip-2-expected.txt:
  • fast/repaint/subtree-root-clip-3-expected.txt:
  • fast/repaint/subtree-root-clip-expected.txt:
  • platform/mac/fast/regions/bottom-overflow-out-of-first-region-expected.txt:
  • platform/mac/fast/regions/flow-content-basic-expected.txt:
  • platform/mac/fast/regions/flow-content-basic-vertical-expected.txt:
  • platform/mac/fast/regions/flow-content-basic-vertical-rl-expected.txt:
  • platform/mac/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt:
  • platform/mac/fast/regions/overflow-in-uniform-regions-dynamic-expected.txt:
  • platform/mac/fast/regions/overflow-in-variable-width-regions-expected.txt:
  • platform/mac/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.txt:
  • platform/mac/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.txt:
  • platform/mac/fast/regions/overflow-rtl-in-variable-width-regions-expected.txt:
  • platform/mac/fast/regions/overflow-size-change-in-variable-width-regions-expected.txt:
  • platform/mac/fast/regions/overflow-size-change-with-stacking-context-expected.txt:
  • platform/mac/fast/regions/overflow-size-change-with-stacking-context-rtl-expected.txt:
  • platform/mac/fast/regions/percentage-margins-mixed-ltr-dominant-regions-expected.txt:
  • platform/mac/fast/regions/percentage-margins-mixed-rtl-dominant-regions-expected.txt:
  • platform/mac/fast/regions/percentage-margins-rtl-variable-width-regions-expected.txt:
  • platform/mac/fast/regions/percentage-margins-variable-width-regions-expected.txt:
  • platform/mac/fast/regions/region-overflow-auto-overflow-hidden-expected.txt:
  • platform/mac/fast/regions/region-overflow-auto-overflow-visible-expected.txt:
  • platform/mac/fast/regions/region-overflow-break-expected.txt:
  • platform/mac/fast/regions/region-style-block-background-color-expected.txt:
  • platform/mac/fast/regions/region-style-block-background-color2-expected.txt:
  • platform/mac/fast/regions/region-style-image-background-color-expected.txt:
  • platform/mac/fast/regions/region-style-inline-background-color-expected.txt:
  • platform/mac/fast/regions/render-region-custom-style-mark-expected.txt:
  • platform/mac/fast/regions/text-region-split-small-pagination-expected.txt:
  • platform/mac/fast/regions/top-overflow-out-of-second-region-expected.txt:
  • platform/mac/fast/regions/webkit-flow-double-pagination-float-push-expected.txt:
  • platform/mac/fast/regions/webkit-flow-float-pushed-to-last-region-expected.txt:
  • platform/mac/fast/regions/webkit-flow-float-unable-to-push-expected.txt:
  • platform/mac/fast/regions/webkit-flow-floats-inside-regions-bounds-expected.txt:
  • platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-expected.txt:
  • platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-expected.txt:
  • platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt:
  • platform/mac/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-in-regions-expected.txt:
  • platform/mac/fast/repaint/overflow-flipped-writing-mode-block-in-regions-expected.txt:
  • platform/mac/fast/repaint/region-painting-invalidation-expected.txt:
  • platform/mac/fast/repaint/region-painting-via-layout-expected.txt:
  • platform/qt/fast/repaint/line-flow-with-floats-in-regions-expected.txt:
  • platform/qt/fast/repaint/overflow-flipped-writing-mode-block-in-regions-expected.txt:
  • platform/qt/fast/repaint/region-painting-invalidation-expected.txt:
  • platform/qt/fast/repaint/region-painting-via-layout-expected.txt:
  • platform/win/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt:
3:12 PM Changeset in webkit [112452] by eae@chromium.org
  • 2 edits in branches/subpixellayout/Source/WebCore

Cleanup RenderLayer and mac dom bindings on subpixel branch

3:11 PM Changeset in webkit [112451] by cevans@google.com
  • 1 edit in branches/chromium/1025/Source/WebCore/dom/ContainerNode.cpp

Merge 110150
BUG=117400
Review URL: https://chromiumcodereview.appspot.com/9854037

3:09 PM Changeset in webkit [112450] by eae@chromium.org
  • 2 edits in trunk/Source/WebCore

Remove unnecessary rounding in RenderLayerBacking
https://bugs.webkit.org/show_bug.cgi?id=82529

Reviewed by Eric Seidel.

Remove rounding that is no longer required now that borderBoxRect returns
an IntRect.

No new tests.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::startAnimation):
(WebCore::RenderLayerBacking::startTransition):

3:07 PM Changeset in webkit [112449] by enne@google.com
  • 12 edits in trunk/Source

Unreviewed, rolling out r112432.
http://trac.webkit.org/changeset/112432
https://bugs.webkit.org/show_bug.cgi?id=82536

Causes ccs3 layout test asserts (Requested by enne on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-03-28

Source/WebCore:

  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::TiledLayerChromium::drawsContent):
(WebCore::TiledLayerChromium::reserveTextures):
(WebCore::TiledLayerChromium::prepareToUpdate):
(WebCore::TiledLayerChromium::prepareToUpdateIdle):
(WebCore::TiledLayerChromium::needsIdlePaint):
(WebCore::TiledLayerChromium::idlePaintRect):

  • platform/graphics/chromium/cc/CCLayerTilingData.cpp:

(WebCore::CCLayerTilingData::tileRect):

  • platform/graphics/chromium/cc/CCLayerTilingData.h:

(WebCore::CCLayerTilingData::numTiles):
(WebCore::CCLayerTilingData::tileBounds):
(WebCore::CCLayerTilingData::isEmpty):

  • platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:

(WebCore::CCTiledLayerImpl::bindContentsTexture):
(WebCore::CCTiledLayerImpl::appendQuads):

  • platform/graphics/filters/FECustomFilter.cpp:

(WebCore::FECustomFilter::platformApplySoftware):

  • platform/graphics/gpu/Texture.cpp:

(WebCore::Texture::create):
(WebCore::Texture::updateSubRect):

  • platform/graphics/gpu/TilingData.cpp:

(WebCore::TilingData::tileBounds):
(WebCore::TilingData::tileBoundsWithBorder):
(WebCore::TilingData::tileBoundsNormalized):
(WebCore::TilingData::intersectDrawQuad):
(WebCore):

  • platform/graphics/gpu/TilingData.h:

(WebCore::TilingData::numTiles):
(WebCore::TilingData::tileIndex):
(WebCore::TilingData::tileXIndex):
(WebCore::TilingData::tileYIndex):
(TilingData):
(WebCore::TilingData::assertTile):

Source/WebKit/chromium:

  • tests/TiledLayerChromiumTest.cpp:
  • tests/TilingDataTest.cpp:

(WebCore::TEST):

3:03 PM Changeset in webkit [112448] by dcheng@chromium.org
  • 7 edits
    2 moves
    2 deletes in trunk/Source

[chromium] Merge ChromiumDataObject and DataTransferItemListChromium.
https://bugs.webkit.org/show_bug.cgi?id=82407

Reviewed by Tony Chang.

Source/WebCore:

Since ChromiumDataObject is just a very thin wrapper for DataTransferItemListChromium now,
combine the two and remove a layer of indirection.

No functionality change, should be covered by existing tests.

  • WebCore.gypi:
  • platform/chromium/ChromiumDataObject.cpp: Replacing DataTransferItemListChromium.

(WebCore::ChromiumDataObject::createFromPasteboard):
(WebCore::ChromiumDataObject::create):
(WebCore::ChromiumDataObject::length):
(WebCore):
(WebCore::ChromiumDataObject::item):
(WebCore::ChromiumDataObject::deleteItem):
(WebCore::ChromiumDataObject::clearAll):
(WebCore::ChromiumDataObject::add):
(WebCore::ChromiumDataObject::clearData):
(WebCore::ChromiumDataObject::clearAllExceptFiles):
(WebCore::ChromiumDataObject::types):
(WebCore::ChromiumDataObject::getData):
(WebCore::ChromiumDataObject::setData):
(WebCore::ChromiumDataObject::urlAndTitle):
(WebCore::ChromiumDataObject::setURLAndTitle):
(WebCore::ChromiumDataObject::htmlAndBaseURL):
(WebCore::ChromiumDataObject::setHTMLAndBaseURL):
(WebCore::ChromiumDataObject::containsFilenames):
(WebCore::ChromiumDataObject::filenames):
(WebCore::ChromiumDataObject::addFilename):
(WebCore::ChromiumDataObject::addSharedBuffer):
(WebCore::ChromiumDataObject::ChromiumDataObject):
(WebCore::ChromiumDataObject::findStringItem):
(WebCore::ChromiumDataObject::internalAddStringItem):
(WebCore::ChromiumDataObject::internalAddFileItem):

  • platform/chromium/ChromiumDataObject.h:

(WebCore):
(ChromiumDataObject):

  • platform/chromium/ChromiumDataObjectItem.cpp: Renamed from Source/WebCore/platform/chromium/DataTransferItemChromium.cpp.

(WebCore):
(WebCore::ChromiumDataObjectItem::createFromString):
(WebCore::ChromiumDataObjectItem::createFromFile):
(WebCore::ChromiumDataObjectItem::createFromURL):
(WebCore::ChromiumDataObjectItem::createFromHTML):
(WebCore::ChromiumDataObjectItem::createFromSharedBuffer):
(WebCore::ChromiumDataObjectItem::createFromPasteboard):
(WebCore::ChromiumDataObjectItem::ChromiumDataObjectItem):
(WebCore::ChromiumDataObjectItem::getAsString):
(WebCore::ChromiumDataObjectItem::getAsFile):
(WebCore::ChromiumDataObjectItem::internalGetAsString):
(WebCore::ChromiumDataObjectItem::isFilename):

  • platform/chromium/ChromiumDataObjectItem.h: Renamed from Source/WebCore/platform/chromium/DataTransferItemChromium.h.

(WebCore):
(ChromiumDataObjectItem):
(WebCore::ChromiumDataObjectItem::kind):
(WebCore::ChromiumDataObjectItem::type):
(WebCore::ChromiumDataObjectItem::sharedBuffer):
(WebCore::ChromiumDataObjectItem::title):
(WebCore::ChromiumDataObjectItem::baseURL):

  • platform/chromium/ClipboardChromium.cpp:

(WebCore::ClipboardChromium::files):
(WebCore::ClipboardChromium::hasData):
(WebCore::ClipboardChromium::items):

  • platform/chromium/DataTransferItemListChromium.cpp: Removed.
  • platform/chromium/DataTransferItemListChromium.h: Removed.

Source/WebKit/chromium:

  • src/WebDragData.cpp:

(WebKit::WebDragData::items):

3:00 PM Changeset in webkit [112447] by jam@chromium.org
  • 1 edit in trunk/LayoutTests/platform/chromium-win/fast/workers/worker-context-multi-port-expected.txt

Unreviewed rebaseline

2:45 PM Changeset in webkit [112446] by nduca@chromium.org
  • 11 edits in trunk/Source

[chromium] Scheduler should not tell FrameRateController to begin a frame when we dont swap
https://bugs.webkit.org/show_bug.cgi?id=82516

Reviewed by James Robinson.

Source/WebCore:

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::swapBuffers):

  • platform/graphics/chromium/LayerRendererChromium.h:

(LayerRendererChromium):

  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:

(WebCore::CCLayerTreeHostImpl::swapBuffers):

  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:

(CCLayerTreeHostImpl):

  • platform/graphics/chromium/cc/CCScheduler.cpp:

(WebCore::CCScheduler::processScheduledActions):

  • platform/graphics/chromium/cc/CCScheduler.h:

(WebCore::CCScheduledActionDrawAndSwapResult::CCScheduledActionDrawAndSwapResult):
(CCScheduledActionDrawAndSwapResult):
(WebCore):
(CCSchedulerClient):

  • platform/graphics/chromium/cc/CCThreadProxy.cpp:

(WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
(WebCore::CCThreadProxy::scheduledActionDrawAndSwapIfPossible):
(WebCore::CCThreadProxy::scheduledActionDrawAndSwapForced):

  • platform/graphics/chromium/cc/CCThreadProxy.h:

(CCThreadProxy):

Source/WebKit/chromium:

  • tests/CCSchedulerTest.cpp:

(WebKitTests::FakeCCSchedulerClient::reset):
(WebKitTests::FakeCCSchedulerClient::hasAction):
(FakeCCSchedulerClient):
(WebKitTests::FakeCCSchedulerClient::scheduledActionDrawAndSwapIfPossible):
(WebKitTests::FakeCCSchedulerClient::scheduledActionDrawAndSwapForced):
(WebKitTests::FakeCCSchedulerClient::setDrawWillHappen):
(WebKitTests::FakeCCSchedulerClient::setSwapWillHappenIfDrawHappens):
(WebKitTests::SchedulerClientThatSetNeedsDrawInsideDraw::scheduledActionDrawAndSwapIfPossible):
(WebKitTests::SchedulerClientThatSetNeedsDrawInsideDraw::scheduledActionDrawAndSwapForced):
(SchedulerClientThatSetNeedsDrawInsideDraw):
(WebKitTests::TEST):
(WebKitTests::SchedulerClientThatSetNeedsCommitInsideDraw::scheduledActionDrawAndSwapIfPossible):
(WebKitTests::SchedulerClientThatSetNeedsCommitInsideDraw::scheduledActionDrawAndSwapForced):
(SchedulerClientThatSetNeedsCommitInsideDraw):
(WebKitTests):

2:43 PM Changeset in webkit [112445] by ericu@chromium.org
  • 3 edits in trunk/Source/WebCore

FileWriter has two race conditions
https://bugs.webkit.org/show_bug.cgi?id=81861

Reviewed by David Levin.

Should make current tests less flaky.

  • Modules/filesystem/FileWriter.h:
  • Modules/filesystem/FileWriter.cpp:

Track the in-flight operation, whether it be an abort/write/truncate.
Whether an abort comes back as didWrite, didTruncate, or didFail, handle
it appropriately. Before this fix, the Chromium implementation would
assert in two cases:

If the user calls abort, then write, then abort before the backend
catches up, we'd send both aborts to the backend, even though it hadn't
received the write yet. Chromium's backend asserts if there's an abort
with no write in progress. We now record that we've sent an abort and
are waiting for the response.

If the user calls abort while a write/truncate is just finishing, on the
Chromium worker implementation, the completion message could be
thread-hopping back to WebCore at the
WorkerAsyncFileWriterCallbacksBridge while the abort is thread-hopping
in the other direction. Again, this leads to an abort call to the
backend with no write in progress, and an assert. We're now robust to
completions coming back when we're expecting an abort, and
https://chromiumcodereview.appspot.com/9764018/ will make the backend
robust to extra abort calls.

2:41 PM Changeset in webkit [112444] by rniwa@webkit.org
  • 14 edits
    2 moves
    2 deletes in trunk

Deleting a paragraph of text should not add elements for typing style
https://bugs.webkit.org/show_bug.cgi?id=82401

Reviewed by Enrica Casucci.

Source/WebCore:

This behavior was explicitly supported by DeleteSelectionCommand but it doesn't match TextEdit or Firefox.
We're changing our behavior to match TextEdit and Firefox in this patch.

The behavior is tested by an existing test, which was renamed to deleting-text-rests-typing-style.html in this patch.

Test: editing/execCommand/deleting-text-rests-typing-style.html

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):

LayoutTests:

Rebaselined the tests per behavior changes. Also renamed 19653-3.html to deleting-text-rests-typing-style.html
which tests this behavioral change.

  • editing/deleting/delete-and-cleanup-expected.txt:
  • editing/deleting/delete-and-cleanup.html: Elements added for typing styles have been removed.
  • editing/deleting/delete-br-012-expected.txt: Ditto.
  • editing/deleting/delete-select-all-001-expected.txt: Ditto.
  • editing/execCommand/19653-3-expected.txt: Removed.
  • editing/execCommand/19653-3.html: Removed.
  • editing/execCommand/apply-style-text-decoration-crash-expected.txt:
  • editing/execCommand/delete-image-in-anchor-expected.txt: Ditto.
  • editing/execCommand/deleting-text-rests-typing-style-expected.txt: Copied from LayoutTests/editing/execCommand/19653-3-expected.txt.
  • editing/execCommand/deleting-text-rests-typing-style.html: Copied from LayoutTests/editing/execCommand/19653-3.html.
  • editing/inserting/5994480-2-expected.txt:
  • editing/inserting/5994480-2.html: Ditto; converted this test to a dump-as-markup test for clarity.
  • editing/pasteboard/paste-text-with-style-2-expected.txt: Elements added for typing styles have been removed.
  • editing/style/block-style-005-expected.txt: Ditto.
  • editing/pasteboard/select-element-1-expected.txt: Editing delegate dump changed but the final result remains intact.
2:33 PM Changeset in webkit [112443] by Simon Fraser
  • 3 edits in trunk/Tools

download-built-product build step should detect 404 errors
https://bugs.webkit.org/show_bug.cgi?id=82491

Reviewed by Ryosuke Niwa.

Pass --fail to curl so that it reports 404 errors.

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

(DownloadBuiltProduct): Pass --fail to curl so that it reports errors.

  • BuildSlaveSupport/built-product-archive:

(extractBuiltProduct): Remove trailing whitespace.

2:29 PM Changeset in webkit [112442] by dpranke@chromium.org
  • 2 edits in trunk/Tools

flakiness dashboard should only keep the last 500 runs
https://bugs.webkit.org/show_bug.cgi?id=82530

Reviewed by Ojan Vafai.

If a bot has an overly large amount of failing tests, then
storing 750 runs' worth takes a lot of memory and CPU time to
process and we end up getting killed by AppEngine; this cases
data corruption and confusion down the road when we have to
retry the upload of the data and the tests show up as multiple
runs.

  • TestResultServer/model/jsonresults.py:

(JsonResults.update_file):

2:26 PM Changeset in webkit [112441] by ojan@chromium.org
  • 15 edits
    2 copies
    4 moves
    28 adds in trunk/LayoutTests

More Chromium rebaselines from the expected failures tab in garden-o-matic.
They all looked like straightforward text-rendering or anti-aliasing issues,
except for some where the new results were clearly just more correct.

  • fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.png: Copied from LayoutTests/platform/efl/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.png.
  • platform/chromium-linux/fast/dom/HTMLInputElement/input-image-alt-text-expected.png:
  • platform/chromium-linux/fast/dynamic/containing-block-change-expected.png: Added.
  • platform/chromium-linux/fast/dynamic/first-letter-display-change-expected.png: Added.
  • platform/chromium-linux/fast/dynamic/window-resize-scrollbars-test-expected.png:
  • platform/chromium-linux/fast/events/updateLayoutForHitTest-expected.png: Renamed from LayoutTests/platform/efl/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.png.
  • platform/chromium-linux/fast/events/updateLayoutForHitTest-expected.txt: Added.
  • platform/chromium-mac-leopard/fast/dom/HTMLInputElement/input-image-alt-text-expected.png: Added.
  • platform/chromium-mac-leopard/fast/dom/getElementsByClassName/011-expected.txt: Added.
  • platform/chromium-mac-leopard/fast/dynamic/containing-block-change-expected.png: Added.
  • platform/chromium-mac-leopard/fast/dynamic/window-resize-scrollbars-test-expected.png: Added.
  • platform/chromium-mac-leopard/fast/events/updateLayoutForHitTest-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/dom/52776-expected.png:
  • platform/chromium-mac-snowleopard/fast/dom/52776-expected.txt:
  • platform/chromium-mac-snowleopard/fast/dom/HTMLInputElement/input-image-alt-text-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/dynamic/containing-block-change-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/dynamic/window-resize-scrollbars-test-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/encoding/utf-16-big-endian-expected.png:
  • platform/chromium-mac-snowleopard/fast/encoding/utf-16-little-endian-expected.png:
  • platform/chromium-mac-snowleopard/fast/events/reveal-link-when-focused-expected.png:
  • platform/chromium-mac-snowleopard/fast/events/updateLayoutForHitTest-expected.png: Added.
  • platform/chromium-mac/fast/dom/HTMLInputElement/input-image-alt-text-expected.png: Added.
  • platform/chromium-mac/fast/dynamic/containing-block-change-expected.png: Added.
  • platform/chromium-mac/fast/dynamic/window-resize-scrollbars-test-expected.png: Added.
  • platform/chromium-mac/fast/dynamic/window-resize-scrollbars-test-expected.txt: Added.
  • platform/chromium-mac/fast/encoding/utf-16-big-endian-expected.png: Added.
  • platform/chromium-mac/fast/encoding/utf-16-big-endian-expected.txt: Added.
  • platform/chromium-mac/fast/encoding/utf-16-little-endian-expected.png: Added.
  • platform/chromium-mac/fast/encoding/utf-16-little-endian-expected.txt: Added.
  • platform/chromium-mac/fast/events/reveal-link-when-focused-expected.png: Added.
  • platform/chromium-mac/fast/events/updateLayoutForHitTest-expected.png: Added.
  • platform/chromium-mac/fast/events/updateLayoutForHitTest-expected.txt: Added.
  • platform/chromium-win/fast/dom/HTMLInputElement/input-image-alt-text-expected.png:
  • platform/chromium-win/fast/dom/HTMLInputElement/input-image-alt-text-expected.txt:
  • platform/chromium-win/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.png: Renamed from LayoutTests/platform/gtk/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.png.
  • platform/chromium-win/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.txt: Added.
  • platform/chromium-win/fast/dynamic/containing-block-change-expected.png: Added.
  • platform/chromium-win/fast/dynamic/containing-block-change-expected.txt: Added.
  • platform/chromium-win/fast/dynamic/first-letter-display-change-expected.png: Added.
  • platform/chromium-win/fast/dynamic/window-resize-scrollbars-test-expected.png:
  • platform/chromium-win/fast/dynamic/window-resize-scrollbars-test-expected.txt:
  • platform/chromium/fast/dom/Window/get-set-properties-expected.txt:
  • platform/chromium/fast/dom/Window/window-property-descriptors-expected.txt: Copied from LayoutTests/fast/dom/Window/window-property-descriptors-expected.txt.
  • platform/chromium/fast/dom/Window/window-property-shadowing-expected.txt:
  • platform/chromium/test_expectations.txt:
  • platform/efl/fast/dom/Window/window-property-descriptors-expected.txt: Renamed from LayoutTests/fast/dom/Window/window-property-descriptors-expected.txt.
  • platform/mac/fast/dynamic/first-letter-display-change-expected.txt: Renamed from LayoutTests/fast/dynamic/first-letter-display-change-expected.txt.
2:21 PM Changeset in webkit [112440] by rniwa@webkit.org
  • 2 edits in trunk/Tools

extract-built-product build step should fail if unzipping fails
https://bugs.webkit.org/show_bug.cgi?id=82493

Reviewed by Simon Fraser.

Forward non-zero exit code from subprocesses so that the master can detect any failures
and bail out early.

  • BuildSlaveSupport/built-product-archive:

(main):

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

[chromium] Add tracing events around CCLayerTreeHostImpl visibility.
https://bugs.webkit.org/show_bug.cgi?id=82501

Patch by Michal Mocny <mmocny@google.com> on 2012-03-28
Reviewed by James Robinson.

  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:

(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::setVisible):

2:00 PM Changeset in webkit [112438] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Incorrect foreignObject hit test results when overlapping other SVG elements
https://bugs.webkit.org/show_bug.cgi?id=82059

Patch by Florin Malita <fmalita@google.com> on 2012-03-28
Reviewed by Nikolas Zimmermann.

Source/WebCore:

Test: svg/hittest/foreign-object-background.svg

Foreign content needs to be hit-tested atomically due to the (pseudo)
stacking context established by FOs.

  • rendering/svg/RenderSVGForeignObject.cpp:

(WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
Hit test all phases on FO HitTestForeground.

LayoutTests:

  • svg/hittest/foreign-object-background-expected.txt: Added.
  • svg/hittest/foreign-object-background.svg: Added.
1:59 PM Changeset in webkit [112437] by dpranke@chromium.org
  • 5 edits in trunk/Tools

test-webkitpy should support files, directories, and packages as command line args
https://bugs.webkit.org/show_bug.cgi?id=76765

Reviewed by Adam Barth.

This patch adds support for specifying files, directories, and
packages to test-webkitpy along with the already existing
support for modules, test classes, and individual test names.

Also, fix a bug in filesystem_mock where we wouldn't normalize a
path containing a reference to the current directory properly,
for example, '/foo/./bar.py'.

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

(MockFileSystem.normpath):

  • Scripts/webkitpy/test/main.py:

(Tester._configure_logging):
(Tester._run_tests):

  • Scripts/webkitpy/test/test_finder.py:

(TestDirectoryTree.find_modules):
(TestDirectoryTree.subpath):
(TestFinder.is_dotted_name):
(TestFinder.find_names):
(TestFinder):
(TestFinder._find_names_for_arg):
(TestFinder._find_in_trees):
(TestFinder._default_names):

  • Scripts/webkitpy/test/test_finder_unittest.py:

(TestFinderTest.setUp):
(TestFinderTest.tearDown):
(TestFinderTest.check_names):
(TestFinderTest.test_default_names):
(TestFinderTest):
(TestFinderTest.test_paths):

1:42 PM Changeset in webkit [112436] by shawnsingh@chromium.org
  • 11 edits in trunk

[chromium] layer->clipRect() is not initialized for layers that create a renderSurface.
https://bugs.webkit.org/show_bug.cgi?id=74147

Reviewed by Adrienne Walker.

Source/WebCore:

Added 3 additional unit tests; Modified existing unit tests and layout tests.

The layer's clipRect and usesLayerClipping information was not
being initialized for layers that created a renderSurface. (It
was, however, being initialized for the renderSurface itself.)
This patch adds a unit test that reproduces that this is an error,
other unit tests to tightly test the value of clipRect being
initialized, and adds the logic to properly initialize the
clipRect.

Before this patch, this bug was causing flashing on tab-switch on
the apple iphone page. Even worse, with partial swap enabled, the
layers would simply disappear, because the first frame the
clipRect is uninitialized and the layer is not drawn, and the
second frame onwards, the damage tracker correctly things nothing
is damaged, so it doesn't draw that layer again until other damage
causes it to be redrawn.

  • platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:

(WebCore::calculateDrawTransformsAndVisibilityInternal):

Source/WebKit/chromium:

Added 3 more unit tests. One reproduces the clipRect problem in an
integrated manner, the other two directly test that clipRects are
properly initialized.

  • tests/CCLayerTreeHostCommonTest.cpp:

(WebCore::TEST):
(WebCore):

  • tests/CCLayerTreeTestCommon.h:

(WebKitTests):

LayoutTests:

  • platform/chromium/test_expectations.txt: marked test as needing rebaselining
1:41 PM Changeset in webkit [112435] by Simon Fraser
  • 3 edits in trunk/Tools

Fix inspector tests when running in internal builds.

<rdar://problem/11050694>

Reviewed by Tim Hatcher.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetDefaultsToConsistentValues):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetStateToConsistentValues):

1:36 PM Changeset in webkit [112434] by andersca@apple.com
  • 5 edits in trunk/Source/WebCore

"Sticky" or slow scrolling on some sites
https://bugs.webkit.org/show_bug.cgi?id=82512
<rdar://problem/11000372>

Reviewed by Andreas Kling.

When we're in the slow mode and have to update the scroll layer position on the main thread,
get it from the scrolling thread so we'll be in sync with the scrolling tree when the main thread is busy.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):

  • page/scrolling/ScrollingCoordinator.h:

(ScrollingCoordinator):

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::mainFrameScrollPosition):
(WebCore):
(WebCore::ScrollingTree::updateMainFrameScrollPositionAndScrollLayerPosition):

  • page/scrolling/ScrollingTree.h:
1:29 PM Changeset in webkit [112433] by jam@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] Update worker-multi-port-expected.txt.

https://bugs.webkit.org/show_bug.cgi?id=82499

Reviewed by James Robinson.

  • platform/chromium-win/fast/workers/worker-multi-port-expected.txt:
1:20 PM Changeset in webkit [112432] by enne@google.com
  • 12 edits in trunk/Source

[chromium] Fix tiled layer assert for huge layers
https://bugs.webkit.org/show_bug.cgi?id=82486

Reviewed by James Robinson.

Source/WebCore:

Test: TiledLayerChromiumTest.hugeLayerUpdateCrash

TilingData::numTiles() is calculated as the product of two ints and so
can potentially overflow, causing numTiles() to be incorrect. To avoid
calling code accidentally falling into this trap, remove this function
and all code that uses tile index from TilingData. This requires
fixing up a bunch of callers of TilingData and CCLayerTilingData.

Additionally, TilingData::numTiles() has long been a confusing
function name in some contexts, so rename to bool hasEmptyBounds().

Also, remove TilingData::intersectDrawQuad because there are no
clients of that function.

  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::TiledLayerChromium::drawsContent):
(WebCore::TiledLayerChromium::reserveTextures):
(WebCore::TiledLayerChromium::prepareToUpdate):
(WebCore::TiledLayerChromium::prepareToUpdateIdle):
(WebCore::TiledLayerChromium::needsIdlePaint):
(WebCore::TiledLayerChromium::idlePaintRect):

  • platform/graphics/chromium/cc/CCLayerTilingData.cpp:

(WebCore::CCLayerTilingData::tileRect):

  • platform/graphics/chromium/cc/CCLayerTilingData.h:

(WebCore::CCLayerTilingData::hasEmptyBounds):
(WebCore::CCLayerTilingData::tileBounds):
(WebCore::CCLayerTilingData::isEmpty):

  • platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:

(WebCore::CCTiledLayerImpl::bindContentsTexture):
(WebCore::CCTiledLayerImpl::appendQuads):

  • platform/graphics/gpu/Texture.cpp:

(WebCore::Texture::create):
(WebCore::Texture::updateSubRect):

  • platform/graphics/gpu/TilingData.cpp:

(WebCore::TilingData::tileBounds):
(WebCore::TilingData::tileBoundsWithBorder):
(WebCore::TilingData::tileBoundsNormalized):

  • platform/graphics/gpu/TilingData.h:

(WebCore::TilingData::hasEmptyBounds):
(TilingData):
(WebCore::TilingData::assertTile):

Source/WebKit/chromium:

Add test for updating a huge layer that would assert prior to this
code. Fix up TilingData tests to use a testing class that provides a
safe version of numTiles().

  • tests/TiledLayerChromiumTest.cpp:

(WTF::TEST):
(WTF):

  • tests/TilingDataTest.cpp:

(TestTiling):
(WebCore::TestTiling::TestTiling):
(WebCore::TestTiling::numTiles):
(WebCore):
(WebCore::TEST):

1:13 PM Changeset in webkit [112431] by ddkilzer@apple.com
  • 4 edits in trunk/Tools

Use xcrun to find nm and ranlib on OS X builds
<http://webkit.org/b/82466>

Reviewed by Dan Bernstein.

  • Scripts/build-webkit: Use xcrun to find ranlib.
  • Scripts/webkitdirs.pm:

(determineNmPath): Added. Use xcrun to find nm on OS X.
(nmPath): Added.

  • Scripts/webkitperl/features.pm:

(libraryContainsSymbol): Use nmPath().

12:58 PM Changeset in webkit [112430] by kerz@chromium.org
  • 1 copy in branches/chromium/1084/codereview.settings

Codereview settings for the branch.

12:56 PM Changeset in webkit [112429] by dpranke@chromium.org
  • 2 edits in trunk/LayoutTests

More flaky tests.

Unreviewed, expectations update.

  • platform/chromium/test_expectations.txt:
12:44 PM Changeset in webkit [112428] by vsevik@chromium.org
  • 18 edits in trunk/Source/WebCore

Web Inspector: CodeGeneratorInspector.py: switch Runtime, Network and DOM domains to typed API
https://bugs.webkit.org/show_bug.cgi?id=81558

Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-03-28
Reviewed by Pavel Feldman.

Client code is switched to typed API (all InspectorObject and InspectorArray types are
replaced with generated types from TypeBuilder according to Inspector.json).

Missing array of int specialization is added. Code generator now has a check against
misspelled (non-existing) domain names.

  • inspector/CodeGeneratorInspector.py:

(Generator.go): check against misspelled domain names added.

  • inspector/InjectedScript.cpp:

(WebCore::InjectedScript::evaluate):
(WebCore::InjectedScript::callFunctionOn):
(WebCore::InjectedScript::evaluateOnCallFrame):
(WebCore::InjectedScript::getProperties):
(WebCore::InjectedScript::wrapObject):
(WebCore::InjectedScript::wrapNode):
(WebCore::InjectedScript::wrapSerializedObject):
(WebCore::InjectedScript::makeEvalCall):

  • inspector/InjectedScript.h:

(InjectedScript):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::getDocument):
(WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
(WebCore::InspectorDOMAgent::querySelectorAll):
(WebCore::InspectorDOMAgent::pushNodePathToFrontend):
(WebCore::InspectorDOMAgent::getEventListenersForNode):
(WebCore::InspectorDOMAgent::getSearchResults):
(WebCore::InspectorDOMAgent::resolveNode):
(WebCore::InspectorDOMAgent::getAttributes):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
(WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
(WebCore::InspectorDOMAgent::loadEventFired):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::styleAttributeInvalidated):
(WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):

  • inspector/InspectorDOMAgent.h:

(InspectorDOMAgent):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::resourceTypeJson):
(WebCore::InspectorPageAgent::cachedResourceTypeJson):
(WebCore::InspectorPageAgent::buildObjectForFrameTree):

  • inspector/InspectorPageAgent.h:
  • inspector/InspectorResourceAgent.cpp:

(WebCore::buildObjectForResourceRequest):
(WebCore::buildObjectForResourceResponse):
(WebCore::buildObjectForCachedResource):
(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::buildInitiatorObject):
(WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):

  • inspector/InspectorResourceAgent.h:

(InspectorResourceAgent):

  • inspector/InspectorRuntimeAgent.cpp:

(WebCore::InspectorRuntimeAgent::evaluate):
(WebCore::InspectorRuntimeAgent::callFunctionOn):
(WebCore::InspectorRuntimeAgent::getProperties):

  • inspector/InspectorRuntimeAgent.h:

(InspectorRuntimeAgent):

  • inspector/InspectorValues.h:

(InspectorArray):
(WebCore::InspectorArray::pushInt):
(WebCore):

  • inspector/ScriptCallFrame.cpp:

(WebCore::ScriptCallFrame::buildInspectorObject):

  • inspector/ScriptCallFrame.h:

(ScriptCallFrame):

  • inspector/ScriptCallStack.cpp:

(WebCore::ScriptCallStack::buildInspectorArray):

  • inspector/ScriptCallStack.h:

(ScriptCallStack):

12:30 PM Changeset in webkit [112427] by jamesr@google.com
  • 11 edits in branches/chromium/1084/Source/WebCore

Revert 112163 - Use PassRefPtr in V8DOMWrapper interface to avoid explicit ref() calls
https://bugs.webkit.org/show_bug.cgi?id=82238

Reviewed by Adam Barth.

The setJSWrapper* methods previously featured a comment that asked
callers to ref the objects before passing them in. This change makes
that contract explicit (and allows the removal of the comment).

In addition, for ConstructorCallbacks, this change slightly reduces
refcount churn by passing on the initial ref via RefPtr::release().

No new tests, no change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateConstructorCallback): Use RefPtr::release() to avoid refcount churn and remove explicit ref() call.
(GenerateNamedConstructorCallback): ditto.

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::V8DOMWindowShell::installDOMWindow): Cast to a PassRefPtr and remove explicit ref call.

  • bindings/v8/V8DOMWrapper.cpp:

(WebCore::V8DOMWrapper::setJSWrapperForDOMNode): Pass leaked refs into the DOMNodeMaps.

  • bindings/v8/V8DOMWrapper.h:

(V8DOMWrapper): Make the setJSWrapperFor* methods take PassRefPtr<T>.
(WebCore::V8DOMWrapper::setJSWrapperForDOMObject): Pass leaked ref into the DOMObjectMap.
(WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject): Pass leaked ref into the ActiveDOMObjectMap.

  • bindings/v8/V8Proxy.h:

(WebCore::toV8): Remove explicit ref.

  • bindings/v8/WorkerContextExecutionProxy.cpp:

(WebCore::WorkerContextExecutionProxy::initContextIfNeeded): Cast to a PassRefPTr and remove explicit ref call.

  • bindings/v8/custom/V8HTMLImageElementConstructor.cpp:

(WebCore::v8HTMLImageElementConstructorCallback): Use RefPtr::release() to avoid refcount churn and remove explicit ref.

  • bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:

(WebCore::V8WebKitMutationObserver::constructorCallback): ditto.

  • bindings/v8/custom/V8WebSocketCustom.cpp:

(WebCore::V8WebSocket::constructorCallback): ditto.

  • bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:

(WebCore::V8XMLHttpRequest::constructorCallback): ditto.

TBR=adamk@chromium.org

12:29 PM April 2012 Meeting edited by rniwa@webkit.org
Add more topics (diff)
12:28 PM Changeset in webkit [112426] by jamesr@google.com
  • 14 edits in branches/chromium/1084/Source/WebCore

Revert http://trac.webkit.org/changeset/112318

12:25 PM Changeset in webkit [112425] by eric@webkit.org
  • 22 edits in trunk/Source/WebCore

setNeedsLayout(true, false) is super confusing to read and should use an enum instead
https://bugs.webkit.org/show_bug.cgi?id=82369

Reviewed by Julien Chaffraix.

I replaced all uses of the markParents bool with a MarkingBehavior
enum (which has two values: MarkContainingBlockChain and MarkOnlyThis).
I'm not sure the naming is perfect (as it's not clear to me if markParents is
used to mean the same thing in these 3 functions), but hopefully this code is more
clear. I welcome further suggested adjustment from layout experts.

  • page/FrameView.cpp:

(WebCore::FrameView::scheduleRelayout):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::adjustPositionedBlock):
(WebCore::RenderBlock::layoutBlockChildren):
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
(WebCore::RenderBlock::removePositionedObjects):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::positionNewFloats):
(WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
(WebCore::RenderBlock::adjustBlockChildForPagination):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::layoutRunsAndFloats):
(WebCore::RenderBlock::layoutInlineChildren):
(WebCore::RenderBlock::positionNewFloatOnLine):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::positionLineBox):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
(WebCore::gatherFlexChildrenInfo):
(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::prepareChildForPositionedLayout):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateScrollInfoAfterLayout):

  • rendering/RenderMedia.cpp:

(WebCore::RenderMedia::layout):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::setPreferredLogicalWidthsDirty):

  • rendering/RenderObject.h:

(RenderObject):
(WebCore::RenderObject::setNeedsLayout):
(WebCore::RenderObject::setChildNeedsLayout):

  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::layoutSpecialExcludedChild):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::layout):

  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::calcRowLogicalHeight):
(WebCore::RenderTableSection::layoutRows):

  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::layoutSpecialExcludedChild):

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::layout):

  • rendering/RenderView.cpp:

(WebCore::RenderView::RenderView):
(WebCore::RenderView::layout):

  • rendering/mathml/RenderMathMLRoot.cpp:

(WebCore::RenderMathMLRoot::layout):

  • rendering/mathml/RenderMathMLRow.cpp:

(WebCore::RenderMathMLRow::layout):

  • rendering/mathml/RenderMathMLSubSup.cpp:

(WebCore::RenderMathMLSubSup::layout):

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::layoutChildren):

12:22 PM Changeset in webkit [112424] by commit-queue@webkit.org
  • 9 edits in trunk/Source

<http://webkit.org/b/82419> Web Inspector: Create -[DOMNode inspect] from IDL

Source/WebCore:

Instead of manually creating the method in DOM.mm we can specify it in
Node.idl and autogenerate part of the interface.

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2012-03-28
Reviewed by Timothy Hatcher.

  • bindings/objc/DOM.mm:
  • bindings/objc/DOMPrivate.h:

Move the call to InspectorController::inspect from here ...

  • dom/Node.h:
  • dom/Node.idl: IDL only in an ObjC block.
  • dom/Node.cpp:

(WebCore::Node::inspect):
... to here.

  • WebCore.xcodeproj/project.pbxproj:

Add the new generated file so we can Copy it in the build phase.

Source/WebKit/mac:

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2012-03-28
Reviewed by Timothy Hatcher.

  • MigrateHeaders.make: Copy DOMNodePrivate.h to PrivateHeaders.
12:19 PM Changeset in webkit [112423] by ojan@chromium.org
  • 5 edits in trunk/Tools

Add history navigation to garden-o-matic
https://bugs.webkit.org/show_bug.cgi?id=82495

Reviewed by Dimitri Glazkov.

Also, maintain scroll offsets when returning to a tab. This makes addressing
expected failures considerably easier when dealing with below-the-fold tests.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:

-Store the scrollTop before switching to a new tab and restore the appropriate scrollTop after
switching.
-Modify window.location with the tabName in the hash. Can't use pushState because this is served
from a file URL and Chrome puts each different file URL in it's own origin.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results.js:

Remove the href so that clicking on the accordion item does not modify window.location.hash.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/results.css:
11:49 AM Changeset in webkit [112422] by kerz@chromium.org
  • 1 copy in branches/chromium/1084

Branching for 1084

11:44 AM Changeset in webkit [112421] by tommyw@google.com
  • 7 edits
    1 copy
    4 adds in trunk/Source

[chromium] MediaStream API (JSEP): Introducing WebPeerConnection00Handler
https://bugs.webkit.org/show_bug.cgi?id=82450

Reviewed by Adam Barth.

Source/WebCore:

This change removes the default PeerConnection00Handler.cpp from the Chromium build.

A major overhaul of the existing layout tests is forthcoming.

  • WebCore.gypi:
  • platform/mediastream/PeerConnection00Handler.h:

(WebCore):
(PeerConnection00Handler):

Source/WebKit/chromium:

Last patch to enable the PeerConnection00 functionality in Chromium introduces
WebPeerConnection00Handler and WebPeerConnection00HandlerClient, together with the necessary plumbing.

  • WebKit.gyp:
  • bridge/PeerConnection00Handler.cpp: Added.

(WebCore):
(WebCore::PeerConnection00Handler::create):
(WebCore::PeerConnection00Handler::PeerConnection00Handler):
(WebCore::PeerConnection00Handler::~PeerConnection00Handler):
(WebCore::PeerConnection00Handler::createOffer):
(WebCore::PeerConnection00Handler::createAnswer):
(WebCore::PeerConnection00Handler::setLocalDescription):
(WebCore::PeerConnection00Handler::setRemoteDescription):
(WebCore::PeerConnection00Handler::localDescription):
(WebCore::PeerConnection00Handler::remoteDescription):
(WebCore::PeerConnection00Handler::startIce):
(WebCore::PeerConnection00Handler::processIceMessage):
(WebCore::PeerConnection00Handler::addStream):
(WebCore::PeerConnection00Handler::removeStream):
(WebCore::PeerConnection00Handler::stop):

  • bridge/PeerConnection00HandlerInternal.cpp: Added.

(WebCore):
(WebCore::PeerConnection00HandlerInternal::PeerConnection00HandlerInternal):
(WebCore::PeerConnection00HandlerInternal::~PeerConnection00HandlerInternal):
(WebCore::PeerConnection00HandlerInternal::createOffer):
(WebCore::PeerConnection00HandlerInternal::createAnswer):
(WebCore::PeerConnection00HandlerInternal::setLocalDescription):
(WebCore::PeerConnection00HandlerInternal::setRemoteDescription):
(WebCore::PeerConnection00HandlerInternal::localDescription):
(WebCore::PeerConnection00HandlerInternal::remoteDescription):
(WebCore::PeerConnection00HandlerInternal::startIce):
(WebCore::PeerConnection00HandlerInternal::processIceMessage):
(WebCore::PeerConnection00HandlerInternal::addStream):
(WebCore::PeerConnection00HandlerInternal::removeStream):
(WebCore::PeerConnection00HandlerInternal::stop):
(WebCore::PeerConnection00HandlerInternal::didGenerateICECandidate):
(WebCore::PeerConnection00HandlerInternal::didChangeReadyState):
(WebCore::PeerConnection00HandlerInternal::didChangeICEState):
(WebCore::PeerConnection00HandlerInternal::didAddRemoteStream):
(WebCore::PeerConnection00HandlerInternal::didRemoveRemoteStream):

  • bridge/PeerConnection00HandlerInternal.h: Copied from Source/WebCore/platform/mediastream/PeerConnection00Handler.h.

(WebKit):
(WebCore):
(PeerConnection00HandlerInternal):

  • public/platform/WebKitPlatformSupport.h:

(WebKit):
(WebKit::WebKitPlatformSupport::createPeerConnection00Handler):

  • public/platform/WebPeerConnection00Handler.h: Added.

(WebKit):
(WebPeerConnection00Handler):
(WebKit::WebPeerConnection00Handler::~WebPeerConnection00Handler):

  • public/platform/WebPeerConnection00HandlerClient.h: Added.

(WebKit):
(WebPeerConnection00HandlerClient):
(WebKit::WebPeerConnection00HandlerClient::~WebPeerConnection00HandlerClient):

  • src/AssertMatchingEnums.cpp:
11:37 AM Changeset in webkit [112420] by eae@chromium.org
  • 4 edits in branches/subpixellayout/Source

Build fixes for chromium linux

11:32 AM Changeset in webkit [112419] by robert@webkit.org
  • 2 edits in trunk/Source/WebCore

[REGRESSION] Web Inspector: column caption delimiters are misaligned in DataGrid
https://bugs.webkit.org/show_bug.cgi?id=82193

Reviewed by Yury Semikhatsky.

Since r111742 column width in fixed layout tables is set to the width of the cell plus its left padding plus its right padding
plus half its left border plus half its right border in the collapsing border model. The layout of the panel
headers in the inspector depended on pre-r111742 behaviour, so ended up misaligned with the content below. To cater for the
new method of calculating column width enforce a fixed width for the corner column by removing padding and borders (except collapsed
borders from adjacent cells) and specify the expected width (15px) minus the expected width of the collapsed borders (1px).

  • inspector/front-end/dataGrid.css:

(.data-grid th.corner):

11:29 AM Changeset in webkit [112418] by alexis.menard@openbossa.org
  • 2 edits in trunk/Source/WebCore

Increase code sharing between CSSProperty and CSSPropertyLonghand.
https://bugs.webkit.org/show_bug.cgi?id=82479

Reviewed by Antti Koivisto.

Use longhands declarations from CSSPropertyLonghand in CSSProperty to avoid
code duplication.

No new tests : refactoring only, we shouldn't have any behavior difference.

  • css/CSSProperty.cpp:

(WebCore::resolveToPhysicalProperty):
(WebCore::borderDirections):
(WebCore):
(WebCore::CSSProperty::resolveDirectionAwareProperty):

11:24 AM Changeset in webkit [112417] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Compositor visibility setting must be updated even if not actively compositing
https://bugs.webkit.org/show_bug.cgi?id=82406

Patch by James Robinson <jamesr@chromium.org> on 2012-03-28
Reviewed by Adrienne Walker.

Propagate the visibility bit to the WebLayerTreeView even when compositing is inactive.

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::setVisibilityState):

11:23 AM Changeset in webkit [112416] by vsevik@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: Implement snippets renaming in scripts navigator.
https://bugs.webkit.org/show_bug.cgi?id=82477

Reviewed by Pavel Feldman.

Snippets renaming is implemented as editing of snippet name in scripts navigator.

  • inspector/front-end/ScriptsNavigator.js:

(WebInspector.ScriptsNavigator.prototype._handleRenameSnippet):
(WebInspector.ScriptsNavigator.prototype._fileRenamed):
(WebInspector.ScriptsNavigator.prototype.rename.commitHandler):
(WebInspector.ScriptsNavigator.prototype.rename.cancelHandler):
(WebInspector.ScriptsNavigator.prototype.rename.afterEditing):
(WebInspector.BaseNavigatorTreeElement.prototype.set titleText):

  • inspector/front-end/scriptsPanel.css:

(#scripts-navigator-tabbed-pane .navigator .base-navigator-tree-element-title.editing):

11:20 AM Changeset in webkit [112415] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

REGRESSION (r109826): Can't type into Flash text fields
https://bugs.webkit.org/show_bug.cgi?id=82488
<rdar://problem/11022004>

Reviewed by Sam Weinig.

This was caused by the fix in r109826. Revert that change and fix the original bug by notifying the UI process
that the plug-in lost focus when it's destroyed. This will correctly reset the text input state (merely setting
the text input state to PluginComplexTextInputDisabled doesn't reset the state correctly).

  • UIProcess/API/mac/WKView.mm:

(-[WKView _setPluginComplexTextInputState:]):
(-[WKView _handlePluginComplexTextInputKeyDown:]):

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::~PluginView):

11:13 AM Changeset in webkit [112414] by vsevik@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: Add context menu for snippets control.
https://bugs.webkit.org/show_bug.cgi?id=82475

Reviewed by Pavel Feldman.

This is a preliminary implementation of snippets control using context menu.
We might want to add a more discoverable one before taking snippets out of experiments.

  • English.lproj/localizedStrings.js:
  • inspector/front-end/ScriptsNavigator.js:

(WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
(WebInspector.ScriptsNavigator.prototype._createSnippetsTree):
(WebInspector.ScriptsNavigator.prototype._handleSnippetContextMenuEvent):
(WebInspector.ScriptsNavigator.prototype._showSnippetContextMenu):
(WebInspector.ScriptsNavigator.prototype._handleEvaluateSnippet):
(WebInspector.ScriptsNavigator.prototype._handleRenameSnippet):
(WebInspector.ScriptsNavigator.prototype._handleRemoveSnippet):
(WebInspector.ScriptsNavigator.prototype._handleCreateSnippet):
(WebInspector.NavigatorScriptTreeElement.prototype.get navigator):
(WebInspector.NavigatorScriptTreeElement.prototype.onattach):
(WebInspector.NavigatorScriptTreeElement.prototype.onenter):
(WebInspector.NavigatorScriptTreeElement.prototype._handleContextMenuEvent):

11:08 AM Changeset in webkit [112413] by vsevik@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: ScriptsNavigator should save scroll position when switching tabs.
https://bugs.webkit.org/show_bug.cgi?id=82472

Reviewed by Pavel Feldman.

WebInspector.View provides save/restore scroll position capabilities.
This patch makes them used in ScriptsNavigator.

  • inspector/front-end/ScriptsNavigator.js:

(WebInspector.ScriptsNavigator):
(WebInspector.ScriptsNavigator.prototype._createSnippetsTree):

  • inspector/front-end/scriptsPanel.css:

(#scripts-navigator-tabbed-pane .tabbed-pane-content):
(#scripts-navigator-tabbed-pane .navigator-container):

11:00 AM Changeset in webkit [112412] by sergio@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed, skipping 3 tests timing out after the libsoup upgrade
to 2.37.92.

  • platform/gtk/Skipped:
10:55 AM Changeset in webkit [112411] by fsamuel@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Enable Viewport define by default
https://bugs.webkit.org/show_bug.cgi?id=79514

Reviewed by Darin Fisher.

  • features.gypi:
10:50 AM Changeset in webkit [112410] by eae@chromium.org
  • 6 edits in branches/subpixellayout/Source/WebCore

qt build fixes for branch.

10:17 AM Changeset in webkit [112409] by caseq@chromium.org
  • 5 edits in trunk/Source/WebCore

Web Inspector: only update Timeline overview when really needed
https://bugs.webkit.org/show_bug.cgi?id=81909

Reviewed by Pavel Feldman.

Switch timeline overview to using raw records, thus removing dependency on instance members of
TimelinePresentationModel. This requires moving record styles/categories to static getters.

  • inspector/front-end/TimelineModel.js:

(WebInspector.TimelineModel):
(WebInspector.TimelineModel.startTime):
(WebInspector.TimelineModel.endTime):
(WebInspector.TimelineModel.duration):
(WebInspector.TimelineModel.prototype._addRecord):
(WebInspector.TimelineModel.prototype.reset):
(WebInspector.TimelineModel.prototype.minimumRecordTime):
(WebInspector.TimelineModel.prototype.maximumRecordTime):
(WebInspector.TimelineModel.prototype._updateBoundaries):

  • inspector/front-end/TimelineOverviewPane.js:

(WebInspector.TimelineOverviewPane):
(WebInspector.TimelineOverviewPane.prototype._showTimelines):
(WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
(WebInspector.TimelineOverviewPane.prototype._setVerticalOverview):
(WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged):
(WebInspector.TimelineOverviewPane.prototype._update):
(WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips.markPercentagesForRecord):
(WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips):
(WebInspector.TimelineOverviewPane.prototype.windowStartTime):
(WebInspector.TimelineOverviewPane.prototype.windowEndTime):
(WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
(WebInspector.TimelineOverviewPane.prototype.setShowShortEvents):
(WebInspector.TimelineOverviewPane.prototype._scheduleRefresh):
(WebInspector.TimelineOverviewCalculator.prototype.computeBarGraphPercentages):
(WebInspector.TimelineOverviewCalculator.prototype.setWindow):
(WebInspector.TimelineOverviewCalculator.prototype.reset):
(WebInspector.HeapGraph):
(WebInspector.HeapGraph.prototype.update):
(WebInspector.TimelineVerticalOverview):
(WebInspector.TimelineVerticalOverview.prototype.reset):
(WebInspector.TimelineVerticalOverview.prototype.update):
(WebInspector.TimelineVerticalOverview.prototype.wasShown):
(WebInspector.TimelineVerticalOverview.prototype.willHide):
(WebInspector.TimelineVerticalOverview.prototype._aggregateFrameStatistics):
(WebInspector.TimelineVerticalOverview.prototype._aggregateRecords):
(WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
(WebInspector.TimelineVerticalOverview.prototype._onRecordAdded):
(WebInspector.TimelineAggregatedRecord):
(WebInspector.TimelineAggregatedRecord.prototype._aggregateStatistics):

  • inspector/front-end/TimelinePanel.js:

(WebInspector.TimelinePanel):
(WebInspector.TimelinePanel.prototype._createStatusbarButtons):
(WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
(WebInspector.TimelinePanel.prototype._resetPanel):
(WebInspector.TimelinePanel.prototype._refresh):
(WebInspector.TimelineCalculator):
(WebInspector.TimelineCalculator.prototype.formatTime):

  • inspector/front-end/TimelinePresentationModel.js:

(WebInspector.TimelinePresentationModel):
(WebInspector.TimelinePresentationModel.categories):
(WebInspector.TimelinePresentationModel.recordStyle):
(WebInspector.TimelinePresentationModel.categoryForRecord):
(WebInspector.TimelinePresentationModel.prototype.reset):
(WebInspector.TimelinePresentationModel.prototype.addRecord):
(WebInspector.TimelinePresentationModel.Record):
(WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):

9:33 AM Changeset in webkit [112408] by Philippe Normand
  • 3 edits in trunk/Tools

[GTK] generate-gtk-doc doesn't cope with custom build directory
https://bugs.webkit.org/show_bug.cgi?id=82448

Reviewed by Martin Robinson.

Pass the product directory in generate-gtkdoc arguments from
build-webkit.

  • Scripts/webkitdirs.pm:

(buildAutotoolsProject):

  • gtk/common.py:

(get_build_path):

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

[BlackBerry] Plumb through GraphicsLayer::contentsOpaque() to LayerTiler
https://bugs.webkit.org/show_bug.cgi?id=82457

Patch by Arvid Nilsson <anilsson@rim.com> on 2012-03-28
Reviewed by Rob Buis.

The LayerTiler already knows not to turn on GL_BLEND for opaque layers.
However, it only ever sets the opaque flag for image layers and color
layers, never for content layers.

This was no big deal, because contentsOpaque() is currently false for
all layers except the root layer, which we always drew using the
BlackBerry::WebKit::BackingStore anyway.

When we start using RenderLayerBacking::m_usingTiledCacheLayer=true on
the root layer in situations where the BackingStore is unavailable, we
can speed up rendering of the root layer by honouring the opaque flag.

Fixed by plumbing through the GraphicsLayer::contentsOpaque() flag all
the way to LayerTiler and on to Texture.

  • platform/graphics/blackberry/LayerData.h:

(WebCore::LayerData::LayerData):
(WebCore::LayerData::isOpaque):
(LayerData):

  • platform/graphics/blackberry/LayerTile.cpp:

(WebCore::LayerTile::updateContents):

  • platform/graphics/blackberry/LayerTile.h:

(LayerTile):

  • platform/graphics/blackberry/LayerTiler.cpp:

(WebCore::LayerTiler::updateTextureContentsIfNeeded):
(WebCore::LayerTiler::performTileJob):

  • platform/graphics/blackberry/LayerTiler.h:

(WebCore::LayerTiler::TextureJob::TextureJob):
(WebCore::LayerTiler::TextureJob::updateContents):

  • platform/graphics/blackberry/LayerWebKitThread.h:

(WebCore::LayerWebKitThread::setOpaque):

  • platform/graphics/blackberry/Texture.h:

(Texture):

  • platform/graphics/blackberry/TextureCacheCompositingThread.cpp:

(WebCore::TextureCacheCompositingThread::updateContents):

  • platform/graphics/blackberry/TextureCacheCompositingThread.h:

(TextureCacheCompositingThread):

8:53 AM Changeset in webkit [112406] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] Add --skipped command line option to Tools/Scripts/run-gtk-tests
https://bugs.webkit.org/show_bug.cgi?id=82341

Reviewed by Martin Robinson.

Add --skipped=skip|ignore|only command line option.

  • Scripts/run-gtk-tests:

(TestRunner._test_cases_to_skip): Return the list of test cases
to skip for the given test depending on the skipped action.
(TestRunner._should_run_test): Decide whether to run the test or
not depending on the skipped action.
(TestRunner.run_tests): Only show the list of skipped tests when
skipped action is 'skip'.

8:49 AM Changeset in webkit [112405] by pfeldman@chromium.org
  • 2 edits in trunk/LayoutTests

Not reviewed: updated chromium test expectations.

  • platform/chromium/test_expectations.txt:
8:47 AM Changeset in webkit [112404] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] Use gtester -s to skip individual test cases instead of unit tests as a whole
https://bugs.webkit.org/show_bug.cgi?id=82333

Reviewed by Martin Robinson.

  • Scripts/run-gtk-tests:

(TestRunner.SkippedTest): Add SkippedTest class to store more
information about skipped tests.
(TestRunner._setup_testing_environment): Use SkippedTest to add
TestWebKitAccessibility to the skipped list.
(TestRunner._find_skipped_test): Return the SkippedTest object for
a given test path.
(TestRunner._test_cases_to_skip): Returns the list of test cases
that should be skipped for a given test path.
(TestRunner._should_run_test): Helper funtion to decide whether
the given test path should be run or not. Tests in the skipped
list that don't have a list of failing test cases are not run at
all. Tests in the skipped list that contain a list of test cases
are run with gtester -s to skip the individual test cases.
(TestRunner._run_test): Helper funtion to run a given test.
(TestRunner.run_tests): Build the list of tests to run based on
_should_run_test() and use helper function _run_test() to run
every test.

8:36 AM Changeset in webkit [112403] by caseq@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: nuke HeapGraph.setSize(), do it automagically on update
https://bugs.webkit.org/show_bug.cgi?id=82471

Reviewed by Yury Semikhatsky.

  • inspector/front-end/TimelineOverviewPane.js:

(WebInspector.TimelineOverviewPane.prototype.update):
(WebInspector.HeapGraph.prototype.update):

8:33 AM WebKitGTK/1.8.x edited by sergio@webkit.org
(diff)
8:20 AM Changeset in webkit [112402] by podivilov@chromium.org
  • 7 edits in trunk

Web Inspector: dispatch console-message-added and console-messages-cleared events on UISourceCode.
https://bugs.webkit.org/show_bug.cgi?id=82463

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Those events are related to specific UISourceCode. See bug 82224 for more details.

  • inspector/front-end/DebuggerPresentationModel.js:

(WebInspector.DebuggerPresentationModel):
(WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript):
(WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
(WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
(WebInspector.UISourceCodeImpl):
(WebInspector.UISourceCodeImpl.prototype.consoleMessages):
(WebInspector.UISourceCodeImpl.prototype.consoleMessageAdded):
(WebInspector.UISourceCodeImpl.prototype.consoleMessagesCleared):

  • inspector/front-end/JavaScriptSourceFrame.js:

(WebInspector.JavaScriptSourceFrame):
(WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
(WebInspector.JavaScriptSourceFrame.prototype._consoleMessageAdded):
(WebInspector.JavaScriptSourceFrame.prototype._consoleMessagesCleared):
(WebInspector.JavaScriptSourceFrame.prototype._onTextViewerContentLoaded):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):

  • inspector/front-end/UISourceCode.js:

(WebInspector.UISourceCode.prototype.breakpoints):
(WebInspector.UISourceCode.prototype.consoleMessages):

LayoutTests:

  • inspector/debugger/scripts-panel.html:
8:13 AM Changeset in webkit [112401] by Carlos Garcia Campos
  • 7 edits
    2 adds
    1 delete in trunk/Source

[GTK] Implement PlatformStrategies
https://bugs.webkit.org/show_bug.cgi?id=82454

Reviewed by Xan Lopez.

Source/WebCore:

  • GNUmakefile.list.am: Remove PluginDataGtk.cpp. The same

functionality is now implemented using platform strategies.

  • plugins/gtk/PluginDataGtk.cpp: Removed.

Source/WebKit/gtk:

  • GNUmakefile.am: Add new files to compilation.
  • WebCoreSupport/PlatformStrategiesGtk.cpp: Added.

(PlatformStrategiesGtk::initialize): Initialize platform
strategies.
(PlatformStrategiesGtk::PlatformStrategiesGtk):
(PlatformStrategiesGtk::createCookiesStrategy): Return this.
(PlatformStrategiesGtk::createPluginStrategy): Ditto.
(PlatformStrategiesGtk::createVisitedLinkStrategy): Ditto.
(PlatformStrategiesGtk::createPasteboardStrategy): Return 0, since
PasteboardStrategy is only used by mac code for now.
(PlatformStrategiesGtk::notifyCookiesChanged):
(PlatformStrategiesGtk::refreshPlugins): Refresh the plugin
database.
(PlatformStrategiesGtk::getPluginInfo): Initialize plugins and
populate the given vector with plugins information.
(PlatformStrategiesGtk::isLinkVisited): Return whether the given
hash is a visited link of the page group.
(PlatformStrategiesGtk::addVisitedLink): Add the given hash to the
page group visited links.

  • WebCoreSupport/PlatformStrategiesGtk.h: Added.
  • webkit/webkitglobals.cpp:

(webkitInit): Initialize PlatformStrategiesGtk.

Source/WTF:

  • wtf/Platform.h: Define WTF_USE_PLATFORM_STRATEGIES for GTK+

platform too.

8:07 AM Changeset in webkit [112400] by vsevik@chromium.org
  • 5 edits in trunk/Source/WebCore

Web Inspector: [Regression] TabIndex is not correctly restored after editing.
https://bugs.webkit.org/show_bug.cgi?id=82464

Reviewed by Pavel Feldman.

This fixes incorrect usage of isNaN that returns false for null value.
Drive-by javascript compilation fix.

  • inspector/front-end/CompilerScriptMapping.js:

(WebInspector.CompilerScriptMapping.prototype.addScript): compilation fix.

  • inspector/front-end/ResourceScriptMapping.js:

(WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged): compilation fix.

  • inspector/front-end/SnippetsModel.js:

(WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript): compilation fix.

  • inspector/front-end/UIUtils.js:

(WebInspector.startEditing.cleanUpAfterEditing): incorrect usage of isNaN fix.

8:00 AM Changeset in webkit [112399] by yi.4.shen@nokia.com
  • 3 edits
    2 adds in trunk

An extra line break is inserted when pasting into a font element.
https://bugs.webkit.org/show_bug.cgi?id=71207

Reviewed by Ryosuke Niwa.

Fix an editing bug where inserting text into a font element would
create an extra div element in the dom tree. The
WebCore::positionAvoidingPrecedingNodes() tries to set the correct
destination position by checking the next visible position, however,
it causes the position moves into the child element in somecase.
Instead, we should only check the position in parent after node.

Source/WebCore:

Test: editing/inserting/insert-text-into-font.html

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::positionAvoidingPrecedingNodes):

LayoutTests:

  • editing/inserting/insert-text-into-font-expected.txt: Added.
  • editing/inserting/insert-text-into-font.html: Added.
7:57 AM WebKitGTK/1.8.x edited by sergio@webkit.org
(diff)
7:56 AM Changeset in webkit [112398] by commit-queue@webkit.org
  • 8 edits
    8 adds in trunk/LayoutTests

[CSS Regions] Add region styling tests for interaction between region styling and scoped styles
https://bugs.webkit.org/show_bug.cgi?id=82340

Patch by Mihai Balan <mibalan@adobe.com> on 2012-03-28
Reviewed by Antti Koivisto.

Adding tests for style interaction between region styling snd scoped style elements. Currently skipped,
since scoped style elements are not enabled by default.

  • fast/regions/style-scoped-in-flow-expected.html: Added.
  • fast/regions/style-scoped-in-flow-override-container-style-expected.html: Added.
  • fast/regions/style-scoped-in-flow-override-container-style.html: Added.
  • fast/regions/style-scoped-in-flow-override-region-styling-expected.html: Added.
  • fast/regions/style-scoped-in-flow-override-region-styling-multiple-regions-expected.html: Added.
  • fast/regions/style-scoped-in-flow-override-region-styling-multiple-regions.html: Added.
  • fast/regions/style-scoped-in-flow-override-region-styling.html: Added.
  • fast/regions/style-scoped-in-flow.html: Added.
  • platform/efl/Skipped:
  • platform/gtk/Skipped:
  • platform/mac/Skipped:
  • platform/qt/Skipped:
  • platform/win/Skipped:
  • platform/wincairo/Skipped:
7:54 AM Changeset in webkit [112397] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[Qt] Couple of tests have different results on 64 bit and/or in debug mode compared to 32 bit and/or release mode
https://bugs.webkit.org/show_bug.cgi?id=52810

Reviewed by Simon Hausmann.

Use SSE2 floating point math on 32 bit instead of the default
387 to make layout test result same on 32 and on 64 bit builds.

  • qmake/mkspecs/features/unix/default_post.prf:
7:45 AM Changeset in webkit [112396] by sergio@webkit.org
  • 13 edits
    1 copy
    1 add in trunk

[Soup] DNS prefetching spams resolver, shoots self in the foot
https://bugs.webkit.org/show_bug.cgi?id=41630

Reviewed by Martin Robinson.

.:

Bump libsoup and glib dependencies.

  • Source/cmake/OptionsEfl.cmake:
  • configure.ac:

Source/WebCore:

Added generic DNSResolveQueue class to throttle DNS
prefetches. It's an abstract refactoring of CFNET's
DNSResolveQueue. Platform specific methods implemented for soup
and CFNET backends.

No new tests required as we're just refactoring existing code to
be used by two different ports.

  • CMakeLists.txt: added new file.
  • GNUmakefile.list.am: ditto.
  • WebCore.vcproj/WebCore.vcproj: ditto.
  • WebCore.xcodeproj/project.pbxproj: ditto.
  • platform/network/DNSResolveQueue.cpp: Added.

(WebCore):
(WebCore::DNSResolveQueue::add): adds a new host to be prefetched.
(WebCore::DNSResolveQueue::fired): by using a delay we coalesce
several prefetch requests and try to resolve them all here.

  • platform/network/DNSResolveQueue.h: Added.

(WebCore):
(DNSResolveQueue): class that implements DNS prefetch
throttling using a template pattern.
(WebCore::DNSResolveQueue::shared):
(WebCore::DNSResolveQueue::decrementRequestCount):

  • platform/network/cf/DNSCFNet.cpp:

(WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences):
(WebCore::DNSResolveQueue::platformResolve):

  • platform/network/soup/DNSSoup.cpp:

(WebCore):
(WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences):
(WebCore::resolvedCallback):
(WebCore::DNSResolveQueue::platformResolve):
(WebCore::prefetchDNS):

Tools:

Bump libsoup and glib dependencies.

  • efl/jhbuild.modules:
  • gtk/jhbuild.modules:
7:37 AM Changeset in webkit [112395] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

window.scrollBy() scrolls incorrectly when zoomed in/out
https://bugs.webkit.org/show_bug.cgi?id=45228

Patch by Eugene Girard <girard@chromium.org> on 2012-03-28
Reviewed by Simon Fraser.

scrollBy now uses layout (not CSS) units. (As scrollTo does.)

Source/WebCore:

Test: fast/dom/zoom-scroll-page-test.html

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::scrollBy):

LayoutTests:

  • fast/dom/zoom-scroll-page-test-expected.txt: Added.
  • fast/dom/zoom-scroll-page-test.html: Added.
7:33 AM SettingUpDevelopmentEnvironmentForN9 edited by zarvai@inf.u-szeged.hu
(diff)
7:28 AM Changeset in webkit [112394] by schenney@chromium.org
  • 3 edits
    2 adds in trunk

Null dereference in SVGTextElement::animatedLocalTransform()
https://bugs.webkit.org/show_bug.cgi?id=82375

Reviewed by Nikolas Zimmermann.

Source/WebCore:

A poorly structured SVG file with a text element inside an
animatedTransform element leaves the text element placed outside of
the SVG root and it has no renderer(). Later attempts to use the
renderer in animatedLocalTransform fail.

Test: svg/custom/get-text-element-transform-crash.html

  • svg/SVGTextElement.cpp:

(WebCore::SVGTextElement::animatedLocalTransform): Added a check for null renderer, and do not check
for style transform if there is no renderer.

LayoutTests:

  • svg/custom/get-text-element-transform-crash-expected.txt: Added.
  • svg/custom/get-text-element-transform-crash.html: Added.
7:19 AM Changeset in webkit [112393] by xan@webkit.org
  • 2 edits in trunk

[GTK] Respect NOCONFIGURE option in autogen.sh
https://bugs.webkit.org/show_bug.cgi?id=82447

Reviewed by Philippe Normand.

Make autogen.sh follow the new build-api for GNOME, see
http://people.gnome.org/~walters/docs/build-api.txt

  • autogen.sh: respect the NOCONFIGURE environment flag, per the

new GNOME build-api.

7:11 AM Changeset in webkit [112392] by kov@webkit.org
  • 3 edits in trunk/Tools

[GTK] Disable introspection for jhbuild modules
https://bugs.webkit.org/show_bug.cgi?id=82395

Reviewed by Philippe Normand.

  • efl/jhbuild.modules: add --disable-introspection to all modules

that support it

  • gtk/jhbuild.modules: ditto.
6:14 AM Changeset in webkit [112391] by Nikolas Zimmermann
  • 15 edits in trunk

Enable animVal support for SVGAnimatedPreserveAspectRatio
https://bugs.webkit.org/show_bug.cgi?id=82326

Reviewed by Zoltan Herczeg.

Source/WebCore:

Enable animVal support for SVGAnimatedPreserveAspectRatio. Very simple now that everything is prepared.
All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedPreserveAspectRatioAnimator.

Modernize SVGPreserveAspectRatio, align parsing this object from String, with the other SVG DOM primitives,
who supply a "void parse(const String&)" method, for this task.

Extended existing tests to cover this.

  • svg/SVGAnimatedPreserveAspectRatio.cpp:

(WebCore::SVGAnimatedPreserveAspectRatioAnimator::constructFromString):
(WebCore::SVGAnimatedPreserveAspectRatioAnimator::startAnimValAnimation):
(WebCore::SVGAnimatedPreserveAspectRatioAnimator::stopAnimValAnimation):
(WebCore::SVGAnimatedPreserveAspectRatioAnimator::resetAnimValToBaseVal):
(WebCore::SVGAnimatedPreserveAspectRatioAnimator::animValWillChange):
(WebCore::SVGAnimatedPreserveAspectRatioAnimator::animValDidChange):

  • svg/SVGAnimatedPreserveAspectRatio.h:

(SVGAnimatedPreserveAspectRatioAnimator):

  • svg/SVGAnimatedType.cpp:

(WebCore::SVGAnimatedType::valueAsString):
(WebCore::SVGAnimatedType::setValueAsString):
(WebCore::SVGAnimatedType::supportsAnimVal):

  • svg/SVGFEImageElement.cpp:

(WebCore::SVGFEImageElement::parseAttribute):

  • svg/SVGFitToViewBox.cpp:

(WebCore::SVGFitToViewBox::parseAttribute):

  • svg/SVGImageElement.cpp:

(WebCore::SVGImageElement::parseAttribute):

  • svg/SVGPreserveAspectRatio.cpp:

(WebCore::SVGPreserveAspectRatio::parse):
(WebCore):

  • svg/SVGPreserveAspectRatio.h:

(SVGPreserveAspectRatio):

  • svg/SVGViewSpec.cpp:

(WebCore::SVGViewSpec::setPreserveAspectRatioString):
(WebCore::SVGViewSpec::parseViewSpec):

LayoutTests:

Extend SVGAnimatedPreserveAspectRatio tests to cover animVal support.

  • svg/animations/script-tests/svgPreserveAspectRatio-animation-1.js:

(sample1):
(sample2):
(sample3):

  • svg/animations/svgPreserveAspectRatio-animation-1-expected.txt:
  • svg/dom/preserve-aspect-ratio-parser-expected.txt:
  • svg/dom/preserve-aspect-ratio-parser.html: Parsing errors now yield to 'unknown' pAR values, as desired.
6:05 AM Changeset in webkit [112390] by pfeldman@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [v8] inspection of CanvasPixelArray is slow.
https://bugs.webkit.org/show_bug.cgi?id=82455

Reviewed by Vsevolod Vlasov.

Added CanvasPixelArray to the list of classes that we consider
arrays.

  • bindings/v8/custom/V8InjectedScriptHostCustom.cpp:

(WebCore::V8InjectedScriptHost::typeCallback):

6:02 AM Changeset in webkit [112389] by leandrogracia@chromium.org
  • 6 edits
    2 adds in trunk/Source/WebCore

Selectively retrieve text content around a given position.
https://bugs.webkit.org/show_bug.cgi?id=78361

Reviewed by Ryosuke Niwa.

Tests: a new layout test will be introduced once the required WebKit API code is ready.

Introduce the DOMTextContentWalker class to selectively retrieve content
around a given VisiblePosition into a string in such a way that a text
Range can be extracted later from a pair of the string's positions.

A new boolean called m_shouldStop is also introduced in the TextIterator to force
it advancing under certain conditions. Although this is usually done by setting
m_positionNode to zero, it can't be applied in this case since by doing so the
iterator's range is lost.

  • WebCore.gypi:
  • editing/SurroundingText.cpp: Added.

(WebCore):
(WebCore::SurroundingText::SurroundingText):
(WebCore::SurroundingText::rangeFromContentOffsets):
(WebCore::SurroundingText::content):
(WebCore::SurroundingText::positionOffsetInContent):

  • editing/SurroundingText.h: Added.

(WebCore):
(SurroundingText):

  • editing/TextIterator.cpp:

(WebCore::TextIterator::TextIterator):
(WebCore::TextIterator::advance):
(WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
(WebCore::SimplifiedBackwardsTextIterator::advance):

  • editing/TextIterator.h:

(WebCore::TextIterator::atEnd):
(TextIterator):
(WebCore::SimplifiedBackwardsTextIterator::atEnd):
(SimplifiedBackwardsTextIterator):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::enclosingFormControlElement):
(WebCore):

  • html/HTMLFormControlElement.h:

(HTMLFormControlElement):

6:02 AM Changeset in webkit [112388] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[Qt] Unreviewed, fix API tests after adding full platforms. (r111658)

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

(BuildAndTestFactory.init):

5:42 AM SettingUpDevelopmentEnvironmentForN9 edited by zarvai@inf.u-szeged.hu
(diff)
5:40 AM Changeset in webkit [112387] by alexis.menard@openbossa.org
  • 10 edits in trunk

Speed up updates of existing CSS properties from JS.
https://bugs.webkit.org/show_bug.cgi?id=82235

Reviewed by Andreas Kling.

Source/WebCore:

Improve the way we handle updating an existing CSS property by replacing its value
by the new one rather than removing the old value and then adding the new one. This
speed up by 35% PerformanceTests/CSS/CSSPropertyUpdateValue.html.

No new tests : Updating existing tests that were relying on the order of the properties
after modification. Each updated property is not appended to the list of properties of the
style therefore the cssText value is slightly different. It matches Firefox behavior but not
Opera.

  • css/StylePropertySet.cpp:

(WebCore::StylePropertySet::addParsedProperty):

LayoutTests:

Updated expectations after behavior change on how we handle updates of
CSS properties from JS. We match now Firefox where the cssText keeps the
order of the properties (but modify its value) whereas before we were appending
the new value at the end of the list of properties.

  • editing/pasteboard/data-transfer-items-expected.txt:
  • editing/pasteboard/onpaste-text-html-expected.txt:
  • fast/dom/css-set-property-exception-expected.txt:
  • fast/events/ondrop-text-html-expected.txt:
  • fast/mutation/observe-attributes-expected.txt:
  • fast/mutation/observe-attributes.html:
  • inspector/styles/styles-new-API-expected.txt:
5:39 AM Changeset in webkit [112386] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[Qt] Unreviewed typo fix after r112383.

  • Scripts/run-qtwebkit-tests:

(Main.check_crash_occurences):

5:31 AM Changeset in webkit [112385] by leo.yang@torchmobile.com.cn
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Use WebCore::PlatformMouseEvent::globalPosition() instead of WebCore::PlatformMouseEvent::globalPos() in WebPage.cpp
https://bugs.webkit.org/show_bug.cgi?id=82420

Reviewed by Rob Buis.

In PlatformMouseEvent.h the blackberry porting added globalPos() (but not upstreamed yet)
for PlatformMouseEvent, but this method is same as globalPosition() that is available for
every porting. We should use globalPosition().

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::updateCursor):

5:26 AM Changeset in webkit [112384] by leo.yang@torchmobile.com.cn
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Remove PlatformMouseEvent::setClickCount for BlackBerry
https://bugs.webkit.org/show_bug.cgi?id=82422

Reviewed by Rob Buis.

PlatformMouseEvent::setClickCount() is never used by BlackBerry.
The declaration was added in PlatformMouseEvent.h internally for
BlackBerry porting, but it has not been upstreamed yet.

  • platform/blackberry/PlatformMouseEventBlackBerry.cpp:
5:11 AM Changeset in webkit [112383] by Csaba Osztrogonác
  • 4 edits in trunk/Tools

[Qt] run-qtwebkit-tests should report crashes
https://bugs.webkit.org/show_bug.cgi?id=76905

Added checking of crashing tests. Now final summary includes the total number of crashing tests too.
Made unit test for this modification by János Badics <János Badics>.

Patch by Ádám Kallai <kadam@inf.u-szeged.hu> on 2012-03-28
Reviewed by Csaba Osztrogonác.

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

(RunQtAPITests.commandComplete):
(RunQtAPITests.evaluateCommand):

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

(RunQtAPITestsTest):
(test_failure):
(test_crash):

  • Scripts/run-qtwebkit-tests:

(Main.announce_results_html):
(Main):
(Main.check_crash_occurences):
(Main.convert_to_stdout):
(Main.convert_to_html):

3:41 AM Changeset in webkit [112382] by Antti Koivisto
  • 4 edits in trunk/Source/WebCore

Separate @import rules from other rules in CSSStyleSheet
https://bugs.webkit.org/show_bug.cgi?id=82384

Reviewed by Andreas Kling.

Import rules always come before all other rules (except @charset). They currently live
in the generic child rule vector. They can be moved to a vector of their own for stronger
typing and more focused traversal. This will also make future refactoring easier.

  • @import rules go to m_importRules
  • the rest go to m_childRules


  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::collectMatchingRulesForList):

  • css/CSSStyleSheet.cpp:

(WebCore::CSSStyleSheet::parserAppendRule):
(WebCore::CSSStyleSheet::length):
(WebCore::CSSStyleSheet::item):
(WebCore::CSSStyleSheet::clearRules):
(WebCore::CSSStyleSheet::rules):
(WebCore::CSSStyleSheet::insertRule):
(WebCore::CSSStyleSheet::deleteRule):
(WebCore::CSSStyleSheet::isLoading):
(WebCore::CSSStyleSheet::addSubresourceStyleURLs):

  • css/CSSStyleSheet.h:

(WebCore):
(CSSStyleSheet):
(WebCore::CSSStyleSheet::childRules):
(WebCore::CSSStyleSheet::importRules):

3:10 AM Changeset in webkit [112381] by pfeldman@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: REGRESSION: Stack overflow on the page with > 100kloc
https://bugs.webkit.org/show_bug.cgi?id=82436

Reviewed by Yury Semikhatsky.

This change migrates to manual splice implementation that uses additional
information about the range being inserted to make it work faster / allocate
less memory.

  • inspector/front-end/TextEditorModel.js:

(WebInspector.TextEditorModel.endsWithBracketRegex.):

3:09 AM Changeset in webkit [112380] by commit-queue@webkit.org
  • 2 edits
    1 add in trunk/Tools

Add support for Intel compiler on Linux QT port.
https://bugs.webkit.org/show_bug.cgi?id=81077

Patch by Kwonjin Jeong <gram@company100.net> on 2012-03-28
Reviewed by Tor Arne Vestbø.

  • qmake/mkspecs/features/default_post.prf:

Don't hide symbols when building with Intel compiler.
The symbols are needed when building QtWebKit tests.

  • qmake/mkspecs/features/unix/icc.prf:

Added to ignore icc-specific warnings.
This feature is used with command-line arguments for build-webkit script.

2:58 AM Changeset in webkit [112379] by podivilov@chromium.org
  • 5 edits in trunk

Web Inspector: breakpoints are not shown in sidebar pane after reload.
https://bugs.webkit.org/show_bug.cgi?id=82351

Reviewed by Pavel Feldman.

Source/WebCore:

When UISourceCode is added to ScriptsPanel, it could already have breakpoints.
We should iterate over existing breakpoints and add them to sidebar pane.

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):

LayoutTests:

  • inspector/debugger/set-breakpoint-expected.txt:
  • inspector/debugger/set-breakpoint.html:
2:56 AM Changeset in webkit [112378] by kkristof@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] REGRESSION(r111480): It made svg/as-image tests assert
https://bugs.webkit.org/show_bug.cgi?id=82052

It also made svg/as-object tests assert

Reviewed by Csaba Osztrogonác.

  • platform/qt/Skipped: Skip failing tests.
2:12 AM Changeset in webkit [112377] by commit-queue@webkit.org
  • 3 edits
    3 adds in trunk

[WebSocket]The Sec-WebSocket-Protocol must not appear more than once in an HTTP response
https://bugs.webkit.org/show_bug.cgi?id=82432

Patch by Li Yin <li.yin@intel.com> on 2012-03-28
Reviewed by Kent Tamura.

Source/WebCore:

From RFC6455: http://tools.ietf.org/html/rfc6455#section-11.3.4
The |Sec-WebSocket-Protocol| header field must not appear
more than once in an HTTP response.

Test: http/tests/websocket/tests/hybi/handshake-fail-by-more-protocol-header.html

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::WebSocketHandshake::readHTTPHeaders):

LayoutTests:

From RFC6455: http://tools.ietf.org/html/rfc6455#section-11.3.4
The |Sec-WebSocket-Protocol| header field must not appear
more than once in an HTTP response.

  • http/tests/websocket/tests/hybi/handshake-fail-by-more-protocol-header-expected.txt: Added.
  • http/tests/websocket/tests/hybi/handshake-fail-by-more-protocol-header.html: Added.
  • http/tests/websocket/tests/hybi/handshake-fail-by-more-protocol-header_wsh.py: Added.

(web_socket_do_extra_handshake):
(web_socket_transfer_data):

1:59 AM Changeset in webkit [112376] by kbalazs@webkit.org
  • 2 edits in trunk/Source/WebKit2

Fix QWARN in test_loadIgnoreEmptyUrl API test.

Rubber-stamped by Csaba Osztrogonác.

  • UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:

There is no load() API of the view, we have to use the url property.

1:54 AM Changeset in webkit [112375] by Philippe Normand
  • 2 edits in trunk/Tools

Unreviewed, trivial update-webkit-libs-jhbuild system call fix.

  • Scripts/update-webkitgtk-libs: This script is written in

Perl. Not Python. So use perl vocabulary to refer to command line arguments.

1:40 AM Changeset in webkit [112374] by Philippe Normand
  • 3 edits in trunk/LayoutTests

Unreviewed, GTK rebaseline after r112254.

  • platform/gtk/editing/selection/select-across-readonly-input-5-expected.txt:
  • platform/gtk/fast/forms/input-readonly-autoscroll-expected.txt:
1:26 AM Changeset in webkit [112373] by rniwa@webkit.org
  • 2 edits in trunk/Tools

kill-old-processes doesn't do anything on linux
https://bugs.webkit.org/show_bug.cgi?id=82388

Reviewed by Tony Chang.

Kill cc1plus, ld, etc... on linux. Also ps aux + grep to kill old run-webkit-tests processes.
This should help stabilizing Chromium linux bots.

  • BuildSlaveSupport/kill-old-processes:
1:22 AM Changeset in webkit [112372] by Philippe Normand
  • 2 edits in trunk/Tools

[GTK] jhbuild wrongly tricked into clean-up
https://bugs.webkit.org/show_bug.cgi?id=82216

Reviewed by Gustavo Noronha Silva.

Save jhbuild{rc,.modules}.md5sum in Dependencies instead of the
build tree. Also when checking if the jhbuild configuration
changed use absolute md5sum paths.

  • Scripts/webkitdirs.pm:

(runAutogenForAutotoolsProjectIfNecessary):
(jhbuildConfigurationChanged):
(buildAutotoolsProject):

1:16 AM Changeset in webkit [112371] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

kill-old-processes doesn't do anything on linux
https://bugs.webkit.org/show_bug.cgi?id=82388

One more attempt to disable kill-old-processes on the Qt bots not to kill each others.

The platform in Factory comes from config.json, accordingly platform is fullplatform,
for example: qt-4.8, qt-5.0-wk2. We have to check only the prefix of platform.

Reviewed by Ryosuke Niwa.

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

(Factory.init):

12:36 AM Changeset in webkit [112370] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] REGRESSION(r111480): It made svg/as-image tests assert
https://bugs.webkit.org/show_bug.cgi?id=82052

  • platform/qt/Skipped: Skip failing tests.
12:25 AM Changeset in webkit [112369] by Csaba Osztrogonác
  • 1 edit
    2 moves
    1 add in trunk/LayoutTests

[Qt] One more unreviewed gardening after r112301.

  • platform/qt-5.0/fast/dom/Window/window-properties-expected.png: Renamed from LayoutTests/platform/qt-5.0-wk1/fast/dom/Window/window-properties-expected.png.
  • platform/qt-5.0/fast/dom/Window/window-properties-expected.txt: Renamed from LayoutTests/platform/qt-5.0-wk1/fast/dom/Window/window-properties-expected.txt.
12:05 AM Changeset in webkit [112368] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Make Chromium port for Android use hardware gpu path default.
https://bugs.webkit.org/show_bug.cgi?id=82033

Patch by Hao Zheng <zhenghao@chromium.org> on 2012-03-28
Reviewed by Dirk Pranke.

Skip canvas tests, which are run in virtual gpu test suites.

  • Scripts/webkitpy/layout_tests/port/chromium_android.py:

(ChromiumAndroidPort.init):
(ChromiumAndroidPort.skipped_tests):

Note: See TracTimeline for information about the timeline view.