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

Timeline



Oct 27, 2014:

10:46 PM Changeset in webkit [175243] by mark.lam@apple.com
  • 3 edits
    6 adds in trunk

Crash when attempting to perform array iteration on a non-array with numeric keys not initialized.
<https://webkit.org/b/137814>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

The arrayIteratorNextThunkGenerator() thunk was not checking for the case where
the butterfly may be NULL. This was the source of the crash, and is now fixed.

In addition, it is also not checking for the case where a property named "length"
may have been set on the iterated object. The thunk only checks the butterfly's
publicLength for its iteration operation. Array objects will work fine with this
because it always updates its butterfly's publicLength when its length changes.
In the case of iterable non-Array objects, the "length" property will require a
look up outside of the scope of this thunk. The fix is simply to limit the fast
case checks in this thunk to Array objects.

  • jit/ThunkGenerators.cpp:

(JSC::arrayIteratorNextThunkGenerator):

LayoutTests:

  • js/array-length-shortening-expected.txt: Added.
  • js/array-length-shortening.html: Added.
  • js/for-of-crash-expected.txt: Added.
  • js/for-of-crash.html: Added.
  • js/script-tests/array-length-shortening.js: Added.

(testLengthShortening):
(denseInt32Elements):
(denseDoubleElements):
(denseObjectElements):
(holeyInt32Elements):
(holeyDoubleElements):
(holeyObjectElements):
(arrayStorageInt32Elements):
(arrayStorageDoubleElements):
(arrayStorageObjectElements):
(sparseInt32Elements):
(sparseDoubleElements):
(sparseObjectElements):

  • js/script-tests/for-of-crash.js: Added.

(foo):

10:39 PM Changeset in webkit [175242] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

Move RenderBlock::beingDestroyed() to RenderObject.
<https://webkit.org/b/138116>

Reviewed by Antti Koivisto.

Make "is being destroyed" a RenderObject concept instead of restricting
it to RenderBlocks. I'm guessing that this was specific to blocks due to
lack of bitfield space in RenderObject, and that's no longer an issue.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::RenderBlock):
(WebCore::RenderBlock::willBeDestroyed):

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::beingDestroyed): Deleted.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::willBeDestroyed):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::destroy):

  • rendering/RenderObject.h:

(WebCore::RenderObject::beingDestroyed):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):

10:38 PM Changeset in webkit [175241] by Chris Fleizach
  • 3 edits
    2 adds in trunk

AX: input type=hidden is being exposed when aria-hidden=false
https://bugs.webkit.org/show_bug.cgi?id=138106

Reviewed by Benjamin Poulain.

Source/WebCore:

If an input type=hidden was inside an aria-hidden=false, it would appear because
the lack of a RenderObject behind that object was not blocking its adoption into the AX tree.
We should explicity check for whether the type is hidden and then return an appropriate role.

Test: accessibility/input-type-hidden-in-aria-hidden-false.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::determineAccessibilityRole):
(WebCore::AccessibilityNodeObject::computeAccessibilityIsIgnored):

LayoutTests:

  • accessibility/input-type-hidden-in-aria-hidden-false-expected.txt: Added.
  • accessibility/input-type-hidden-in-aria-hidden-false.html: Added.
10:05 PM Changeset in webkit [175240] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Simplified some JSObject methods for converting arrays to ArrayStorage shape.
<https://webkit.org/b/138119>

Reviewed by Filip Pizlo.

Currently, for each Undecided, Int32, Double, and Contiguous array shapes,
there are 3 JSObject methods to convert them to ArrayStorage shape:

ArrayStorage* convert<shape>ToArrayStorage(VM&, NonPropertyTransition, unsigned neededLength);
ArrayStorage* convert<shape>ToArrayStorage(VM&, NonPropertyTransition);
ArrayStorage* convert<shape>ToArrayStorage(VM&);

However, the neededLength that is passed is always m_butterfly->vectorLength().
Hence, the method that takes a neededLength is really not needed. This patch
removes this unneeded verbosity.

  • runtime/JSObject.cpp:

(JSC::JSObject::convertUndecidedToArrayStorage):
(JSC::JSObject::convertInt32ToArrayStorage):

  • Also reordered the placement of the DeferGC statement so this Int32 function will look more similar to the others.

(JSC::JSObject::convertDoubleToArrayStorage):
(JSC::JSObject::convertContiguousToArrayStorage):

  • runtime/JSObject.h:
8:46 PM Changeset in webkit [175239] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebKit2

Merged r175235. rdar://problem/18787412

8:05 PM Changeset in webkit [175238] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

NSSharingService protocol conformance should be internal to WKActionMenuController
https://bugs.webkit.org/show_bug.cgi?id=138112

Patch by Conrad Shultz <Conrad Shultz> on 2014-10-27
Reviewed by Tim Horton.

  • UIProcess/mac/WKActionMenuController.h:
  • UIProcess/mac/WKActionMenuController.mm:

Move protocol conformance from the interface to a class extension.

7:49 PM Changeset in webkit [175237] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

https://trac.webkit.org/changeset/175233 broke many tests, fixing an incorrect '!'.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineAccessibilityRole):

6:00 PM Changeset in webkit [175236] by hyatt@apple.com
  • 4 edits
    3 adds in trunk

text-combine needs to center text within the vertical space using glyph bounds
https://bugs.webkit.org/show_bug.cgi?id=138056
<rdar://problem/15403667>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/text/tatechuyoko.html

  • rendering/RenderCombineText.cpp:

(WebCore::RenderCombineText::RenderCombineText):
(WebCore::RenderCombineText::adjustTextOrigin):
(WebCore::RenderCombineText::combineText):

  • rendering/RenderCombineText.h:

LayoutTests:

  • fast/text/tatechuyoko.html: Added.
  • platform/mac/fast/text/tatechuyoko-expected.png: Added.
  • platform/mac/fast/text/tatechuyoko-expected.txt: Added.
5:36 PM Changeset in webkit [175235] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

WebContent crash in WebKit::WebPage::expandedRangeFromHandle.
https://bugs.webkit.org/show_bug.cgi?id=138023
rdar://problem/18787412

Reviewed by Ryosuke Niwa.

We must change that we have a valid currentRange before trying
to expand or contract.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::changeBlockSelection):

4:13 PM Changeset in webkit [175234] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

REGRESSION: commit logs are not shown sometimes on the new dashboard UI
https://bugs.webkit.org/show_bug.cgi?id=138099

Reviewed by Benjamin Poulain.

The bug was caused by _currentItemChanged not passing the previous point in the list of points and also
_showDetails inverting the order of the current and old measurements.

  • public/v2/app.js:

(App.PaneController._currentItemChanged): Pass in the previous point to _showDetails when there is one.
(App.PaneController._showDetails): Since points are ordered chronologically, the last point is the
current (latest) measurement and the first point is the oldest measurement.
(App.CommitsViewerComponent.commitsChanged): Don't show a single measurement as a range for clarity.

3:55 PM Changeset in webkit [175233] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Cleanup after r175213: fastGetAttribute().isNull() should be fastHasAttribute()

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
Darin spotted this mistake.

2:59 PM Changeset in webkit [175232] by ap@apple.com
  • 7 edits in trunk

http/tests/cookies/third-party-cookie-relaxing.html is flaky on bots
https://bugs.webkit.org/show_bug.cgi?id=138098

Reviewed by Anders Carlsson.

Source/WebCore:

  • platform/network/cf/NetworkStorageSessionCFNet.cpp:

(WebCore::NetworkStorageSession::switchToNewTestingSession):
Create a separate session for each WKTR/DRT process when testing.

Source/WebKit2:

  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:

Update for the new name of testing session. Memory regions are now of the form
"WebKit Test-<pid>-0".

LayoutTests:

  • platform/mac-wk1/TestExpectations: Removed the test from expectations. It's still

skipped on WK2, because we don't yet implement the necessary WKTR functionality.

2:08 PM Changeset in webkit [175231] by Chris Dumez
  • 13 edits in trunk/Source

Use separate HashMaps for common and uncommon headers in HTTPHeaderMap
https://bugs.webkit.org/show_bug.cgi?id=138079

Reviewed by Anders Carlsson.

Source/WebCore:

Use separate HashMaps for common and uncommon headers in HTTPHeaderMap:

  • a (faster) HashMap<HTTPHeaderMap, String> for common HTTP headers
  • a HashMap<String, String, CaseFoldingHash> for uncommon ones

This avoids having to construct Strings from HTTPHeaderMap values for
storing. This also means we have less isolated String copies to do when
creating cross-thread data. The common headers HashMap should also be
a bit more efficient due to faster hashing and faster key comparison in
case of collision.

Some calls sites can also benefit from having direct access to common
headers of the request in HTTPHeaderName type.

This patch adds a new HTTPHeaderMapConstIterator iterator type for
HTTPHeaderMap so that call sites that do not need / want to distinguish
common / uncommon headers still do not need to. They can keep using
modern C++ loops over HTTPHeaderMap objects and get <String, String>
key/value pairs.

No new tests, no behavior change.

  • loader/CrossOriginAccessControl.cpp:

(WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
Have isOnAccessControlSimpleRequestHeaderWhitelist() take a
HTTPHeaderName in argument instead of a String as only common headers
are in the whitelist.

(WebCore::isSimpleCrossOriginAccessRequest):
Call isOnAccessControlSimpleRequestHeaderWhitelist() only for common
HTTP headers.

  • loader/CrossOriginAccessControl.h:

Have isOnAccessControlSimpleRequestHeaderWhitelist() take a
HTTPHeaderName in argument instead of a String as only common headers
are in the whitelist.

  • loader/CrossOriginPreflightResultCache.cpp:

(WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
Call isOnAccessControlSimpleRequestHeaderWhitelist() only for common
HTTP headers.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::responseReceived):
Call httpHeaderFields().commonHeaders().find() instead of
httpHeaderFields().find() as we are looking for a common header.
HTTPHeaderMap::find(HTTPHeaderName) was removed now that we have a
HashMap dedicated to common headers.

  • loader/cache/CachedRawResource.cpp:

(WebCore::shouldIgnoreHeaderForCacheReuse):
Update argument type to be a HTTPHeaderName instead of a String as
only common HTTP headers can be ignored for cache reuse. The
implementation already dealt with HTTPHeaderName type and had to
call findHTTPHeaderName(). This is no longer needed now that the
call site now has direct access to common headers in HTTPHeaderName
type.

(WebCore::CachedRawResource::canReuse):

  • Only call shouldIgnoreHeaderForCacheReuse() for common HTTP headers.
  • Slightly optimize the second loop (the one over oldHeaderMap) to only check that the key is present in newHeaderMap, without actually comparing the String values. If the String values were different, the first loop would have seen it already and we would have returned early.

Source/WebKit2:

Update the WK2 IPC HTTPHeaderMap serialization / deserialization code
to leverage the fact that HTTPHeaderMap now stores common HTTP headers
and uncommon one in separate HashMaps. This speeds up deserialization
as we no longer need to call findHTTPHeaderName() for every decoded
header. We already know if the header is a common one or not, and if
it is then we already have a HTTPHeaderName type instead of a String.

I see that we spend ~40% less time in HTTPHeaderMap decoding when
loading http://flickr.com/explore, while the encoding takes about
the same amount of time as before.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<HTTPHeaderMap>::encode):
(IPC::ArgumentCoder<HTTPHeaderMap>::decode):

Source/WTF:

Add HashTraits for C++11 strong enum types. Using integer HashTraits for
strong enums would be inconvenient as it would require casting between
integer and strong enum types.

  • wtf/HashTraits.h:

(WTF::StrongEnumHashTraits::emptyValue):
(WTF::StrongEnumHashTraits::constructDeletedValue):
(WTF::StrongEnumHashTraits::isDeletedValue):

1:42 PM Changeset in webkit [175230] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Devirtualize RenderDeprecatedFlexibleBox::isStretchingChildren().
<https://webkit.org/b/138096>

Reviewed by Chris Dumez.

This function is only ever called on a renderer after we've checked
that it's a RenderDeprecatedFlexibleBox, so make it non-virtual.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeLogicalHeight):

  • rendering/RenderDeprecatedFlexibleBox.h:
  • rendering/RenderObject.h:
1:08 PM Changeset in webkit [175229] by Beth Dakin
  • 4 edits in trunk/Source/WebKit/mac

Provide a way for WebKit1 clients to override default action menu items
https://bugs.webkit.org/show_bug.cgi?id=138066
-and corresponding-
rdar://problem/18451638

Reviewed by Anders Carlsson.

WebActionMenuController now has an ivar for the WebActionMenuType so that it can
send that along to clients customizing the menu.

  • WebView/WebActionMenuController.h:
  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController prepareForMenu:withEvent:]):
(-[WebActionMenuController _defaultMenuItemsForHitTestResult:]):

New enum and new SPI to customize menus.

  • WebView/WebUIDelegatePrivate.h:
1:06 PM Changeset in webkit [175228] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Reintroduce null check removed in r175222
https://bugs.webkit.org/show_bug.cgi?id=138087

Reviewed by Andreas Kling.

Reintroduce null check removed in r175222 as several layout tests are
crashing on the bots without them. At least the Pair pointer can be
null according to the assertion hits on the bots.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertRadius):

12:43 PM Changeset in webkit [175227] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Add [ Yosemite ] modifier to a couple of tests in section 7.

These two tests fail with PPT, so they are expected to pass on 10.8. Our current
approach is a have separate sections for Mavericks and Yosemite, even for PPT
specific failures that affect both.

  • platform/mac-wk2/TestExpectations:
12:31 PM Changeset in webkit [175226] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebCore

Merged r175158. rdar://problem/18571212

12:03 PM Changeset in webkit [175225] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebKit2

Merged r175157. rdar://problem/18739335

12:01 PM Changeset in webkit [175224] by bshafiei@apple.com
  • 4 edits in branches/safari-600.1.4.12-branch/Source/WebKit2

Merged r175153. rdar://problem/18739335

11:31 AM Changeset in webkit [175223] by Stephanie Lewis
  • 2 edits in trunk/LayoutTests

http/tests/cookies/third-party-cookie-relaxing.html is flaky on bots.
https://bugs.webkit.org/show_bug.cgi?id=138098.

Updated Expectations.

  • platform/mac-wk1/TestExpectations:
11:26 AM Changeset in webkit [175222] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move radius CSS properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138087

Reviewed by Andreas Kling.

Move radius CSS properties from DeprecatedStyleBuilder to the new
StyleBuilder so that they are now generated from CSSPropertyNames.in.

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyBorderRadius::setValue): Deleted.
(WebCore::ApplyPropertyBorderRadius::applyValue): Deleted.
(WebCore::ApplyPropertyBorderRadius::createHandler): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertRadius):

11:06 AM Changeset in webkit [175221] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

Shrink MathMLOperatorDictionary::dictionary table
https://bugs.webkit.org/show_bug.cgi?id=137914

Reviewed by Darin Adler.

Improve packing of the Entry structure that's used for elements
of the MathMLOperatorDictionary::dictionary table. This drops the
size of the struct from 16 bytes to just 4 bytes, and shrinks the
size of the dictionary table from rougly 16 kB down to 4 kB.

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::MathMLOperatorDictionary::ExtractKey):
(WebCore::RenderMathMLOperator::setOperatorProperties):

  • rendering/mathml/RenderMathMLOperator.h:
10:33 AM Changeset in webkit [175220] by commit-queue@webkit.org
  • 1 edit
    54 deletes in trunk/LayoutTests

Some test for multicol were redundant.
https://bugs.webkit.org/show_bug.cgi?id=133084

Patch by Piotr Grad <p.grad@samsung.com> on 2014-10-27
Reviewed by Andreas Kling.

  • fast/multicol/newmulticol/compare-with-old-impl/anonymous-block-split-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/anonymous-block-split-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/clone-before-after-content-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/clone-before-after-content-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/clone-block-children-inline-mismatch-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/clone-block-children-inline-mismatch-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/clone-flexbox-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/clone-flexbox.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/continuation-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/continuation-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/double-merge-anonymous-block-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/double-merge-anonymous-block-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/empty-anonymous-block-split-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/empty-anonymous-block-split-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/float-not-removed-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/float-not-removed-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-above-or-below-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-above-or-below.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-block-axis-flipped-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-block-axis-flipped.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-float-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-float.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-flipped-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-flipped.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-block-axis-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-block-axis.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/list-multi-column-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/list-multi-column-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/multicol-with-child-renderLayer-for-input-expected.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/multicol-with-child-renderLayer-for-input.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/positioned-child-not-removed-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/positioned-child-not-removed-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/positioned-objects-not-removed-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/positioned-objects-not-removed-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/recursive-split-flow-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/recursive-split-flow-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/removal-of-multicol-span-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/removal-of-multicol-span-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/remove-child-split-flow-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/remove-child-split-flow-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/split-flow-anonymous-wrapper-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/split-flow-anonymous-wrapper-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/split-inline-wrong-post-block-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/split-inline-wrong-post-block-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/table-multi-column-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/table-multi-column-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/textbox-not-removed-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/textbox-not-removed-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/update-after-content-before-child-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/update-after-content-before-child-crash.html: Removed.
10:20 AM Changeset in webkit [175219] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Move canContainFixedPositionObjects() to RenderElement.
<https://webkit.org/b/138088>

Reviewed by Mihnea Ovidenie.

Only RenderElement can contain other renderers, so it's not really
natural to answer this question on RenderObject anyway.

Moving it to RenderElement lets it access more efficient getters
that don't have to handle the RenderText case.

  • rendering/RenderElement.h:

(WebCore::RenderElement::canContainFixedPositionObjects):

  • rendering/RenderObject.h:

(WebCore::RenderObject::canContainFixedPositionObjects): Deleted.

10:08 AM Changeset in webkit [175218] by ap@apple.com
  • 2 edits in trunk/LayoutTests

media/track/audio-track.html is flaky on Yosemite
https://bugs.webkit.org/show_bug.cgi?id=137882

  • platform/mac/TestExpectations: Marking it as such.
9:31 AM Changeset in webkit [175217] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebKit2

Merged r175145. rdar://problem/18376333

1:09 AM Changeset in webkit [175216] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebKit2

Merged r175143. rdar://problem/18692335

Oct 26, 2014:

11:51 PM Changeset in webkit [175215] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6

Merge r173999 - [GTK] Enable CSS_IMAGE_SET in production builds
https://bugs.webkit.org/show_bug.cgi?id=137142

Reviewed by Alejandro G. Castro.

This is required by the inspector to show some of the icons that
has a HiDPI variant.

  • Source/cmake/OptionsGTK.cmake:
11:29 PM Changeset in webkit [175214] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.12-branch/Source

Versioning.

9:28 PM Changeset in webkit [175213] by benjamin@webkit.org
  • 9 edits
    2 adds in trunk

Images with usemap should not have a link state
https://bugs.webkit.org/show_bug.cgi?id=138071

Reviewed by Andreas Kling.

Source/WebCore:

Image tags were incorrectly getting a link state if a usemap is defined.
The <area> of the usemap is supposed to get the link state, but never the image.

Unfortunately, the Accessibility code was relying on the wrong behavior
to set the ImageMapRole, most of the patch is updating that code to get
the correct role without the link state.

Test: fast/selectors/images-with-usemap-should-not-match-link.html

The accessibility code is covered by a few tests in accessibility/.
The test accessibility/aria-used-on-image-maps.html ensure the <area>
elements also get the correct role.

  • dom/Node.h:

(WebCore::Node::setIsLink):
(WebCore::Node::clearIsLink): Deleted.
Unused code.

(WebCore::Node::isLink):
Move with its setter for clarity.

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::parseAttribute):
This is the bug.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
Here the branches for the role ImageMap where behind isLink() which would
never be valid after the fix.

My fix here was to use the same definition previously set by HTMLImageElement::parseAttribute(),
any usemap attribute qualifies the node for ImageMapRole.

(WebCore::AccessibilityRenderObject::anchorElement):
(WebCore::AccessibilityRenderObject::linkedUIElements):
(WebCore::AccessibilityRenderObject::url):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::isAnchor): Deleted.
Something funny I discovered is the Accessibility code worked around the bug
by defining isAnchor() that exclude images from isLink().

Since isLink() will no longer be true for images, the hack can be removed.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::anchorElement):
(WebCore::AccessibilityNodeObject::isAnchor): Deleted.

  • accessibility/AccessibilityNodeObject.h:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):

LayoutTests:

  • fast/selectors/images-with-usemap-should-not-match-link-expected.txt: Added.
  • fast/selectors/images-with-usemap-should-not-match-link.html: Added.
9:20 PM Changeset in webkit [175212] by benjamin@webkit.org
  • 11 edits in trunk/Source/WebCore

Replace Element::didAffectSelector() by setNeedsStyleRecalc()
https://bugs.webkit.org/show_bug.cgi?id=138080

Reviewed by Andreas Kling.

Element::didAffectSelector() was probably an optimization at some point,
with the current code is does nothing more than setNeedsStyleRecalc().

  • dom/Document.cpp:

(WebCore::Document::setCSSTarget):

  • dom/Element.cpp:

(WebCore::Element::didAffectSelector): Deleted.

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

(WebCore::HTMLAnchorElement::parseAttribute):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::disabledStateChanged):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setChecked):
(WebCore::HTMLInputElement::setIndeterminate):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::parseAttribute):

  • html/HTMLOptGroupElement.cpp:

(WebCore::HTMLOptGroupElement::parseAttribute):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::parseAttribute):
(WebCore::HTMLOptionElement::setSelectedState):

  • html/HTMLProgressElement.cpp:

(WebCore::HTMLProgressElement::didElementStateChange):

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

Move some RenderObject member functions to RenderElement.
<https://webkit.org/b/138085>

Reviewed by Chris Dumez.

Move these two functions to RenderElement:

  • handleDynamicFloatPositionChange()
  • removeAnonymousWrappersForInlinesIfNecessary()

Also make childBecameNonInline() take a RenderElement& since
that's all we ever pass to it.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::childBecameNonInline):

  • rendering/RenderBlock.h:
  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::childBecameNonInline):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::handleDynamicFloatPositionChange):
(WebCore::RenderElement::removeAnonymousWrappersForInlinesIfNecessary):

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

(WebCore::RenderInline::childBecameNonInline):

  • rendering/RenderInline.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::handleDynamicFloatPositionChange): Deleted.
(WebCore::RenderObject::removeAnonymousWrappersForInlinesIfNecessary): Deleted.

  • rendering/RenderObject.h:
1:20 PM Changeset in webkit [175210] by akling@apple.com
  • 7 edits in trunk/Source/WebCore

Move continuation teardown from subclasses to RenderBoxModelObject.
<https://webkit.org/b/138081>

Reviewed by Antti Koivisto.

Let RenderBoxModelObject::willBeDestroyed() tear down any continuation
instead of having every subclass do this themselves.

Also added a RenderElement bit tracking whether the renderer has a
continuation. This avoids a hash lookup every time we destroy a
RenderBoxModelObject that didn't have a continuation.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::willBeDestroyed):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::willBeDestroyed):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::continuationMap):
(WebCore::RenderBoxModelObject::willBeDestroyed):
(WebCore::RenderBoxModelObject::continuation):
(WebCore::RenderBoxModelObject::setContinuation):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):

  • rendering/RenderElement.h:

(WebCore::RenderElement::setHasContinuation):
(WebCore::RenderElement::hasContinuation):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::willBeDestroyed):

Note: See TracTimeline for information about the timeline view.