Setting muted attribute on <video> element is not reflected in controls
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-01-28  Jer Noble  <jer.noble@apple.com>
2
3         Setting muted attribute on <video> element is not reflected in controls
4         https://bugs.webkit.org/show_bug.cgi?id=127726
5
6         Reviewed by Eric Carlson.
7
8         If the 'muted' IDL attribute is queried after the 'muted' and 'src' content attributes are
9         set but before loading begins, it will return 'false' until loading begins, but with no
10         way to query whether that value is valid, nor firing a volumechange event when its value
11         changes.
12
13         The HTML spec says that the 'muted' content attribute controls whether audio output is
14         muted "when the media element is created", not when loading begins, but we don't
15         necessarily have a signal that the element is fully parsed.  Additionally, this means its
16         impossible to make an element via script and get this behavior.
17
18         So the new behavior is that the 'muted' IDL attribute will always reflect the 'muted'
19         content attribute up until one of the following three conditions:
20
21         - The 'muted' IDL attribute is set via script.
22         - The element is inserted in the document.
23         - The element begins loading.
24
25         After the first one of the above conditions, the 'muted' IDL attribute will no longer
26         change when the 'muted' content attribute changes.
27
28         * html/HTMLMediaElement.cpp:
29         (WebCore::HTMLMediaElement::HTMLMediaElement):
30         (WebCore::HTMLMediaElement::parseAttribute):
31         * html/HTMLMediaElement.h:
32
33 2014-01-28  Anders Carlsson  <andersca@apple.com>
34
35         Add stubbed out VisitedLinkProvider class
36         https://bugs.webkit.org/show_bug.cgi?id=127744
37
38         Reviewed by Andreas Kling.
39
40         This is a first step towards moving responsibility of visited links from 
41         the page group to a separate object.
42
43         * CMakeLists.txt:
44         * GNUmakefile.list.am:
45         * WebCore.vcxproj/WebCore.vcxproj:
46         * WebCore.vcxproj/WebCore.vcxproj.filters:
47         * WebCore.xcodeproj/project.pbxproj:
48         * page/PageGroup.cpp:
49         (WebCore::PageGroup::PageGroup):
50         * page/PageGroup.h:
51         (WebCore::PageGroup::visitedLinkProvider):
52         * page/VisitedLinkProvider.cpp: Added.
53         (WebCore::VisitedLinkProvider::VisitedLinkProvider):
54         (WebCore::VisitedLinkProvider::~VisitedLinkProvider):
55         * page/VisitedLinkProvider.h: Added.
56         (WebCore::VisitedLinkProvider::create):
57
58 2014-01-28  Gurpreet Kaur  <k.gurpreet@samsung.com>
59
60         Add support for menclose element
61         https://bugs.webkit.org/show_bug.cgi?id=85729
62
63         Reviewed by Chris Fleizach.
64
65         Added support for menclose element. MathML <menclose> element renders
66         its content inside an enclosing notation specified by the notation
67         attribute. The notation attribute can have values longdiv, box, left,
68         right, top, bottom , radical, madruwb, actuarial, roundedbox, circle,
69         updiagonalstrike, downdiagonalstrike, verticalstrike and
70         horizontalstrike.
71
72         Tests: mathml/presentation/menclose-add-children.html
73                mathml/presentation/menclose-notation-attribute-add.html
74                mathml/presentation/menclose-notation-attribute-change-value.html
75                mathml/presentation/menclose-notation-attribute-remove.html
76                mathml/presentation/menclose-notation-attribute-set1.html
77                mathml/presentation/menclose-notation-attribute-set2.html
78                mathml/presentation/menclose-notation-no-overlap.html
79                mathml/presentation/menclose-notation-radical.html
80                mathml/presentation/menclose-remove-children.html
81
82         * CMakeLists.txt:
83         * GNUmakefile.list.am:
84         * WebCore.vcxproj/WebCore.vcxproj:
85         * WebCore.vcxproj/WebCore.vcxproj.filters:
86         * WebCore.xcodeproj/project.pbxproj:
87         * css/mathml.css:
88         (mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose):
89         (math, mrow, mfenced, msqrt, mroot, merror, mphantom, mstyle, menclose):
90         * mathml/MathMLAllInOne.cpp:
91         * mathml/MathMLElement.h:
92         * mathml/MathMLInlineContainerElement.cpp:
93         * mathml/MathMLMencloseElement.cpp: Added.
94         (WebCore::MathMLMencloseElement::MathMLMencloseElement):
95         (WebCore::MathMLMencloseElement::create):
96         (WebCore::MathMLMencloseElement::createElementRenderer):
97         (WebCore::MathMLMencloseElement::isPresentationAttribute):
98         (WebCore::MathMLMencloseElement::finishParsingChildren):
99         (WebCore::MathMLMencloseElement::collectStyleForPresentationAttribute):
100         (WebCore::MathMLMencloseElement::longDivLeftPadding):
101         * mathml/MathMLMencloseElement.h: Added.
102         (WebCore::toMathMLMencloseElement):
103         * mathml/mathattrs.in:
104         * mathml/mathtags.in:
105         * rendering/mathml/RenderMathMLMenclose.cpp: Added.
106         (WebCore::RenderMathMLMenclose::RenderMathMLMenclose):
107         (WebCore::RenderMathMLMenclose::addChild):
108         (WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
109         (WebCore::RenderMathMLMenclose::updateLogicalHeight):
110         (WebCore::RenderMathMLMenclose::paint):
111         (WebCore::RenderMathMLMenclose::checkNotationalValuesValidity):
112         * rendering/mathml/RenderMathMLMenclose.h: Added.
113         * rendering/mathml/RenderMathMLRoot.cpp:
114         (WebCore::RenderMathMLRoot::RenderMathMLRoot):
115         * rendering/mathml/RenderMathMLRoot.h:
116         * rendering/mathml/RenderMathMLSquareRoot.cpp:
117         (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
118         (WebCore::RenderMathMLSquareRoot::createAnonymousWithParentRenderer):
119         * rendering/mathml/RenderMathMLSquareRoot.h:
120         Added new file related to menclose element implementation. Menclose
121         element is created and while parsing its notation attribute based on
122         its values like top, left CSSBorder properties are applied and for
123         values like circle, verticalstrike, longidv its taken care in paint.
124         For radical value an anonymous RenderMathMLSquareRoot is created as
125         a child of menclose.
126
127 2014-01-28  Krzysztof Czech  <k.czech@samsung.com>
128
129         [ATK] accessibility/range-alter-by-percent.html is failing after r162587.
130         https://bugs.webkit.org/show_bug.cgi?id=127774
131
132         Reviewed by Mario Sanchez Prada.
133
134         Implicit value of step in range type elements should be one or larger.
135
136         No new tests. Covered by exiting one.
137
138         * accessibility/atk/WebKitAccessibleInterfaceValue.cpp:
139         (webkitAccessibleValueGetMinimumIncrement):
140
141 2014-01-28  Mark Rowe  <mrowe@apple.com>
142
143         <https://webkit.org/b/127767> Disable some deprecation warnings to fix the build.
144
145         Reviewed by Ryosuke Niwa.
146
147         * accessibility/mac/AXObjectCacheMac.mm:
148         (WebCore::AXObjectCache::postPlatformNotification):
149         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
150         (-[WebAccessibilityObjectWrapper renderWidgetChildren]):
151         * platform/audio/mac/AudioDestinationMac.cpp:
152         (WebCore::AudioDestinationMac::configure):
153         * platform/audio/mac/AudioFileReaderMac.cpp:
154         (WebCore::AudioFileReader::createBus):
155
156 2014-01-28  Carlos Garcia Campos  <cgarcia@igalia.com>
157
158         [SOUP] Remove soupURIToKURL
159         https://bugs.webkit.org/show_bug.cgi?id=127104
160
161         Reviewed by Martin Robinson.
162
163         In favor of a URL constructor receiving a SoupURI. Also add a
164         method to URL to create a soupURI.
165
166         * GNUmakefile.list.am: Remove SoupURIUtils and add URLSoup.
167         * PlatformEfl.cmake: Ditto.
168         * PlatformGTK.cmake: Ditto.
169         * platform/URL.h: Add URL constructor receiving a SoupURI and
170         createSoupURI() to create a new soupURI for the URL.
171         * platform/network/soup/CookieJarSoup.cpp:
172         (WebCore::setCookiesFromDOM): Use URL::createSoupURI().
173         (WebCore::cookiesForSession): Ditto.
174         (WebCore::getRawCookies): Ditto.
175         (WebCore::deleteCookie): Ditto.
176         * platform/network/soup/ResourceHandleSoup.cpp:
177         (WebCore::doRedirect): Use the new URL constructor instead of
178         soupURIToKURL.
179         (WebCore::createSoupRequestAndMessageForHandle): Use URL::createSoupURI().
180         * platform/network/soup/ResourceRequest.h: Rename soupURI as
181         createSoupURI to make it clear that the method returns a newly
182         created SoupURI.
183         * platform/network/soup/ResourceRequestSoup.cpp:
184         (WebCore::ResourceRequest::updateSoupMessageMembers): Use URL::createSoupURI().
185         (WebCore::ResourceRequest::updateSoupMessage): Ditto.
186         (WebCore::ResourceRequest::updateFromSoupMessage): Use the new URL
187         constructor instead of soupURIToKURL.
188         (WebCore::ResourceRequest::createSoupURI): Use URL::createSoupURI().
189         * platform/network/soup/ResourceResponseSoup.cpp:
190         (WebCore::ResourceResponse::updateFromSoupMessage): Use the new
191         URL constructor instead of soupURIToKURL.
192         * platform/network/soup/SoupURIUtils.cpp: Removed.
193         * platform/network/soup/SoupURIUtils.h: Removed.
194         * platform/soup/URLSoup.cpp: Added.
195         (WebCore::URL::URL):
196         (WebCore::URL::createSoupURI):
197
198 2014-01-27  Carlos Garcia Campos  <cgarcia@igalia.com>
199
200         [GTK] Avoid unnecessary string duplications in FileSystemGtk
201         https://bugs.webkit.org/show_bug.cgi?id=127469
202
203         Reviewed by Martin Robinson.
204
205         We are using fileSystemRepresentation() everywhere internally
206         which returns a CString that always duplicates the string.
207         Add unescapedFilename() internal helper function that returns a
208         GUniquePtr and used it everywhere instead of fileSystemRepresentation().
209
210         * platform/gtk/FileSystemGtk.cpp:
211         (WebCore::unescapedFilename):
212         (WebCore::fileSystemRepresentation):
213         (WebCore::filenameForDisplay):
214         (WebCore::fileExists):
215         (WebCore::deleteFile):
216         (WebCore::deleteEmptyDirectory):
217         (WebCore::getFileStat):
218         (WebCore::getFileSize):
219         (WebCore::getFileModificationTime):
220         (WebCore::getFileMetadata):
221         (WebCore::pathByAppendingComponent):
222         (WebCore::makeAllDirectories):
223         (WebCore::pathGetFileName):
224         (WebCore::directoryName):
225         (WebCore::listDirectory):
226         (WebCore::openFile):
227
228 2014-01-27  Carlos Garcia Campos  <cgarcia@igalia.com>
229
230         [GTK] Make webkit_uri_scheme_request_get_web_view() work with CustomProtocols
231         https://bugs.webkit.org/show_bug.cgi?id=127614
232
233         Reviewed by Gustavo Noronha Silva.
234
235         Add API to set the page identifier that initiated the request to
236         ResourceRequest, and remove the initiatingPageID() method from the
237         NetworkingContext class.
238
239         * platform/network/NetworkingContext.h:
240         * platform/network/ResourceHandle.h:
241         * platform/network/soup/ResourceHandleSoup.cpp:
242         (WebCore::createSoupRequestAndMessageForHandle):
243         * platform/network/soup/ResourceRequest.h:
244         (WebCore::ResourceRequest::ResourceRequest):
245         (WebCore::ResourceRequest::initiatingPageID):
246         (WebCore::ResourceRequest::setInitiatingPageID):
247         * platform/network/soup/ResourceRequestSoup.cpp:
248         (WebCore::ResourceRequest::updateSoupRequest):
249         (WebCore::ResourceRequest::updateFromSoupRequest):
250
251 2014-01-27  Tim Horton  <timothy_horton@apple.com>
252
253         Lots of varied and random crashes on the scrolling thread (ScrollbarPainters are going away)
254         https://bugs.webkit.org/show_bug.cgi?id=127734
255         <rdar://problem/15906263>
256
257         Reviewed by Simon Fraser.
258
259         * page/scrolling/ScrollingStateScrollingNode.h:
260         Retain the ScrollbarPainters in the scrolling state tree.
261
262 2014-01-27  Joseph Pecoraro  <pecoraro@apple.com>
263
264         Unreviewed iOS build fix. FALLTHROUGHs for iOS.
265
266         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
267         (-[WebAccessibilityObjectWrapper accessibilityTraits]):
268         (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
269
270 2014-01-27  Roger Fong  <roger_fong@apple.com>
271
272         WebGLLoadPolicy::WebGLAsk is an unnecessary value.
273         https://bugs.webkit.org/show_bug.cgi?id=127755
274
275         Reviewed by Anders Carlsson.
276
277         * html/HTMLCanvasElement.cpp:
278         (WebCore::HTMLCanvasElement::getContext):
279         * loader/FrameLoaderTypes.h:
280
281 2014-01-27  Brady Eidson  <beidson@apple.com>
282
283         IDB: Cursor support - Messaging, IPC, Threading plumbing
284         https://bugs.webkit.org/show_bug.cgi?id=127736
285
286         Reviewed by Sam Weinig.
287
288         * Modules/indexeddb/IDBCursorBackendOperations.h:
289         (WebCore::CursorIterationOperation::cursorID):
290         (WebCore::CursorAdvanceOperation::cursorID):
291
292         * Modules/indexeddb/IDBTransactionBackendOperations.h:
293         (WebCore::OpenCursorOperation::transactionID):
294
295         * WebCore.exp.in:
296
297 2014-01-27  Joseph Pecoraro  <pecoraro@apple.com>
298
299         WebCore: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
300         https://bugs.webkit.org/show_bug.cgi?id=127671
301
302         Reviewed by Ryosuke Niwa.
303
304         * Configurations/Base.xcconfig:
305         Enable the warning.
306
307         * css/StyleResolver.cpp:
308         (WebCore::StyleResolver::applyProperty):
309         Caught a bug. CSSPropertyWebkitAlt could fall through to CSSPropertyQuotes.
310
311         * css/SVGCSSParser.cpp:
312         (WebCore::CSSParser::parseSVGValue):
313         Caught a bug. CSSPropertyWebkitSvgShadow could fall through to CSSPropertyMaskType.
314
315         * platform/Decimal.cpp:
316         (WebCore::Decimal::fromString):
317         Possible bug. Implementation doesn't seem to match its documentation.
318         Filed an issue to follow-up on this unclear function.
319
320         * css/makeprop.pl:
321         * css/makevalues.pl:
322         * platform/ColorData.gperf:
323         Ignore implicit fallthrough warnings in generated code. gperf outputs
324         a "/*FALLTHROUGH*/" comment, but is not easily customizable to change
325         this output. Easiest to just ignore the warning for now.
326
327         * rendering/AutoTableLayout.cpp:
328         (WebCore::AutoTableLayout::recalcColumn):
329         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
330         (WebCore::AutoTableLayout::layout):
331         There has been a "fall through" comment immediately followed by a break
332         since its introduction in 2003. Removing the inaccurate comment.
333
334         * accessibility/AccessibilityNodeObject.cpp:
335         (WebCore::AccessibilityNodeObject::canHaveChildren):
336         (WebCore::AccessibilityNodeObject::visibleText):
337         (WebCore::AccessibilityNodeObject::title):
338         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
339         (-[WebAccessibilityObjectWrapperBase accessibilityDescription]):
340         (-[WebAccessibilityObjectWrapperBase accessibilityHelpText]):
341         * bindings/js/SerializedScriptValue.cpp:
342         (WebCore::CloneSerializer::serialize):
343         (WebCore::CloneDeserializer::deserialize):
344         * css/CSSComputedStyleDeclaration.cpp:
345         (WebCore::ComputedStyleExtractor::propertyValue):
346         * css/CSSParser.cpp:
347         (WebCore::CSSParser::parseValue):
348         (WebCore::CSSParser::parseContent):
349         (WebCore::CSSParser::realLex):
350         * css/CSSSelector.cpp:
351         (WebCore::CSSSelector::extractPseudoType):
352         (WebCore::CSSSelector::selectorText):
353         * css/StyleProperties.cpp:
354         (WebCore::StyleProperties::asText):
355         * css/StyleSheetContents.cpp:
356         (WebCore::childRulesHaveFailedOrCanceledSubresources):
357         * dom/Node.cpp:
358         (WebCore::appendTextContent):
359         * html/parser/HTMLTreeBuilder.cpp:
360         (WebCore::HTMLTreeBuilder::processStartTag):
361         (WebCore::HTMLTreeBuilder::processEndTag):
362         (WebCore::HTMLTreeBuilder::processCharacterBuffer):
363         (WebCore::HTMLTreeBuilder::processEndOfFile):
364         * loader/cache/CachedResourceLoader.cpp:
365         (WebCore::CachedResourceLoader::requestResource):
366         * page/EventSource.cpp:
367         (WebCore::EventSource::parseEventStream):
368         * platform/DateComponents.cpp:
369         (WebCore::DateComponents::toStringForTime):
370         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
371         (WebCore::MediaPlayerPrivateAVFoundation::updateStates):
372         * platform/graphics/cg/GraphicsContextCG.cpp:
373         (WebCore::GraphicsContext::platformInit):
374         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
375         (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
376         * platform/graphics/win/FullScreenController.cpp:
377         (FullScreenController::Private::fullscreenClientWndProc):
378         * platform/text/BidiResolver.h:
379         (WebCore::Run>::updateStatusLastFromCurrentDirection):
380         (WebCore::Run>::createBidiRunsForLine):
381         * platform/text/win/LocaleWin.cpp:
382         (WebCore::LocaleWin::initializeLocaleData):
383         * rendering/PointerEventsHitRules.cpp:
384         (WebCore::PointerEventsHitRules::PointerEventsHitRules):
385         * rendering/RenderBlockFlow.cpp:
386         (WebCore::RenderBlockFlow::newLine):
387         * rendering/RenderBlockLineLayout.cpp:
388         (WebCore::RenderBlockFlow::updateLogicalWidthForAlignment):
389         * rendering/RenderBox.cpp:
390         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
391         * rendering/RenderBoxModelObject.cpp:
392         (WebCore::RenderBoxModelObject::calculateFillTileSize):
393         * rendering/RenderObject.cpp:
394         (WebCore::RenderObject::drawLineForBoxSide):
395         * rendering/RenderQuote.cpp:
396         (WebCore::RenderQuote::originalText):
397         * rendering/RenderReplaced.cpp:
398         (WebCore::RenderReplaced::replacedContentRect):
399         * rendering/RenderTable.cpp:
400         (WebCore::RenderTable::addChild):
401         * rendering/RenderTheme.cpp:
402         (WebCore::RenderTheme::adjustStyle):
403         * rendering/style/RenderStyle.cpp:
404         (WebCore::RenderStyle::setWordSpacing):
405         * rendering/svg/RenderSVGResource.cpp:
406         (WebCore::requestPaintingResource):
407         * rendering/svg/SVGMarkerData.h:
408         (WebCore::SVGMarkerData::updateMarkerDataForPathElement):
409         * svg/SVGPathParser.cpp:
410         (WebCore::SVGPathParser::parsePathDataFromSource):
411         * svg/SVGTransformDistance.cpp:
412         (WebCore::SVGTransformDistance::SVGTransformDistance):
413         (WebCore::SVGTransformDistance::scaledDistance):
414         (WebCore::SVGTransformDistance::addSVGTransforms):
415         (WebCore::SVGTransformDistance::addToSVGTransform):
416         (WebCore::SVGTransformDistance::distance):
417         Add annotation or break before falling into a default:break;
418
419 2014-01-27  Andreas Kling  <akling@apple.com>
420
421         Allow mmap encoded data replacement for WOFF fonts.
422         <https://webkit.org/b/127737>
423
424         We always have to convert WOFF fonts to SFNT format. This happens
425         in a separate buffer from the CachedFont's internal resource buffer.
426         Because of this, there's no need to protect the original buffer from
427         mmap replacement.
428
429         With this change, WOFF web fonts are no longer duplicated between
430         the network and web processes.
431
432         Reviewed by Brady Eidson.
433
434         * loader/cache/CachedFont.cpp:
435         (WebCore::CachedFont::CachedFont):
436         (WebCore::CachedFont::ensureCustomFontData):
437         (WebCore::CachedFont::mayTryReplaceEncodedData):
438         * loader/cache/CachedFont.h:
439
440 2014-01-27  David Hyatt  <hyatt@apple.com>
441
442         [New Multicolumn] Add support for block progression axis and reverse direction
443         https://bugs.webkit.org/show_bug.cgi?id=127715
444
445         Reviewed by thorton.
446
447         This patch adds support for -webkit-progression-direction and -webkit-progression-axis
448         to the new column code. This allows columns to stack along the block axis instead of
449         the inline axis or to reverse directions along that progression axis.
450
451         Added fast/multicol/newmulticol/progression-reverse.html and
452               fast/multicol/newmulticol/progression-reverse-overflow.html
453
454         * rendering/RenderBlock.cpp:
455         (WebCore::RenderBlock::isTopLayoutOverflowAllowed):
456         (WebCore::RenderBlock::isLeftLayoutOverflowAllowed):
457         New functions have been added for top and left layout overflow in order to get
458         a bunch of code out of RenderBox that didn't belong there. RenderBlock is overriding
459         the functions for the old multicolumn layout code to keep it working.
460
461         * rendering/RenderBlock.h:
462         Added the new top/left overflow functions.
463
464         * rendering/RenderBlockFlow.cpp:
465         (WebCore::RenderBlockFlow::determineLogicalLeftPositionForChild):
466         Moved from RenderBlock, since it didn't belong there.
467
468         (WebCore::RenderBlockFlow::isTopLayoutOverflowAllowed):
469         (WebCore::RenderBlockFlow::isLeftLayoutOverflowAllowed):
470         * rendering/RenderBlockFlow.h:
471         Overridden for the new multi-column code to specify when top/left overflow are
472         allowed (e.g., when the columns go backwards).
473
474         * rendering/RenderBox.cpp:
475         (WebCore::RenderBox::addLayoutOverflow):
476         Overridden to use the new top/left overflow functions.
477
478         * rendering/RenderBox.h:
479         (WebCore::RenderBox::isTopLayoutOverflowAllowed):
480         (WebCore::RenderBox::isLeftLayoutOverflowAllowed):
481         Added base definitions that look at direction and writing-mode.
482
483         * rendering/RenderFlexibleBox.cpp:
484         (WebCore::RenderFlexibleBox::isTopLayoutOverflowAllowed):
485         (WebCore::RenderFlexibleBox::isLeftLayoutOverflowAllowed):
486         * rendering/RenderFlexibleBox.h:
487         Overrides for flexible box of the top/left overflow functions.
488
489         * rendering/RenderMultiColumnFlowThread.h:
490         Make sure requiresBalancing() is set to false if the axis of the columns
491         is block, since at least right now, we don't support balancing columns
492         along the block axis. (In theory we could support this in the future, but
493         nobody has requested it.)
494
495         * rendering/RenderMultiColumnSet.cpp:
496         (WebCore::RenderMultiColumnSet::updateLogicalWidth):
497         Remove the code that expands the width of multi column sets. We now always
498         let their logical width match the containing block's content width and instead
499         add the overflow to the set itself.
500
501         (WebCore::RenderMultiColumnSet::columnRectAt):
502         (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
503         (WebCore::RenderMultiColumnSet::paintColumnRules):
504         (WebCore::RenderMultiColumnSet::initialBlockOffsetForPainting):
505         (WebCore::RenderMultiColumnSet::collectLayerFragments):
506         (WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
507         Patch all of these functions to know how to handle a block axis or reversed
508         direction.
509
510         (WebCore::RenderMultiColumnSet::addOverflowFromChildren):
511         * rendering/RenderMultiColumnSet.h:
512         Make multi-column set add in its overflow in the same way that the old
513         multi-column code did, by looking at the last column rect. (This is really
514         not a very good way to do it, but it's the same as the old code for now.)
515
516 2014-01-27  Daniel Bates  <dabates@apple.com>
517
518         Fix the Mac build following <http://trac.webkit.org/changeset/162887>
519         (https://bugs.webkit.org/show_bug.cgi?id=127703)
520
521         Export symbol for WebCore::AXObjectCache::enableAccessibility().
522
523         * WebCore.exp.in:
524
525 2014-01-27  Roger Fong  <roger_fong@apple.com>
526
527         [Mac] Unreviewed build fix. Add missing export symbol.
528
529         * WebCore.exp.in:
530
531 2014-01-27  Roger Fong  <roger_fong@apple.com>
532
533         [Windows] Tests crashing on Windows after r162816.
534         https://bugs.webkit.org/show_bug.cgi?id=127703.
535
536         Reviewed by Alexey Proskuryakov.
537
538         * accessibility/AXObjectCache.cpp:
539         (WebCore::AXObjectCache::enableAccessibility):
540         (WebCore::AXObjectCache::disableAccessibility):
541         * accessibility/AXObjectCache.h: Un-inline some methods so that they can be exported.
542
543 2014-01-27  Andy Estes  <aestes@apple.com>
544
545         Update bindings test expectations after r162872
546
547         * bindings/scripts/test/ObjC/DOMTestInterface.h:
548         * bindings/scripts/test/ObjC/DOMTestObj.h:
549
550 2014-01-27  Andy Estes  <aestes@apple.com>
551
552         Scrub WebKit API headers of WTF macros
553         https://bugs.webkit.org/show_bug.cgi?id=127706
554
555         Reviewed by David Kilzer.
556
557         * Configurations/FeatureDefines.xcconfig: Added ENABLE_INSPECTOR.
558         * bindings/objc/DOMEvents.h: Guarded include of
559         DOM{Gesture,Touch}Event.h with TARGET_OS_IPHONE, since those features
560         are always enabled on iOS.
561         * platform/graphics/mac/MediaPlayerProxy.h: Replaced PLATFORM(IOS) with
562         TARGET_OS_IPHONE and ensured ENABLE_IOS_AIRPLAY is defined.
563         * platform/ios/SystemMemory.h: Replaced PLATFORM(IOS) with
564         TARGET_OS_IPHONE.
565         * platform/ios/wak/WKGraphics.h: Replaced PLATFORM(IOS_SIMULATOR) with
566         TARGET_IPHONE_SIMULATOR.
567
568 2014-01-27  Jer Noble  <jer.noble@apple.com>
569
570         [iOS] Use callOnMainThread() not dispatch_async() in MediaPlayerPrivateAVFoundationObjC
571         https://bugs.webkit.org/show_bug.cgi?id=127701
572
573         Reviewed by Eric Carlson.
574
575         dispatch_async(dispatch_get_main_queue(), ...) used to be fine so long as the main
576         thread was also the web thread. But since that's not the case on iOS, we should be
577         using callOnMainThread() instead (because it dispatches to the web thread, not as
578         its name implies, the main thread).
579
580         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
581         (WebCore::MediaPlayerPrivateAVFoundationObjC::createWeakPtr):
582         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
583         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
584         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
585         (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
586         (-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):
587         (-[WebCoreAVFMovieObserver outputSequenceWasFlushed:]):
588         (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
589         (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForResponseToAuthenticationChallenge:]):
590         (-[WebCoreAVFLoaderDelegate resourceLoader:didCancelLoadingRequest:]):
591
592 2014-01-27  Maciej Stachowiak  <mjs@apple.com>
593
594         Move Conditional=BLOB from URL interface to Blob-related methods, to prepare for adding URL API
595         https://bugs.webkit.org/show_bug.cgi?id=127719
596
597         Reviewed by Sam Weinig.
598
599         * html/DOMURL.idl:
600
601 2014-01-27  Andreas Kling  <akling@apple.com>
602
603         Remove unused USE(OPENTYPE_SANITIZER) code.
604         <https://webkit.org/b/127710>
605
606         This code was only used by the Chromium port.
607
608         Reviewed by Darin Adler.
609
610         * GNUmakefile.list.am:
611         * WebCore.xcodeproj/project.pbxproj:
612         * loader/cache/CachedFont.cpp:
613         (WebCore::CachedFont::ensureCustomFontData):
614         * platform/graphics/WOFFFileFormat.cpp:
615         * platform/graphics/WOFFFileFormat.h:
616         * platform/graphics/opentype/OpenTypeSanitizer.cpp: Removed.
617         * platform/graphics/opentype/OpenTypeSanitizer.h: Removed.
618
619
620 2014-01-27  Andy Estes  <aestes@apple.com>
621
622         Stop the code generator from adding ENABLE() macros to Objective-C DOM headers
623         https://bugs.webkit.org/show_bug.cgi?id=127706
624
625         Reviewed by David Kilzer.
626
627         Instead of adding ENABLE() macros to generated Objective-C DOM
628         headers, which might become Public or Private headers, elide generated
629         code for disabled features.
630
631         * bindings/scripts/CodeGeneratorObjC.pm:
632         (GenerateInterface): Passed $defines to GenerateHeader.
633         (ConditionalIsEnabled): Checked if the given conditional is found in
634         $defines. Handled conditionals with '&' and '|'.
635         (GenerateHeader): Rather than calling GenerateConditionalString to
636         generate an "#if ENABLE(...)", called ConditionalIsEnabled() to see
637         whether we should generate code for the given constant, attribute, or
638         function.
639
640 2014-01-27  Zoltan Horvath  <zoltan@webkit.org>
641
642         [CSS Shapes] Remove restriction of negative values for inset parameters
643         https://bugs.webkit.org/show_bug.cgi?id=127704
644
645         Reviewed by Darin Adler.
646
647         The latest version of CSS Shapes (http://www.w3.org/TR/css-shapes/) specification
648         doesn't contain any restriction of using negative values for the inset sizing.
649         I removed the restriction from the code and added testing for them.
650
651         Existing tests have been extended with the new cases.
652
653         * css/CSSParser.cpp:
654         (WebCore::CSSParser::parseBasicShapeInset):
655
656 2014-01-27  Eric Carlson  <eric.carlson@apple.com>
657
658         [iOS] preload=none prevents play()
659         https://bugs.webkit.org/show_bug.cgi?id=127702
660
661         Reviewed by Jer Noble.
662
663         No new tests, covered by existing tests.
664
665         * html/HTMLMediaElement.cpp:
666         (WebCore::HTMLMediaElement::potentiallyPlaying): Cleanup logic to make it simpler to understand,
667             fix logic error introduced in r161973
668         (WebCore::HTMLMediaElement::updatePlayState): Conditionalize some iOS-only code on whether or not
669             we are using the plug-in proxy.
670
671 2014-01-27  Brady Eidson  <beidson@apple.com>
672
673         IDB: LevelDB backing store shouldn't know about IDBCursor or IDBCallbacks
674         https://bugs.webkit.org/show_bug.cgi?id=127708
675
676         Reviewed by Tim Horton.
677
678         Move that knowledge to the IDBCursorBackendOperations inside the callback.
679
680         * Modules/indexeddb/IDBCursorBackendOperations.cpp:
681         (WebCore::CursorAdvanceOperation::perform):
682         (WebCore::CursorIterationOperation::perform):
683         * Modules/indexeddb/IDBCursorBackendOperations.h:
684
685         * Modules/indexeddb/IDBServerConnection.h:
686         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
687         (WebCore::IDBServerConnectionLevelDB::cursorAdvance):
688         (WebCore::IDBServerConnectionLevelDB::cursorIterate):
689         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
690
691 2014-01-27  Brady Eidson  <beidson@apple.com>
692
693         IDB: Remove unused concept of "cursor prefetch"
694         https://bugs.webkit.org/show_bug.cgi?id=127700
695
696         Reviewed by Tim Horton.
697
698         * Modules/indexeddb/IDBCursorBackend.cpp:
699         * Modules/indexeddb/IDBCursorBackend.h:
700         * Modules/indexeddb/IDBCursorBackendOperations.cpp:
701         * Modules/indexeddb/IDBCursorBackendOperations.h:
702         * Modules/indexeddb/IDBServerConnection.h:
703         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
704         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
705
706 2014-01-27  Brady Eidson  <beidson@apple.com>
707
708         IDB: Refactor out the last of the operation callbacks that are called by the LevelDB backing store
709         https://bugs.webkit.org/show_bug.cgi?id=127592
710
711         Reviewed by Tim Horton.
712
713         For each of the 3 remaining operations where the backing store calls callbacks directly,
714         factor out the callbacks to the operation itself.
715
716
717         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
718         (WebCore::OpenCursorOperation::perform):
719         (WebCore::CountOperation::perform):
720         (WebCore::DeleteRangeOperation::perform):
721         * Modules/indexeddb/IDBTransactionBackendOperations.h:
722
723         * Modules/indexeddb/IDBServerConnection.h:
724         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
725         (WebCore::IDBServerConnectionLevelDB::openCursor):
726         (WebCore::IDBServerConnectionLevelDB::count):
727         (WebCore::IDBServerConnectionLevelDB::deleteRange):
728         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
729
730 2014-01-27  Commit Queue  <commit-queue@webkit.org>
731
732         Unreviewed, rolling out r162755.
733         http://trac.webkit.org/changeset/162755
734         https://bugs.webkit.org/show_bug.cgi?id=127696
735
736         not quite right, breaks subframe scrolling in some cases
737         (Requested by thorton on #webkit).
738
739         * page/scrolling/ScrollingTree.cpp:
740         (WebCore::ScrollingTree::ScrollingTree):
741         (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
742         (WebCore::ScrollingTree::removeDestroyedNodes):
743         * page/scrolling/ScrollingTree.h:
744         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
745         (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent):
746
747 2014-01-27  Zoltan Horvath  <zoltan@webkit.org>
748
749         [CSS Shapes] inset() function with multiple spaces on element style
750         https://bugs.webkit.org/show_bug.cgi?id=127617
751
752         Reviewed by Dirk Schulze.
753
754         When only a subset of parameters were defined for an inset shape, the built
755         inset string contained some extra spaces. This patch fixes the behavior and
756         adds tests for the case. I also removed the string allocation optimization from
757         buildInsetString, since it's not worthwhile to always allocate as many memory
758         as needed for a fully defined inset.
759
760         I added the new test cases to the shapes parser code test.
761
762         * css/CSSBasicShapes.cpp:
763         (WebCore::buildInsetString):
764
765 2014-01-27  Antti Koivisto  <antti@apple.com>
766
767         * WebCore.exp.in: Add export needed for iOS.
768
769 2014-01-27  Antti Koivisto  <antti@apple.com>
770
771         REGRESSION(r133214): Don't invalidate style when adding classes that don't match rules
772         https://bugs.webkit.org/show_bug.cgi?id=126177
773
774         Reviewed by Anders Carlsson.
775         
776         Spotted by Elliott Sprehn in Chromium.
777
778         * dom/Element.cpp:
779         (WebCore::checkSelectorForClassChange):
780         
781             Remove unnecessary templating.
782
783         (WebCore::Element::classAttributeChanged):
784         
785             Fix logic error with 'continue'.
786
787 2014-01-27  Brendan Long  <b.long@cablelabs.com>
788
789         [GStreamer] Lockup when playing Icecast radio
790         https://bugs.webkit.org/show_bug.cgi?id=127452
791
792         Reviewed by Philippe Normand.
793
794         No new tests. This bug can only be demonstrated with an Icecast stream, and it's
795         not clear how to do that in our testing framework.
796
797         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
798         (StreamingClient::handleResponseReceived): Wait until we unlock to send notifications.
799
800 2014-01-27  Jessie Berlin  <jberlin@apple.com>
801
802         Build fix after r162838.
803
804         * page/FrameView.cpp:
805         Remove an unused constant.
806
807 2014-01-27  Antti Koivisto  <antti@apple.com>
808
809         Remove repaint throttling
810         https://bugs.webkit.org/show_bug.cgi?id=127681
811
812         Reviewed by Sam Weinig.
813
814         Nowadays we throttle layer flushes. This code is unnecessary.
815
816         * WebCore.exp.in:
817         * dom/Document.cpp:
818         (WebCore::Document::recalcStyle):
819         * dom/Element.cpp:
820         (WebCore::Element::classAttributeChanged):
821         * editing/AlternativeTextController.cpp:
822         (WebCore::AlternativeTextController::insertDictatedText):
823         * loader/FrameLoader.cpp:
824         (WebCore::FrameLoader::checkCompleted):
825         * page/EventHandler.cpp:
826         (WebCore::EventHandler::dispatchDragEvent):
827         (WebCore::EventHandler::dispatchMouseEvent):
828         (WebCore::EventHandler::keyEvent):
829         (WebCore::EventHandler::handleTextInputEvent):
830         * page/FrameView.cpp:
831         (WebCore::FrameView::FrameView):
832         (WebCore::FrameView::reset):
833         (WebCore::FrameView::flushCompositingStateForThisFrame):
834         (WebCore::FrameView::layout):
835         (WebCore::FrameView::repaintContentRectangle):
836         (WebCore::FrameView::disableLayerFlushThrottlingTemporarilyForInteraction):
837         (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
838         * page/FrameView.h:
839         * rendering/RenderView.cpp:
840         (WebCore::RenderView::setSelection):
841
842 2014-01-24  Eric Carlson  <eric.carlson@apple.com>
843
844         Merge Chromium TextTrack cleanups
845         https://bugs.webkit.org/show_bug.cgi?id=127483
846
847         Reviewed by Darin Adler.
848
849         Merge some TextTrack cleanups:
850         https://chromium.googlesource.com/chromium/blink/+/b571b9fbc6e62e05aa77a402cf8f447e681b8ee3
851         https://chromium.googlesource.com/chromium/blink/+/6b1940151258150ea01bcf21ebfd958e2af247f4
852         https://chromium.googlesource.com/chromium/blink/+/397c2a2d9416f5c0d79bca22d6979f174eefcce2
853         https://chromium.googlesource.com/chromium/blink/+/f42ad93e25c6310b2b0327ab7ce5d82d3c4a6c1b
854         https://chromium.googlesource.com/chromium/blink/+/d55b52b53b7da05bba5fe378a4278250b9347430
855         https://chromium.googlesource.com/chromium/blink/+/cac766ecaaac477a08879f0b3157d0327cc75d96
856         https://chromium.googlesource.com/chromium/blink/+/6197ce278696cdd52fc2ad81893f369492468ca0
857
858         * html/HTMLTrackElement.cpp:
859         (WebCore::HTMLTrackElement::loadTimerFired): Remove the LoadableTextTrack* parameter, it isn't used.
860         (WebCore::HTMLTrackElement::didCompleteLoad): Ditto.
861         * html/HTMLTrackElement.h: didCompleteLoad doesn't need to be virtual.
862
863         * html/track/LoadableTextTrack.cpp:
864         (WebCore::LoadableTextTrack::loadTimerFired): Pass a reference, not a pointer.
865         (WebCore::LoadableTextTrack::cueLoadingStarted): Removed, it wasn't used.
866         (WebCore::LoadableTextTrack::cueLoadingCompleted): Pass a reference, not a pointer.
867         * html/track/LoadableTextTrack.h: Delete LoadableTextTrackClient, it is no longer used.
868
869         * loader/TextTrackLoader.cpp:
870         (WebCore::TextTrackLoader::TextTrackLoader): Take a TextTrackLoaderClient reference.
871         (WebCore::TextTrackLoader::~TextTrackLoader): Rename m_cachedCueData m_resource.
872         (WebCore::TextTrackLoader::cueLoadTimerFired): m_client is a reference.
873         (WebCore::TextTrackLoader::cancelLoad): m_cachedCueData -> m_resource.
874         (WebCore::TextTrackLoader::processNewCueData): Ditto.
875         (WebCore::TextTrackLoader::deprecatedDidReceiveCachedResource): Ditto.
876         (WebCore::TextTrackLoader::notifyFinished): Ditto.
877         (WebCore::TextTrackLoader::load): shouldLoadCues was removed from the client interface because
878             the only implementation always returned true.
879         (WebCore::TextTrackLoader::newRegionsParsed): m_client is a reference
880         * loader/TextTrackLoader.h:
881
882         * loader/cache/CachedResourceLoader.cpp:
883         (WebCore::CachedResourceLoader::canRequest): Remove an outdated comment.
884
885 2014-01-27  Chris Fleizach  <cfleizach@apple.com>
886
887         AX: Disable accessibility after every test run
888         https://bugs.webkit.org/show_bug.cgi?id=127439
889
890         Reviewed by Csaba Osztrogonác.
891
892         Speculative fix for EFL build. Don't process these notifications unless accessibility is enabled.
893
894         * loader/FrameLoader.cpp:
895         (WebCore::FrameLoader::prepareForLoadStart):
896
897 2014-01-27  Csaba Osztrogonác  <ossy@webkit.org>
898
899         Buildfix for !ENABLE(COMPARE_AND_SWAP) platforms after r162774
900         https://bugs.webkit.org/show_bug.cgi?id=127678
901
902         Reviewed by Zoltan Herczeg.
903
904         * platform/text/TextBreakIterator.cpp:
905         (WebCore::compareAndSwapNonSharedCharacterBreakIterator):
906         Use std::mutex instead of Mutex and std::lock_guard instead of MutexLocker.
907
908 2014-01-26  Tim Horton  <timothy_horton@apple.com>
909
910         Fix the iOS build (failed to correctly revert some broken changes in the last patch).
911
912         * platform/graphics/cg/BitmapImageCG.cpp:
913
914 2014-01-26  Tim Horton  <timothy_horton@apple.com>
915
916         Start cleaning up iOS upstreaming #ifs in platform/graphics
917         https://bugs.webkit.org/show_bug.cgi?id=127641
918
919         Reviewed by Sam Weinig.
920
921         * platform/graphics/BitmapImage.h:
922         * platform/graphics/mac/ColorMac.h:
923         Use USE(APPKIT) instead of PLATFORM(MAC) && !PLATFORM(IOS) for NSImage/getNSImage().
924
925         * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:
926         (WebCore::AVTrackPrivateAVFObjCImpl::label):
927         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm:
928         (WebCore::InbandTextTrackPrivateLegacyAVFObjC::label):
929         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
930         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
931         Remove some code that was only used on OS X on Lion or below.
932
933         * platform/graphics/cg/GraphicsContextCG.cpp:
934         (WebCore::GraphicsContext::platformInit):
935         ToT WebKit doesn't build on Lion or earlier anymore, so this code can always run.
936
937         * platform/graphics/cg/FloatPointCG.cpp:
938         * platform/graphics/cg/FloatRectCG.cpp:
939         * platform/graphics/cg/FloatSizeCG.cpp:
940         * platform/graphics/cg/GradientCG.cpp:
941         * platform/graphics/cg/ImageBufferCG.cpp:
942         * platform/graphics/cg/ImageCG.cpp:
943         * platform/graphics/cg/IntPointCG.cpp:
944         * platform/graphics/cg/IntRectCG.cpp:
945         * platform/graphics/cg/PathCG.cpp:
946         * platform/graphics/cg/PatternCG.cpp:
947         * platform/graphics/mac/FontCustomPlatformData.cpp:
948         Use CoreGraphics/CoreGraphics.h instead of ApplicationServices/ApplicationServices.h
949         even on Mac, so we can share the include.
950
951         * platform/graphics/cg/IntSizeCG.cpp:
952         Remove a random comment of a style we don't tend to use in WebKit,
953         and from a file not large enough to need it.
954
955         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
956         (WebCore::FontPlatformData::FontPlatformData):
957         (WebCore::FontPlatformData::setFont):
958         Remove some more always-true #ifs.
959
960         * platform/graphics/mac/WebLayer.mm:
961         Move a #if'd include out to its own block as per the style guide.
962
963 2014-01-26  David Hyatt  <hyatt@apple.com>
964
965         [New Multicolumn] Make sure the progression axis and direction are propagated to the new columns.
966         https://bugs.webkit.org/show_bug.cgi?id=127670
967
968         This patch makes sure that the progression axis and direction style properties
969         are properly propagated from the style to the multi-column flow thread. Virtualizing
970         and renaming updateColumnInfoFromStyle to updateColumnProgressionFromStyle lets us
971         share code between the old multi-column code and the new.
972
973         Reviewed by Sam Weinig.
974
975         * rendering/RenderBlock.cpp:
976         (WebCore::RenderBlock::updateColumnProgressionFromStyle):
977         * rendering/RenderBlock.h:
978         * rendering/RenderBlockFlow.cpp:
979         (WebCore::RenderBlockFlow::setComputedColumnCountAndWidth):
980         (WebCore::RenderBlockFlow::updateColumnProgressionFromStyle):
981         * rendering/RenderBlockFlow.h:
982         * rendering/RenderBox.cpp:
983         (WebCore::RenderBox::styleDidChange):
984         * rendering/RenderMultiColumnFlowThread.cpp:
985         (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
986         * rendering/RenderMultiColumnFlowThread.h:
987         * style/StyleResolveForDocument.cpp:
988         (WebCore::Style::resolveForDocument):
989
990 2014-01-26  David Hyatt  <hyatt@apple.com>
991
992         [New Multicolumn] Change the axis property to be a boolean like other isInline checks
993         https://bugs.webkit.org/show_bug.cgi?id=127661
994
995         Reviewed by Simon Fraser.
996
997         * rendering/ColumnInfo.h:
998         (WebCore::ColumnInfo::ColumnInfo):
999         (WebCore::ColumnInfo::progressionIsInline):
1000         (WebCore::ColumnInfo::setProgressionIsInline):
1001         * rendering/RenderBlock.cpp:
1002         (WebCore::RenderBlock::paintColumnRules):
1003         (WebCore::RenderBlock::initialBlockOffsetForPainting):
1004         (WebCore::RenderBlock::blockDeltaForPaintingNextColumn):
1005         (WebCore::RenderBlock::setComputedColumnCountAndWidth):
1006         (WebCore::RenderBlock::updateColumnInfoFromStyle):
1007         (WebCore::RenderBlock::columnRectAt):
1008         (WebCore::RenderBlock::adjustPointToColumnContents):
1009         (WebCore::RenderBlock::adjustRectForColumns):
1010         (WebCore::RenderBlock::adjustForColumns):
1011         * rendering/RenderMultiColumnFlowThread.h:
1012         * rendering/RenderObject.cpp:
1013         (WebCore::RenderObject::columnNumberForOffset):
1014
1015 2014-01-26  Benjamin Poulain  <benjamin@webkit.org>
1016
1017         Make DOMStringMap a typedef of DatasetDOMStringMap
1018         https://bugs.webkit.org/show_bug.cgi?id=127658
1019
1020         Reviewed by Sam Weinig.
1021
1022         The only concrete implementation of DOMStringMap is DatasetDOMStringMap.
1023         The abstract interface for a single definition is adding complexity for no gain.
1024
1025         This patch removes DOMStringMap and simply keeps the name through a typedef.
1026         I used a typedef instead of just renaming DatasetDOMStringMap because I think
1027         having both name has value. DatasetDOMStringMap is a better description of what
1028         the implementation does. DOMStringMap is the public name and the classname is
1029         the same as the JavaScript type by convention.
1030
1031         * CMakeLists.txt:
1032         * GNUmakefile.list.am:
1033         * WebCore.vcxproj/WebCore.vcxproj:
1034         * WebCore.vcxproj/WebCore.vcxproj.filters:
1035         * WebCore.xcodeproj/project.pbxproj:
1036         * dom/DOMAllInOne.cpp:
1037         * dom/DOMStringMap.cpp: Removed.
1038         * dom/DOMStringMap.h:
1039         * dom/DatasetDOMStringMap.h:
1040         * dom/Element.cpp:
1041         (WebCore::Element::dataset):
1042         * dom/Element.h:
1043
1044 2014-01-26  David Kilzer  <ddkilzer@apple.com>
1045
1046         Part 2: Assertion failure in WebCore::PseudoElement::didRecalcStyle()
1047         <https://bugs.webkit.org/show_bug.cgi?id=126761>
1048         <rdar://problem/15793540>
1049
1050         Reviewed by Simon Fraser.
1051
1052         * bindings/objc/DOM.mm:
1053         (-[DOMElement image]):
1054         (-[DOMElement _imageTIFFRepresentation]):
1055         * platform/gtk/PasteboardGtk.cpp:
1056         (WebCore::Pasteboard::writeImage):
1057         * platform/win/PasteboardWin.cpp:
1058         (WebCore::Pasteboard::writeImage):
1059         (WebCore::getCachedImage):
1060         * rendering/HitTestResult.cpp:
1061         (WebCore::HitTestResult::image):
1062         - More places where toRenderImage() should be used instead of
1063           toImage().
1064         - Fixed last two places where static_cast<WebCore::RenderImage*>
1065           was being used instead of toRenderImage().
1066
1067 2014-01-26  Chris Fleizach  <cfleizach@apple.com>
1068
1069         AX: Disable accessibility after every test run
1070         https://bugs.webkit.org/show_bug.cgi?id=127439
1071
1072         Reviewed by Alexey Proskuryakov.
1073
1074         If accessibility is disabled, we may still need to return the existing 
1075         AXObjectCache, so that objects can be cleaned up appropriately.
1076
1077         A such we have to be prepared to handle a nullptr return value in more cases.
1078
1079         * accessibility/AXObjectCache.h:
1080         (WebCore::AXObjectCache::disableAccessibility):
1081         * accessibility/AccessibilityNodeObject.cpp:
1082         (WebCore::AccessibilityNodeObject::childrenChanged):
1083         * accessibility/AccessibilityRenderObject.cpp:
1084         (WebCore::AccessibilityRenderObject::remoteSVGRootElement):
1085         * dom/Document.cpp:
1086         (WebCore::Document::existingAXObjectCache):
1087
1088 2014-01-26  Anders Carlsson  <andersca@apple.com>
1089
1090         Move history item visit count handling to WebKit
1091         https://bugs.webkit.org/show_bug.cgi?id=127659
1092
1093         Reviewed by Dan Bernstein.
1094
1095         Remove all members dealing with visit handling - they're going back to WebKit.
1096
1097         * WebCore.exp.in:
1098         * history/HistoryItem.cpp:
1099         (WebCore::HistoryItem::HistoryItem):
1100         (WebCore::HistoryItem::reset):
1101         (WebCore::HistoryItem::decodeBackForwardTree):
1102         * history/HistoryItem.h:
1103         (WebCore::HistoryItem::create):
1104
1105 2014-01-26  Anders Carlsson  <andersca@apple.com>
1106
1107         Move lastVisitWasHTTPNonGet out to WebHistoryItem
1108         https://bugs.webkit.org/show_bug.cgi?id=127657
1109
1110         Reviewed by Dan Bernstein.
1111
1112         Remove m_lastVisitWasHTTPNonGet, it's only used by WebKit.
1113
1114         * history/HistoryItem.cpp:
1115         (WebCore::HistoryItem::HistoryItem):
1116         (WebCore::HistoryItem::reset):
1117         * history/HistoryItem.h:
1118
1119 2014-01-26  Zalan Bujtas  <zalan@apple.com>
1120
1121         Subpixel Layout: Align <input type="button", submit etc (PushButtonPart) top and bottom paddings with <button>
1122         https://bugs.webkit.org/show_bug.cgi?id=127640
1123
1124         Reviewed by Simon Fraser.
1125
1126         <button> sets padding-top: 2px and padding-bottom: 3px as default values (html.css),
1127         while <input type="button" (submit, etc) has the hardcoded values of 0, 0 and we center the text using the available space.
1128         This results in different baseline text position in normal cases. This adjustment puts the <input type='button'
1129         rendering back to the pre-subpixel layout state.
1130
1131         * platform/mac/ThemeMac.mm:
1132         (WebCore::ThemeMac::controlPadding):
1133
1134 2014-01-26  Benjamin Poulain  <bpoulain@apple.com>
1135
1136         Improve the bindings of NodeList's name accessor
1137         https://bugs.webkit.org/show_bug.cgi?id=127358
1138
1139         Reviewed by Geoffrey Garen.
1140
1141         When accessing an item of NodeList by name, the default bindings was
1142         going through the list of node twice:
1143         -First, getOwnProperty calls canGetItemsForName() to find if a property exists for
1144          the given name. This in turn used NodeList::namedItem() which is a slow operation.
1145         -Then, the value itself was queried through nameGetter(), calling NodeList::namedItem()
1146          a second time to find the same value.
1147
1148         This patch kills the default name getter in favor of a getOwnPropertySlotDelegate() returning
1149         the value directly on the PropertySlot.
1150
1151         Ad Hoc testing show about 15% speed up for simple cases.
1152
1153         * bindings/js/JSNodeListCustom.cpp:
1154         (WebCore::JSNodeList::getOwnPropertySlotDelegate):
1155         * dom/NodeList.idl:
1156
1157 2014-01-26  Joseph Pecoraro  <pecoraro@apple.com>
1158
1159         Web Inspector: Move InspectorDebuggerAgent into JavaScriptCore
1160         https://bugs.webkit.org/show_bug.cgi?id=127629
1161
1162         Rubber-stamped by Sam Weinig.
1163
1164         Test: inspector-protocol/debugger/pause-on-assert.html
1165
1166         * CMakeLists.txt:
1167         * ForwardingHeaders/inspector/agents/InspectorDebuggerAgent.h: Added.
1168         * GNUmakefile.list.am:
1169         * WebCore.vcxproj/WebCore.vcxproj:
1170         * WebCore.vcxproj/WebCore.vcxproj.filters:
1171         * WebCore.xcodeproj/project.pbxproj:
1172         * inspector/InspectorAllInOne.cpp:
1173         - Remove InspectorDebuggerAgent.
1174         - Add WebDebuggerAgent (shared between Page and Worker).
1175
1176         * inspector/WebDebuggerAgent.h: Added.
1177         (WebCore::WebDebuggerAgent::~WebDebuggerAgent):
1178         * inspector/WebDebuggerAgent.cpp: Added.
1179         (WebCore::WebDebuggerAgent::WebDebuggerAgent):
1180         (WebCore::WebDebuggerAgent::enable):
1181         (WebCore::WebDebuggerAgent::disable):
1182         Shared code for Page and Worker debugger agents.
1183         Instrumenting agents is a concept in WebCore only,
1184         and the Debugger agent is only in the instrumenting
1185         agents list when it is enabled and removed when disabled.
1186
1187         * inspector/InstrumentingAgents.h:
1188         (WebCore::InstrumentingAgents::inspectorDebuggerAgent):
1189         (WebCore::InstrumentingAgents::setInspectorDebuggerAgent):
1190         * inspector/InspectorDOMDebuggerAgent.cpp:
1191         * inspector/InspectorDOMDebuggerAgent.h:
1192         Update namespace for debugger agent.
1193
1194         * inspector/InspectorInstrumentation.cpp:
1195         (WebCore::isConsoleAssertMessage):
1196         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
1197         DebuggerAgent in JavaScriptCore does not yet know about console
1198         types. So temporarily handle it here. We need to give JavaScriptCore
1199         some concept of Console messages and types.
1200
1201         * inspector/PageDebuggerAgent.cpp:
1202         (WebCore::PageDebuggerAgent::PageDebuggerAgent):
1203         (WebCore::PageDebuggerAgent::enable):
1204         (WebCore::PageDebuggerAgent::disable):
1205         (WebCore::PageDebuggerAgent::sourceMapURLForScript):
1206         (WebCore::PageDebuggerAgent::injectedScriptForEval):
1207         * inspector/PageDebuggerAgent.h:
1208         * inspector/WorkerDebuggerAgent.cpp:
1209         (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
1210         (WebCore::WorkerDebuggerAgent::injectedScriptForEval):
1211         * inspector/WorkerDebuggerAgent.h:
1212         Modernize the Page and Worker debugger agents.
1213
1214         * inspector/InspectorController.cpp:
1215         (WebCore::InspectorController::InspectorController):
1216         * inspector/InspectorController.h:
1217         * inspector/WorkerInspectorController.cpp:
1218         (WebCore::WorkerInspectorController::WorkerInspectorController):
1219         New constructors for the debugger agents.
1220
1221 2014-01-25  Timothy Hatcher  <timothy@apple.com>
1222
1223         Remove dead code from the JSC profiler.
1224
1225         https://bugs.webkit.org/show_bug.cgi?id=127643
1226
1227         Reviewed by Mark Lam.
1228
1229         Passes existing tests in fast/profiler.
1230
1231         * bindings/js/ScriptProfile.cpp:
1232         (WebCore::buildInspectorObjectFor): Remove visible.
1233         * inspector/ScriptProfileNode.idl: Ditto.
1234         * inspector/protocol/Profiler.json: Ditto.
1235
1236 2014-01-25  Sam Weinig  <sam@webkit.org>
1237
1238         Remove unused support for DRAGGABLE_REGION
1239         https://bugs.webkit.org/show_bug.cgi?id=127642
1240
1241         Reviewed by Simon Fraser.
1242
1243         * Configurations/FeatureDefines.xcconfig:
1244         * DerivedSources.make:
1245         * WebCore.exp.in:
1246         * css/CSSComputedStyleDeclaration.cpp:
1247         (WebCore::ComputedStyleExtractor::propertyValue):
1248         * css/CSSParser.cpp:
1249         (WebCore::CSSParser::parseValue):
1250         * css/CSSPropertyNames.in:
1251         * css/CSSValueKeywords.in:
1252         * css/StyleResolver.cpp:
1253         (WebCore::StyleResolver::applyProperty):
1254         * dom/Document.cpp:
1255         (WebCore::Document::Document):
1256         * dom/Document.h:
1257         * page/Chrome.cpp:
1258         * page/ChromeClient.h:
1259         * page/FrameView.cpp:
1260         (WebCore::FrameView::layout):
1261         (WebCore::FrameView::paintContents):
1262         * page/FrameView.h:
1263         * rendering/RenderElement.cpp:
1264         (WebCore::RenderElement::styleWillChange):
1265         * rendering/RenderInline.cpp:
1266         (WebCore::RenderInline::addAnnotatedRegions):
1267         * rendering/RenderInline.h:
1268         * rendering/RenderLayer.cpp:
1269         (WebCore::RenderLayer::scrollTo):
1270         (WebCore::RenderLayer::setHasHorizontalScrollbar):
1271         (WebCore::RenderLayer::setHasVerticalScrollbar):
1272         (WebCore::RenderLayer::updateScrollbarsAfterLayout):
1273         * rendering/RenderListBox.cpp:
1274         (WebCore::RenderListBox::setHasVerticalScrollbar):
1275         * rendering/RenderObject.cpp:
1276         (WebCore::RenderObject::addAnnotatedRegions):
1277         * rendering/RenderObject.h:
1278         (WebCore::AnnotatedRegionValue::operator==):
1279         * rendering/style/RenderStyle.h:
1280         * rendering/style/RenderStyleConstants.h:
1281         * rendering/style/StyleRareNonInheritedData.cpp:
1282         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1283         (WebCore::StyleRareNonInheritedData::operator==):
1284         * rendering/style/StyleRareNonInheritedData.h:
1285
1286 2014-01-25  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1287
1288         Clean up SVGPatternElement::collectPatternAttributes 
1289         https://bugs.webkit.org/show_bug.cgi?id=127612
1290
1291         Reviewed by Andreas Kling.
1292
1293         This patch refactors SVGPatternElement::collectPatternAttributes() by extracting
1294         the setPatternAttributes logic into a new function. This patch also changes the
1295         while loop to be easier to understand and similar to collectGradientAttributes.
1296
1297         * svg/SVGPatternElement.cpp:
1298         (WebCore::setPatternAttributes):
1299         (WebCore::SVGPatternElement::collectPatternAttributes):
1300
1301 2014-01-25  Zalan Bujtas  <zalan@apple.com>
1302
1303         Subpixel layout: RenderInline is not centered when child RenderTextControl's innerTextRenderer needs bias centering.
1304         https://bugs.webkit.org/show_bug.cgi?id=125659
1305
1306         Reviewed by Andreas Kling
1307
1308         layoutMod(logicalHeightDiff, 2) fails to bias round when subpixel layout is enabled. It sets
1309         the denominator value to 2, which returns incorrect modulo result.
1310         (subpixel off: 3px % 2 = 1 vs subpixel on: (3px * 64) -> 192 % 2 = 0)
1311
1312         Covered by existing tests.
1313
1314         * platform/LayoutUnit.h:
1315         * rendering/RenderSearchField.cpp:
1316         (WebCore::RenderSearchField::centerContainerIfNeeded):
1317         * rendering/RenderTextControlSingleLine.cpp:
1318         (WebCore::RenderTextControlSingleLine::centerRenderer):
1319         (WebCore::RenderTextControlSingleLine::layout):
1320         * rendering/RenderTextControlSingleLine.h:
1321
1322 2014-01-25  Sam Weinig  <sam@webkit.org>
1323
1324         Remove more unnecessary #if PLATFORM(IOS)s in ApplicationCacheStorage.cpp
1325         https://bugs.webkit.org/show_bug.cgi?id=127635
1326
1327         Reviewed by Antti Koivisto.
1328
1329         * loader/appcache/ApplicationCacheStorage.cpp:
1330         (WebCore::ApplicationCacheStorage::executeSQLCommand):
1331         (WebCore::ApplicationCacheStorage::verifySchemaVersion):
1332         (WebCore::ApplicationCacheStorage::executeStatement):
1333         (WebCore::ApplicationCacheStorage::store):
1334         (WebCore::ApplicationCacheStorage::ensureOriginRecord):
1335         (WebCore::ApplicationCacheStorage::loadCache):
1336
1337 2014-01-25  Sam Weinig  <sam@webkit.org>
1338
1339         Remove some iOS #ifdefs by adding SQLiteDatabaseTracker to all the builds
1340         https://bugs.webkit.org/show_bug.cgi?id=127632
1341
1342         Reviewed by Darin Adler.
1343
1344         Move the SQLiteDatabaseTracker and client from platform/sql/ios to platform/sql,
1345         as there is nothing iOS specific about it. Then, un-#ifdef all its uses. For
1346         ports that don't setup a client, this has no change in behavior.
1347
1348         * CMakeLists.txt:
1349         * GNUmakefile.list.am:
1350         * Modules/webdatabase/DatabaseBackendBase.cpp:
1351         * WebCore.vcxproj/WebCore.vcxproj:
1352         * WebCore.vcxproj/WebCore.vcxproj.filters:
1353         * WebCore.xcodeproj/project.pbxproj:
1354         * loader/appcache/ApplicationCacheStorage.cpp:
1355         * platform/ScrollableArea.h:
1356         (WebCore::ScrollableArea::sendWillRevealEdgeEventsIfNeeded):
1357         * platform/sql/SQLiteDatabaseTracker.cpp: Copied from Source/WebCore/platform/sql/ios/SQLiteDatabaseTracker.cpp.
1358         * platform/sql/SQLiteDatabaseTracker.h: Copied from Source/WebCore/platform/sql/ios/SQLiteDatabaseTracker.h.
1359         * platform/sql/SQLiteDatabaseTrackerClient.h: Copied from Source/WebCore/platform/sql/ios/SQLiteDatabaseTrackerClient.h.
1360         * platform/sql/ios: Removed.
1361         * platform/sql/ios/SQLiteDatabaseTracker.cpp: Removed.
1362         * platform/sql/ios/SQLiteDatabaseTracker.h: Removed.
1363         * platform/sql/ios/SQLiteDatabaseTrackerClient.h: Removed.
1364         * storage/StorageAreaSync.cpp:
1365         (WebCore::StorageAreaSync::openDatabase):
1366         (WebCore::StorageAreaSync::sync):
1367         * storage/StorageTracker.cpp:
1368
1369 2014-01-25  Anders Carlsson  <andersca@apple.com>
1370
1371         Remove an unused FrameLoaderClient function
1372         https://bugs.webkit.org/show_bug.cgi?id=127628
1373
1374         Reviewed by Andreas Kling.
1375
1376         All implementations of FrameLoaderClient::shouldStopLoadingForHistoryItem return true and this function
1377         was only used by Chromium so we can get rid of it.
1378
1379         * loader/EmptyClients.h:
1380         * loader/FrameLoaderClient.h:
1381         * loader/HistoryController.cpp:
1382         (WebCore::HistoryController::shouldStopLoadingForHistoryItem):
1383
1384 2014-01-25  Darin Adler  <darin@apple.com>
1385
1386         Call deprecatedCharacters instead of characters at more call sites
1387         https://bugs.webkit.org/show_bug.cgi?id=127631
1388
1389         Reviewed by Sam Weinig.
1390
1391         * bindings/objc/WebScriptObject.mm:
1392         (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
1393         * editing/CompositeEditCommand.cpp:
1394         (WebCore::containsOnlyWhitespace):
1395         * editing/TypingCommand.cpp:
1396         (WebCore::TypingCommand::insertText):
1397         * editing/VisibleUnits.cpp:
1398         (WebCore::startOfParagraph):
1399         (WebCore::endOfParagraph):
1400         * html/parser/HTMLParserIdioms.cpp:
1401         (WebCore::stripLeadingAndTrailingHTMLSpaces):
1402         (WebCore::parseHTMLNonNegativeInteger):
1403         * inspector/InspectorStyleSheet.cpp:
1404         (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):
1405         * inspector/InspectorStyleTextEditor.cpp:
1406         (WebCore::InspectorStyleTextEditor::insertProperty):
1407         (WebCore::InspectorStyleTextEditor::internalReplaceProperty):
1408         * platform/Length.cpp:
1409         (WebCore::newCoordsArray):
1410         * platform/LinkHash.cpp:
1411         (WebCore::visitedLinkHash):
1412         * platform/graphics/Color.cpp:
1413         (WebCore::Color::parseHexColor):
1414         (WebCore::Color::Color):
1415         * platform/graphics/TextRun.h:
1416         (WebCore::TextRun::TextRun):
1417         * platform/text/TextEncodingRegistry.cpp:
1418         (WebCore::atomicCanonicalTextEncodingName):
1419         * rendering/RenderBlock.cpp:
1420         (WebCore::RenderBlock::constructTextRun):
1421         * rendering/RenderCombineText.cpp:
1422         (WebCore::RenderCombineText::width):
1423         * svg/SVGFontElement.cpp:
1424         (WebCore::SVGFontElement::registerLigaturesInGlyphCache):
1425         * xml/XPathFunctions.cpp:
1426         (WebCore::XPath::FunId::evaluate):
1427         Use the new name.
1428
1429 2014-01-25  Darin Adler  <darin@apple.com>
1430
1431         Get rid of ICU_UNICODE and WCHAR_UNICODE remnants
1432         https://bugs.webkit.org/show_bug.cgi?id=127623
1433
1434         Reviewed by Anders Carlsson.
1435
1436         * CMakeLists.txt: Removed SmartReplaceICU.cpp.
1437         * GNUmakefile.list.am: Ditto.
1438         * PlatformEfl.cmake: Ditto.
1439         * PlatformGTK.cmake: Ditto.
1440
1441         * editing/FrameSelection.cpp:
1442         (WebCore::FrameSelection::modifyMovingRight): Ditto.
1443         (WebCore::FrameSelection::modifyMovingLeft): Ditto.
1444
1445         * editing/SmartReplace.cpp: Moved code here from SmartReplaceICU,
1446         since we always support ICU now. Added some FIXME comments about
1447         bugs and mistakes I spotted in the code as I was moving it.
1448         * editing/SmartReplaceICU.cpp: Removed.
1449
1450         * editing/TextIterator.cpp: Removed unneeded checks.
1451         * platform/ThreadGlobalData.cpp:
1452         (WebCore::ThreadGlobalData::ThreadGlobalData): Ditto.
1453         (WebCore::ThreadGlobalData::destroy): Ditto.
1454         * platform/ThreadGlobalData.h: Ditto.
1455         * platform/URL.cpp:
1456         (WebCore::appendEncodedHostname): Ditto.
1457         * platform/graphics/SurrogatePairAwareTextIterator.cpp: Ditto.
1458         Also removed unneeded "using namespace".
1459         * platform/text/TextCodecICU.cpp: Ditto.
1460         * platform/text/TextEncoding.cpp:
1461         (WebCore::TextEncoding::encode): Ditto.
1462         * platform/text/TextEncodingRegistry.cpp:
1463         (WebCore::extendTextCodecMaps): Ditto.
1464
1465 2014-01-25  Darin Adler  <darin@apple.com>
1466
1467         Get rid of UnicodeRange.h/cpp, using ICU instead
1468         https://bugs.webkit.org/show_bug.cgi?id=127622
1469
1470         Reviewed by Anders Carlsson.
1471
1472         * CMakeLists.txt: Remove UnicodeRange.h/cpp.
1473         * GNUmakefile.list.am: Ditto.
1474         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
1475         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1476         * WebCore.xcodeproj/project.pbxproj: Ditto.
1477
1478         * platform/graphics/win/FontCacheWin.cpp:
1479         (WebCore::FontCache::systemFallbackForCharacters): To check if a character has
1480         multiple code pages, use UCHAR_UNIFIED_IDEOGRAPH instead of cRangeSetCJK.
1481         * platform/graphics/wince/FontCacheWinCE.cpp:
1482         (WebCore::FontCache::systemFallbackForCharacters): Ditto. Also, to check if a
1483         character is in the Thai block, use UBLOCK_THAI.
1484
1485         * platform/graphics/wince/FontPlatformData.cpp: Removed include of UnicodeRange.h.
1486
1487         * platform/text/UnicodeRange.cpp: Removed.
1488         * platform/text/UnicodeRange.h: Removed.
1489
1490         * rendering/svg/SVGTextLayoutEngineBaseline.cpp:
1491         (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle): To figure
1492         out if a character is full width, use UCHAR_EAST_ASIAN_WIDTH, instead of hard-coding
1493         "not Latin or Arabic" as the rule.
1494
1495 2014-01-25  Tim Horton  <timothy_horton@apple.com>
1496
1497         Remove an unnecessary platform #if in BitmapImage(CG)::checkForSolidColor()
1498         https://bugs.webkit.org/show_bug.cgi?id=127610
1499
1500         Reviewed by Simon Fraser.
1501
1502         * platform/graphics/cg/BitmapImageCG.cpp:
1503         (WebCore::BitmapImage::checkForSolidColor):
1504         Over time, the two sides of this #if !PLATFORM(IOS) converged. Remove the #if
1505         and merge the code. We explicitly use kCGBitmapByteOrder32Big to be correct everywhere.
1506
1507 2014-01-25  Tim Horton  <timothy_horton@apple.com>
1508
1509         [cg] Look in the PNG dictionary for image duration information
1510         https://bugs.webkit.org/show_bug.cgi?id=127611
1511         <rdar://problem/15408643>
1512
1513         Reviewed by Simon Fraser.
1514
1515         We should look in the PNG properties dictionary for frame duration and loop count data.
1516
1517         * platform/graphics/cg/ImageSourceCG.cpp:
1518         (WebCore::ImageSource::repetitionCount):
1519         Mush repetitionCount a bit more to make it easier to read (early returns, etc.)
1520         Also, look in the PNG properties dictionary for a loop count.
1521
1522         (WebCore::ImageSource::frameDurationAtIndex):
1523         Look in the PNG properties dictionary for delay time.
1524         Get rid of WebCoreCGImagePropertyGIFUnclampedDelayTime; it hasn't
1525         been needed since Snow Leopard.
1526
1527 2014-01-25  Anders Carlsson  <andersca@apple.com>
1528
1529         Remove atomicIncrement/atomicDecrement
1530         https://bugs.webkit.org/show_bug.cgi?id=127625
1531
1532         Reviewed by Andreas Kling.
1533
1534         Replace atomicIncrement/atomicDecrement with std::atomic.
1535
1536         * Modules/webaudio/AudioContext.cpp:
1537         (WebCore::AudioContext::incrementActiveSourceCount):
1538         (WebCore::AudioContext::decrementActiveSourceCount):
1539         * Modules/webaudio/AudioContext.h:
1540         * Modules/webaudio/AudioNode.cpp:
1541         (WebCore::AudioNode::~AudioNode):
1542         (WebCore::AudioNode::ref):
1543         (WebCore::AudioNode::finishDeref):
1544         * Modules/webaudio/AudioNode.h:
1545         * Modules/webdatabase/OriginLock.h:
1546
1547 2014-01-25  Alex Christensen  <achristensen@webkit.org>
1548
1549         Unreviewed build fix for WinCairo.
1550
1551         * platform/network/curl/CurlDownload.h:
1552         Included wtf/Threading.h for ThreadIdentifier definition.
1553
1554 2014-01-25  Anders Carlsson  <andersca@apple.com>
1555
1556         Modernize HashTable threading code
1557         https://bugs.webkit.org/show_bug.cgi?id=127621
1558
1559         Reviewed by Darin Adler.
1560
1561         Explicitly include headers that used to be brought in by HashTable.h
1562
1563         * platform/DragData.h:
1564         Change a Windows-specific typedef to avoid having to include WindDef.h from a header.
1565
1566         * platform/audio/AudioSession.h:
1567         * platform/network/cf/SocketStreamHandle.h:
1568
1569 2014-01-25  Zan Dobersek  <zdobersek@igalia.com>
1570
1571         Move CSSGroupingRule, CSSStyleSheet, ElementRuleCollector to std::unique_ptr
1572         https://bugs.webkit.org/show_bug.cgi?id=127575
1573
1574         Reviewed by Andreas Kling.
1575
1576         Use std::unique_ptr and std::make_unique in place of OwnPtr and adoptPtr
1577         in the CSSGroupingRule, CSSStyleSheet and ElementRuleCollector classes.
1578
1579         * css/CSSFunctionValue.cpp: Remove the unnecessary PassOwnPtr header inclusion.
1580         * css/CSSGroupingRule.cpp:
1581         (WebCore::CSSGroupingRule::cssRules):
1582         * css/CSSGroupingRule.h:
1583         * css/CSSStyleSheet.cpp:
1584         (WebCore::CSSStyleSheet::cssRules):
1585         * css/CSSStyleSheet.h:
1586         * css/ElementRuleCollector.cpp:
1587         (WebCore::ElementRuleCollector::addMatchedRule):
1588         * css/ElementRuleCollector.h:
1589
1590 2014-01-25  Zan Dobersek  <zdobersek@igalia.com>
1591
1592         Move MediaQueryMatcher, SelectorFilter to std::unique_ptr
1593         https://bugs.webkit.org/show_bug.cgi?id=127574
1594
1595         Reviewed by Andreas Kling.
1596
1597         Replace the use of OwnPtr and adoptPtr with std::unique_ptr and std::make_unique
1598         in the MediaQueryMatcher and SelectorFilter classes.
1599
1600         * css/MediaQueryMatcher.cpp:
1601         (WebCore::MediaQueryMatcher::prepareEvaluator):
1602         (WebCore::MediaQueryMatcher::evaluate):
1603         (WebCore::MediaQueryMatcher::addListener):
1604         (WebCore::MediaQueryMatcher::styleResolverChanged):
1605         * css/MediaQueryMatcher.h:
1606         * css/SelectorFilter.cpp:
1607         (WebCore::SelectorFilter::popParentStackFrame):
1608         (WebCore::SelectorFilter::setupParentStack):
1609         * css/SelectorFilter.h:
1610
1611 2014-01-25  Zan Dobersek  <zdobersek@igalia.com>
1612
1613         Move PropertySetCSSStyleDeclaration, WebKitCSSKeyframesRule to std::unique_ptr
1614         https://bugs.webkit.org/show_bug.cgi?id=127572
1615
1616         Reviewed by Andreas Kling.
1617
1618         Switch the PropertySetCSSStyleDeclaration and WebKitCSSKeyframesRule classes from using
1619         OwnPtr and adoptPtr to using std::unique_ptr and std::make_unique.
1620
1621         * css/PropertySetCSSStyleDeclaration.cpp:
1622         (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
1623         (WebCore::StyleRuleCSSStyleDeclaration::didMutate):
1624         (WebCore::InlineCSSStyleDeclaration::didMutate):
1625         * css/PropertySetCSSStyleDeclaration.h:
1626         * css/WebKitCSSKeyframesRule.cpp:
1627         (WebCore::WebKitCSSKeyframesRule::cssRules):
1628         * css/WebKitCSSKeyframesRule.h:
1629
1630 2014-01-25  Zan Dobersek  <zdobersek@igalia.com>
1631
1632         Move StyleProperties, StyleResolver to std::unique_ptr
1633         https://bugs.webkit.org/show_bug.cgi?id=127570
1634
1635         Reviewed by Andreas Kling.
1636
1637         Move the StyleProperties and StyleResolver classes from using OwnPtr and adoptPtr
1638         to using std::unique_ptr and std::make_unique.
1639
1640         * css/StyleInvalidationAnalysis.h: Remove the PassOwnPtr.h header inclusion.
1641         * css/StyleProperties.cpp:
1642         (WebCore::MutableStyleProperties::ensureCSSStyleDeclaration):
1643         (WebCore::MutableStyleProperties::ensureInlineCSSStyleDeclaration):
1644         * css/StyleProperties.h:
1645         * css/StyleResolver.cpp:
1646         (WebCore::StyleResolver::StyleResolver):
1647         (WebCore::StyleResolver::addViewportDependentMediaQueryResult):
1648         * css/StyleResolver.h:
1649         * css/StyleScopeResolver.h:
1650
1651 2014-01-25  Zan Dobersek  <zdobersek@igalia.com>
1652
1653         Move CSSFontFace, CSSFontSelector to std::unique_ptr
1654         https://bugs.webkit.org/show_bug.cgi?id=127569
1655
1656         Reviewed by Andreas Kling.
1657
1658         Move the CSSFontFace and CSSFontSelector classes from using OwnPtr, PassOwnPtr and adoptPtr
1659         to using std::unique_ptr, move semantics and std::make_unique.
1660
1661         * css/CSSFontFace.cpp:
1662         (WebCore::CSSFontFace::addSource):
1663         * css/CSSFontFace.h:
1664         * css/CSSFontSelector.cpp:
1665         (WebCore::CSSFontSelector::addFontFaceRule):
1666         (WebCore::CSSFontSelector::getFontFace):
1667         * css/CSSFontSelector.h:
1668
1669 2014-01-24  Joseph Pecoraro  <pecoraro@apple.com>
1670
1671         Web Inspector: Move InspectorRuntimeAgent into JavaScriptCore
1672         https://bugs.webkit.org/show_bug.cgi?id=127605
1673
1674         Reviewed by Timothy Hatcher.
1675
1676         Covered by existing tests. No change in functionality.
1677
1678         * CMakeLists.txt:
1679         * GNUmakefile.list.am:
1680         * WebCore.vcxproj/WebCore.vcxproj:
1681         * WebCore.vcxproj/WebCore.vcxproj.filters:
1682         * WebCore.xcodeproj/project.pbxproj:
1683         * inspector/InspectorAllInOne.cpp:
1684         Remove WebCore InspectorRuntimeAgent.
1685
1686         * ForwardingHeaders/inspector/agents/InspectorRuntimeAgent.h: Added.
1687         Add JavaScriptCore InspectorRuntimeAgent.
1688
1689         * inspector/InspectorController.cpp:
1690         (WebCore::InspectorController::InspectorController):
1691         * inspector/WorkerInspectorController.h:
1692         * inspector/WorkerInspectorController.cpp:
1693         (WebCore::WorkerInspectorController::WorkerInspectorController):
1694         New constructors for the runtime agent.
1695
1696         * inspector/PageRuntimeAgent.h:
1697         * inspector/PageRuntimeAgent.cpp:
1698         (WebCore::PageRuntimeAgent::PageRuntimeAgent):
1699         (WebCore::PageRuntimeAgent::enable):
1700         (WebCore::PageRuntimeAgent::disable):
1701         (WebCore::PageRuntimeAgent::didCreateMainWorldContext):
1702         (WebCore::PageRuntimeAgent::didCreateIsolatedContext):
1703         (WebCore::PageRuntimeAgent::globalVM):
1704         Modernize and implement globalVM.
1705
1706         * inspector/WorkerRuntimeAgent.h:
1707         * inspector/WorkerRuntimeAgent.cpp:
1708         (WebCore::WorkerRuntimeAgent::WorkerRuntimeAgent):
1709         (WebCore::WorkerRuntimeAgent::injectedScriptForEval):
1710         (WebCore::WorkerRuntimeAgent::globalVM):
1711         Modernize and implement globalVM.
1712
1713 2014-01-25  Diego Pino Garcia  <dpino@igalia.com>
1714
1715         [GTK] Add parameters from 'DOM Object Model Core' spec and 'DOM CSS' spec that can be NULL
1716
1717         https://bugs.webkit.org/show_bug.cgi?id=117536
1718
1719         Reviewed by Xan Lopez.
1720
1721         * bindings/scripts/CodeGeneratorGObject.pm:
1722         (ParamCanBeNull): Add new pairs (function, parameter) that can be NULL
1723
1724 2014-01-25  Anders Carlsson  <andersca@apple.com>
1725
1726         Get rid of BackForwardController::isActive()
1727         https://bugs.webkit.org/show_bug.cgi?id=127604
1728
1729         Reviewed by Sam Weinig.
1730
1731         BackForwardController::isActive() used to mean "my page maintains a back forward
1732         list that has zero capacity". Move that logic into WebKit instead, namely the
1733         WebFrameLoaderClient::canCachePage function so we can simplify WebCore.
1734
1735         * history/BackForwardClient.h:
1736         * history/BackForwardController.cpp:
1737         * history/BackForwardController.h:
1738         * history/BackForwardList.h:
1739         * history/PageCache.cpp:
1740         (WebCore::logCanCachePageDecision):
1741         (WebCore::PageCache::canCache):
1742
1743 2014-01-25  Antti Koivisto  <antti@apple.com>
1744
1745         REGRESSION(r162744): wsj.com paints white
1746         https://bugs.webkit.org/show_bug.cgi?id=127619
1747
1748         Reviewed by Sam Weinig.
1749
1750         Test: fast/css/stylesheet-layout-with-pending-paint.html
1751
1752         * dom/Document.cpp:
1753         (WebCore::Document::styleResolverChanged):
1754         
1755             Ensure we switch out from IgnoreLayoutWithPendingSheets state after stylesheet loads complete.
1756
1757 2014-01-24  Dan Bernstein  <mitz@apple.com>
1758
1759         Reverted r162760. It broke more things.
1760
1761         * WebCore.exp.in:
1762
1763 2014-01-24  Dan Bernstein  <mitz@apple.com>
1764
1765         Try to fix some 32-bit builds.
1766
1767         * WebCore.exp.in:
1768
1769 2014-01-24  Jinwoo Song  <jinwoo7.song@samsung.com>
1770
1771         [EFL] Replace usage of DEFINE_STATIC_LOCAL with NeverDestroyed in WebCore/platform/efl
1772         https://bugs.webkit.org/show_bug.cgi?id=127607
1773
1774         Reviewed by Anders Carlsson.
1775
1776         * platform/efl/EflKeyboardUtilities.cpp:
1777         (WebCore::keyMap): Use NeverDestroyed instead of DEFINE_STATIC_LOCAL.
1778         (WebCore::windowsKeyMap): Ditto.
1779         (WebCore::keyDownCommandsMap): Ditto.
1780         (WebCore::keyPressCommandsMap): Ditto.
1781         * platform/efl/GamepadsEfl.cpp:
1782         (WebCore::sampleGamepads): Ditto.
1783         * platform/efl/RenderThemeEfl.cpp:
1784         (WebCore::RenderThemeEfl::systemFont): Do not use unnecessary DEFINE_STATIC_LOCAL.
1785
1786 2014-01-23  Joseph Pecoraro  <pecoraro@apple.com>
1787
1788         Move JavaScriptCallFrame and ScriptDebugServer into JavaScriptCore for inspector
1789         https://bugs.webkit.org/show_bug.cgi?id=127543
1790
1791         Reviewed by Geoffrey Garen.
1792
1793         Covered by existing tests.
1794
1795         * ForwardingHeaders/inspector/ScriptDebugServer.h: Added.
1796         * GNUmakefile.list.am:
1797         * UseJSC.cmake:
1798         * WebCore.vcxproj/WebCore.vcxproj:
1799         * WebCore.vcxproj/WebCore.vcxproj.filters:
1800         * WebCore.xcodeproj/project.pbxproj:
1801         * bindings/js/JSBindingsAllInOne.cpp:
1802         * inspector/JavaScriptCallFrame.idl: Removed.
1803         Update builds now that ScriptDebugServer moved to JavaScriptCore.
1804
1805         * bindings/js/PageScriptDebugServer.h:
1806         * bindings/js/PageScriptDebugServer.cpp:
1807         (WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
1808         (WebCore::PageScriptDebugServer::isContentScript):
1809         (WebCore::PageScriptDebugServer::reportException):
1810         * bindings/js/WorkerScriptDebugServer.h:
1811         * bindings/js/WorkerScriptDebugServer.cpp:
1812         (WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):
1813         (WebCore::WorkerScriptDebugServer::reportException):
1814         Handle ScriptDebugServer functionality depending on WebCore knowledge.
1815
1816         * inspector/InspectorDebuggerAgent.h:
1817         * inspector/InspectorDebuggerAgent.cpp:
1818         (WebCore::InspectorDebuggerAgent::breakpointActionSound):
1819         Handle ScriptDebugServer functionality that depended on WebCore knowledge.
1820         This will eventually be written in a non-WebCore specific way.
1821
1822         * inspector/InspectorRuntimeAgent.cpp:
1823         * inspector/InspectorRuntimeAgent.h:
1824         Update ScriptDebugServer type now that it is in namespace Inspector.
1825
1826         * workers/WorkerGlobalScope.h:
1827         Make addConsoleMessage public again so the inspector can call it.
1828
1829         * inspector/PageDebuggerAgent.cpp:
1830         (WebCore::PageDebuggerAgent::breakpointActionLog):
1831         * inspector/PageDebuggerAgent.h:
1832         * inspector/WorkerDebuggerAgent.cpp:
1833         (WebCore::WorkerDebuggerAgent::breakpointActionLog):
1834         * inspector/WorkerDebuggerAgent.h:
1835         Let each of these handle console logs in their own way. Both of these
1836         eventually go through the PageConsole and log through the InspectorConsoleAgent
1837         and ChromeClient.
1838
1839 2014-01-24  Brent Fulgham  <bfulgham@apple.com>
1840
1841         Improve latching behavior for wheel events
1842         https://bugs.webkit.org/show_bug.cgi?id=127386
1843         <rdar://problem/12176858>
1844
1845         Reviewed by Simon Fraser.
1846
1847         * page/scrolling/ScrollingTree.cpp:
1848         (WebCore::ScrollingTree::ScrollingTree): Initialize new values used for tracking
1849         scroll latching state.
1850         (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Check for an existing
1851         latched node and stay in fast scrolling mode if possible.
1852         (WebCore::ScrollingTree::removeDestroyedNodes): Clear latched node if it's being removed.
1853         (WebCore::ScrollingTree::latchedNode): Added
1854         (WebCore::ScrollingTree::setLatchedNode): Added
1855         (WebCore::ScrollingTree::clearLatchedNode): Added
1856         * page/scrolling/ScrollingTree.h:
1857         (WebCore::ScrollingTree::hasLatchedNode): Added
1858         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
1859         (WebCore::shouldConsiderLatching): Added
1860         (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent): Determine latching state
1861         based on wheel event state and position of mouse pointer in the document.
1862
1863 2014-01-24  Anders Carlsson  <andersca@apple.com>
1864
1865         Another attempted build fix.
1866
1867         Use wildcards in the the std::duration symbol.
1868
1869         * WebCore.exp.in:
1870
1871 2014-01-24  Simon Fraser  <simon.fraser@apple.com>
1872
1873         Start using the RemoteScrollingCoordinatorProxy on iOS
1874         https://bugs.webkit.org/show_bug.cgi?id=127598
1875
1876         Reviewed by Tim Horton.
1877
1878         Add a scrollPositionChangedViaDelegatedScrolling() function to
1879         ScrollingTree, allowing the ScrollingTree to be informed about
1880         external sources of scrolling.
1881         
1882         Also add a convenience getter for nodes, nodeForID().
1883
1884         * WebCore.exp.in:
1885         * page/scrolling/ScrollingTree.cpp:
1886         (WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling):
1887         (WebCore::ScrollingTree::nodeForID):
1888         * page/scrolling/ScrollingTree.h:
1889         * rendering/RenderLayerCompositor.cpp:
1890         (WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):
1891         To avoid assertions on iOS, bail from iOS WK1 fixed position code if
1892         we have a ScrollingCoordinator.
1893         (WebCore::RenderLayerCompositor::unregisterAllViewportConstrainedLayers):
1894         Ditto.
1895
1896 2014-01-24  Simon Fraser  <simon.fraser@apple.com>
1897
1898         Add typesafe casts for ScrollingTreeNode classes
1899         https://bugs.webkit.org/show_bug.cgi?id=127597
1900
1901         Reviewed by Tim Horton.
1902
1903         Add a ScrollingNodeType member to ScrollingTreeNodes and
1904         use it for type-safe casting.
1905
1906         * page/scrolling/ScrollingTreeNode.cpp:
1907         (WebCore::ScrollingTreeNode::ScrollingTreeNode):
1908         * page/scrolling/ScrollingTreeNode.h:
1909         (WebCore::ScrollingTreeNode::nodeType):
1910         (WebCore::ScrollingTreeNode::scrollingNodeID):
1911         * page/scrolling/ScrollingTreeScrollingNode.cpp:
1912         (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
1913         * page/scrolling/ScrollingTreeScrollingNode.h:
1914         * page/scrolling/mac/ScrollingTreeFixedNode.h:
1915         * page/scrolling/mac/ScrollingTreeFixedNode.mm:
1916         (WebCore::ScrollingTreeFixedNode::ScrollingTreeFixedNode):
1917         * page/scrolling/mac/ScrollingTreeStickyNode.h:
1918         * page/scrolling/mac/ScrollingTreeStickyNode.mm:
1919         (WebCore::ScrollingTreeStickyNode::ScrollingTreeStickyNode):
1920
1921 2014-01-24  Anders Carlsson  <andersca@apple.com>
1922
1923         Remove back/forward list related functions from Page
1924         https://bugs.webkit.org/show_bug.cgi?id=127596
1925
1926         Reviewed by Andreas Kling.
1927
1928         * WebCore.exp.in:
1929         * history/BackForwardController.cpp:
1930         (WebCore::BackForwardController::canGoBackOrForward):
1931         (WebCore::BackForwardController::goBackOrForward):
1932         (WebCore::BackForwardController::goBack):
1933         (WebCore::BackForwardController::goForward):
1934         (WebCore::BackForwardController::count):
1935         * page/EventHandler.cpp:
1936         (WebCore::EventHandler::defaultBackspaceEventHandler):
1937         * page/Page.cpp:
1938         * page/Page.h:
1939
1940 2014-01-24  Antti Koivisto  <antti@apple.com>
1941
1942         Update style asynchronously after style sheet load
1943         https://bugs.webkit.org/show_bug.cgi?id=127563
1944
1945         Reviewed by Andreas Kling.
1946         
1947         Since we don't attach synchronously we don't need to recalc style synchronously either.
1948
1949         * dom/Document.cpp:
1950         (WebCore::Document::didRemoveAllPendingStylesheet):
1951
1952 2014-01-24  Zalan Bujtas  <zalan@apple.com>
1953
1954         Subpixel layout: Default style of input type=checkbox/radio (0.5ex) adds 1px extra margin on both left and right.
1955         https://bugs.webkit.org/show_bug.cgi?id=125728
1956
1957         Reviewed by Simon Fraser.
1958
1959         Using the 0.5ex value to set checkbox/radio left and right margins is a long-standing
1960         (khtml) behavior. While it indicates dynamic behavior, in order to get the margins changed,
1961         the widget's font size needs to be set, which is rather rare for such input types.
1962         It also results in odd layout, where the checkbox's indentation may seem to change randomly.
1963
1964         '<input style="font-size: 30px;" type="checkbox">foo' changes neither the checkbox
1965         nor the text size, but it indents the line by about 15px.
1966
1967         Other browsers (FF, Opera with Presto) disagree and they set static margins values.
1968         2px is the current default computed value.
1969
1970         * css/html.css:
1971         (input[type="radio"], input[type="checkbox"]):
1972
1973 2014-01-24  Oliver Hunt  <oliver@apple.com>
1974
1975         Put functions need to take a base object and a this value, and perform type checks on |this|
1976         https://bugs.webkit.org/show_bug.cgi?id=127594
1977
1978         Reviewed by Geoffrey Garen.
1979
1980         Update bindings generator to emit setters with correct type, and perform
1981         type checks on |this|, instead of the baseObject.
1982
1983         Test: js/dom/dom-as-prototype-assignment-exception.html
1984
1985         * bindings/scripts/CodeGeneratorJS.pm:
1986         (GenerateHeader):
1987         (GenerateImplementation):
1988         (GenerateHashTable):
1989         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1990         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1991         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1992         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1993         * bindings/scripts/test/JS/JSTestException.cpp:
1994         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
1995         * bindings/scripts/test/JS/JSTestInterface.cpp:
1996         (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
1997         (WebCore::setJSTestInterfaceImplementsStr2):
1998         (WebCore::setJSTestInterfaceImplementsStr3):
1999         (WebCore::setJSTestInterfaceImplementsNode):
2000         (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
2001         (WebCore::setJSTestInterfaceSupplementalStr2):
2002         (WebCore::setJSTestInterfaceSupplementalStr3):
2003         (WebCore::setJSTestInterfaceSupplementalNode):
2004         * bindings/scripts/test/JS/JSTestInterface.h:
2005         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2006         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2007         * bindings/scripts/test/JS/JSTestNode.cpp:
2008         * bindings/scripts/test/JS/JSTestObj.cpp:
2009         (WebCore::setJSTestObjConstructorStaticStringAttr):
2010         (WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor):
2011         (WebCore::setJSTestObjEnumAttr):
2012         (WebCore::setJSTestObjByteAttr):
2013         (WebCore::setJSTestObjOctetAttr):
2014         (WebCore::setJSTestObjShortAttr):
2015         (WebCore::setJSTestObjUnsignedShortAttr):
2016         (WebCore::setJSTestObjLongAttr):
2017         (WebCore::setJSTestObjLongLongAttr):
2018         (WebCore::setJSTestObjUnsignedLongLongAttr):
2019         (WebCore::setJSTestObjStringAttr):
2020         (WebCore::setJSTestObjTestObjAttr):
2021         (WebCore::setJSTestObjXMLObjAttr):
2022         (WebCore::setJSTestObjCreate):
2023         (WebCore::setJSTestObjReflectedStringAttr):
2024         (WebCore::setJSTestObjReflectedIntegralAttr):
2025         (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
2026         (WebCore::setJSTestObjReflectedBooleanAttr):
2027         (WebCore::setJSTestObjReflectedURLAttr):
2028         (WebCore::setJSTestObjReflectedCustomIntegralAttr):
2029         (WebCore::setJSTestObjReflectedCustomBooleanAttr):
2030         (WebCore::setJSTestObjReflectedCustomURLAttr):
2031         (WebCore::setJSTestObjTypedArrayAttr):
2032         (WebCore::setJSTestObjAttrWithGetterException):
2033         (WebCore::setJSTestObjAttrWithSetterException):
2034         (WebCore::setJSTestObjStringAttrWithGetterException):
2035         (WebCore::setJSTestObjStringAttrWithSetterException):
2036         (WebCore::setJSTestObjCustomAttr):
2037         (WebCore::setJSTestObjWithScriptStateAttribute):
2038         (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
2039         (WebCore::setJSTestObjWithScriptStateAttributeRaises):
2040         (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
2041         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
2042         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
2043         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
2044         (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
2045         (WebCore::setJSTestObjConditionalAttr1):
2046         (WebCore::setJSTestObjConditionalAttr2):
2047         (WebCore::setJSTestObjConditionalAttr3):
2048         (WebCore::setJSTestObjConditionalAttr4Constructor):
2049         (WebCore::setJSTestObjConditionalAttr5Constructor):
2050         (WebCore::setJSTestObjConditionalAttr6Constructor):
2051         (WebCore::setJSTestObjAnyAttribute):
2052         (WebCore::setJSTestObjMutablePoint):
2053         (WebCore::setJSTestObjImmutablePoint):
2054         (WebCore::setJSTestObjStrawberry):
2055         (WebCore::setJSTestObjStrictFloat):
2056         (WebCore::setJSTestObjId):
2057         (WebCore::setJSTestObjReplaceableAttribute):
2058         (WebCore::setJSTestObjNullableLongSettableAttribute):
2059         (WebCore::setJSTestObjNullableStringValue):
2060         (WebCore::setJSTestObjAttributeWithReservedEnumType):
2061         * bindings/scripts/test/JS/JSTestObj.h:
2062         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2063         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2064         (WebCore::setJSTestSerializedScriptValueInterfaceValue):
2065         (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
2066         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2067         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2068         (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
2069         (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
2070         (WebCore::setJSTestTypedefsAttrWithGetterException):
2071         (WebCore::setJSTestTypedefsAttrWithSetterException):
2072         (WebCore::setJSTestTypedefsStringAttrWithGetterException):
2073         (WebCore::setJSTestTypedefsStringAttrWithSetterException):
2074         * bindings/scripts/test/JS/JSTestTypedefs.h:
2075         * bindings/scripts/test/JS/JSattribute.cpp:
2076         * bindings/scripts/test/JS/JSreadonly.cpp:
2077
2078 2014-01-24  Oliver Hunt  <oliver@apple.com>
2079
2080         Generic JSObject::put should handle static properties in the classinfo hierarchy
2081         https://bugs.webkit.org/show_bug.cgi?id=127523
2082
2083         Reviewed by Geoffrey Garen.
2084
2085         Update the bindings generator to emit the flag indicating the presence
2086         of setters, and remove the many (now unnecessary) put overrides.
2087         Tested with run-jsc-benchmarks and shows neutral performance. A few of the
2088         micro benchmarks actually get a significant performance increase which
2089         is nice.
2090
2091         * bindings/js/JSDOMWindowCustom.cpp:
2092         (WebCore::JSDOMWindow::put):
2093             We still need a custom call to lookupPut here in order
2094             to get the magic security semantics of the window object.
2095         * bindings/scripts/CodeGeneratorJS.pm:
2096         (hashTableAccessor):
2097         (prototypeHashTableAccessor):
2098         (constructorHashTableAccessor):
2099         (GenerateImplementation):
2100         (GenerateHashTable):
2101         (GenerateConstructorHelperMethods):
2102
2103         * bindings/js/JSDOMWindowCustom.cpp:
2104         (WebCore::JSDOMWindow::put):
2105         * bindings/scripts/CodeGeneratorJS.pm:
2106         (hashTableAccessor):
2107         (prototypeHashTableAccessor):
2108         (constructorHashTableAccessor):
2109         (InstanceOverridesPutImplementation):
2110         (InstanceOverridesPutDeclaration):
2111         (GenerateHeader):
2112         (GenerateImplementation):
2113         (GenerateHashTable):
2114         (GenerateConstructorHelperMethods):
2115         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2116         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2117         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2118         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2119         * bindings/scripts/test/JS/JSTestException.cpp:
2120         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
2121         * bindings/scripts/test/JS/JSTestInterface.cpp:
2122         (WebCore::JSTestInterface::put):
2123         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2124         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2125         * bindings/scripts/test/JS/JSTestNode.cpp:
2126         * bindings/scripts/test/JS/JSTestObj.cpp:
2127         * bindings/scripts/test/JS/JSTestObj.h:
2128         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2129         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2130         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2131         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2132         * bindings/scripts/test/JS/JSTestTypedefs.h:
2133         * bindings/scripts/test/JS/JSattribute.cpp:
2134         * bindings/scripts/test/JS/JSreadonly.cpp:
2135         * html/canvas/WebGLRenderingContext.idl:
2136           Remove bogus attribute, as it has never been in the spec and should not
2137           have been added.
2138
2139 2014-01-24  Commit Queue  <commit-queue@webkit.org>
2140
2141         Unreviewed, rolling out r162713.
2142         http://trac.webkit.org/changeset/162713
2143         https://bugs.webkit.org/show_bug.cgi?id=127593
2144
2145         broke media/network-no-source-const-shadow (Requested by
2146         thorton on #webkit).
2147
2148         * bindings/js/JSDOMWindowCustom.cpp:
2149         (WebCore::JSDOMWindow::put):
2150         * bindings/scripts/CodeGeneratorJS.pm:
2151         (hashTableAccessor):
2152         (prototypeHashTableAccessor):
2153         (constructorHashTableAccessor):
2154         (GenerateHeader):
2155         (GenerateImplementation):
2156         (GenerateHashTable):
2157         (GenerateConstructorHelperMethods):
2158         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2159         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2160         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2161         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2162         * bindings/scripts/test/JS/JSTestException.cpp:
2163         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
2164         * bindings/scripts/test/JS/JSTestInterface.cpp:
2165         (WebCore::JSTestInterface::put):
2166         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2167         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2168         * bindings/scripts/test/JS/JSTestNode.cpp:
2169         * bindings/scripts/test/JS/JSTestObj.cpp:
2170         (WebCore::JSTestObj::put):
2171         * bindings/scripts/test/JS/JSTestObj.h:
2172         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2173         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2174         (WebCore::JSTestSerializedScriptValueInterface::put):
2175         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2176         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2177         (WebCore::JSTestTypedefs::put):
2178         * bindings/scripts/test/JS/JSTestTypedefs.h:
2179         * bindings/scripts/test/JS/JSattribute.cpp:
2180         * bindings/scripts/test/JS/JSreadonly.cpp:
2181         * html/canvas/WebGLRenderingContext.idl:
2182
2183 2014-01-24  Zalan Bujtas  <zalan@apple.com>
2184
2185         Replace LayoutUnit() calls to a more descriptive LayoutUnit::fromPixel(int).
2186         https://bugs.webkit.org/show_bug.cgi?id=127580
2187
2188         Reviewed by Simon Fraser.
2189
2190         LayoutUnit(1) statement is ambiguous. While it is intended to set one (CSS) pixel, it
2191         could be interpreted as 1 layout unit (1/64th of a CSS pixel atm).
2192
2193         No change in behavior.
2194
2195         * inspector/InspectorOverlay.cpp:
2196         (WebCore::buildObjectForRegionHighlight):
2197         * rendering/FloatingObjects.cpp:
2198         (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatTypeValue>::heightRemaining):
2199         * rendering/RenderBlock.cpp:
2200         (WebCore::RenderBlock::layoutShapeInsideInfo):
2201         * rendering/RenderBlockFlow.cpp:
2202         (WebCore::RenderBlockFlow::collapseMargins):
2203         * rendering/RenderFlexibleBox.cpp:
2204         (WebCore::RenderFlexibleBox::mainAxisContentExtent):
2205         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
2206         (WebCore::RenderFlexibleBox::alignChildren):
2207         * rendering/RenderMultiColumnFlowThread.cpp:
2208         (WebCore::RenderMultiColumnFlowThread::addForcedRegionBreak):
2209         * rendering/RenderMultiColumnSet.cpp:
2210         (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
2211         (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
2212
2213 2014-01-24  Simon Fraser  <simon.fraser@apple.com>
2214
2215         Prepare scrolling tree to handle > 1 scrolling node
2216         https://bugs.webkit.org/show_bug.cgi?id=127590
2217
2218         Reviewed by Tim Horton.
2219
2220         Clean up the code path called after the ScrollingTree has scrolled a node,
2221         to prepare for multiple scrolling nodes.
2222         
2223         Change "updateMainFrameScrollPosition" terminology to "updateScrollPositionAfterAsyncScroll",
2224         and pass along the ScrollingNodeID that scrolled.
2225         
2226         Move updateMainFrameScrollPosition-related code from ScrollingCoordinator to
2227         AsyncScrollingCoordinator, since this sync-up is only necessary when doing
2228         async scrolling.
2229
2230         * WebCore.exp.in:
2231         * page/scrolling/AsyncScrollingCoordinator.cpp:
2232         (WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
2233         (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
2234         (WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll):
2235         (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScrollTimerFired):
2236         (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
2237         * page/scrolling/AsyncScrollingCoordinator.h:
2238         (WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::ScheduledScrollUpdate):
2239         (WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::matchesUpdateType):
2240         Package up the data related to a scheduled scroll into a ScheduledScrollUpdate struct,
2241         for easier comparison and cleaner code.
2242         * page/scrolling/ScrollingCoordinator.cpp:
2243         (WebCore::ScrollingCoordinator::ScrollingCoordinator):
2244         * page/scrolling/ScrollingCoordinator.h:
2245         * page/scrolling/ScrollingTree.h:
2246         * page/scrolling/ThreadedScrollingTree.cpp:
2247         (WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
2248         * page/scrolling/ThreadedScrollingTree.h:
2249         * page/scrolling/ios/ScrollingTreeIOS.cpp:
2250         (WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll):
2251         * page/scrolling/ios/ScrollingTreeIOS.h:
2252         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
2253         (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPositionWithoutContentEdgeConstraints):
2254         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
2255         (WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
2256
2257 2014-01-24  Mark Lam  <mark.lam@apple.com>
2258
2259         ASSERT(!m_markedSpace.m_currentDelayedReleaseScope) reloading page in inspector.
2260         <https://webkit.org/b/127582>
2261
2262         Reviewed by Mark Hahnenberg.
2263
2264         No new tests.
2265
2266         * bindings/js/ScriptController.cpp:
2267         (WebCore::ScriptController::attachDebugger):
2268         * bindings/js/WorkerScriptController.cpp:
2269         (WebCore::WorkerScriptController::detachDebugger):
2270         - Adding reasons for detaching a globalObject from the debugger.
2271
2272 2014-01-24  Zalan Bujtas  <zalan@apple.com>
2273
2274         Subpixel rendering: Make PaintInfo layout unit aware.
2275         https://bugs.webkit.org/show_bug.cgi?id=127562
2276
2277         Reviewed by Simon Fraser.
2278
2279         Replace PaintInfo's IntRect with LayoutRect to be able to render to
2280         subpixel positions.
2281
2282         No functional changes.
2283
2284         * platform/graphics/LayoutRect.h:
2285         * rendering/PaintInfo.h:
2286         (WebCore::PaintInfo::PaintInfo):
2287         (WebCore::PaintInfo::applyTransform):
2288         * rendering/RenderBlock.cpp:
2289         (WebCore::RenderBlock::paint):
2290         * rendering/RenderBoxModelObject.cpp:
2291         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2292         * rendering/RenderLayer.cpp:
2293         (WebCore::cornerRect):
2294         (WebCore::RenderLayer::scrollCornerRect):
2295         (WebCore::resizerCornerRect):
2296         (WebCore::RenderLayer::scrollCornerAndResizerRect):
2297         (WebCore::RenderLayer::horizontalScrollbarStart):
2298         (WebCore::RenderLayer::drawPlatformResizerImage):
2299         (WebCore::RenderLayer::paintResizer):
2300         (WebCore::RenderLayer::hitTestOverflowControls):
2301         * rendering/RenderLayer.h:
2302         * rendering/RenderLayerBacking.cpp:
2303         (WebCore::RenderLayerBacking::paintContents):
2304         * rendering/RenderListBox.cpp:
2305         (WebCore::RenderListBox::paintScrollbar):
2306         * rendering/RenderWidget.cpp:
2307         (WebCore::RenderWidget::paintContents):
2308         * rendering/mathml/RenderMathMLOperator.cpp:
2309         (WebCore::RenderMathMLOperator::fillWithExtensionGlyph):
2310         * rendering/svg/SVGRenderingContext.h:
2311
2312 2014-01-24  Simon Fraser  <simon.fraser@apple.com>
2313
2314         #ifdef out handleWheelEventPhase for iOS
2315         https://bugs.webkit.org/show_bug.cgi?id=127583
2316
2317         Reviewed by Tim Horton.
2318
2319         handleWheelEventPhase() doesn't make any sense for iOS, which
2320         has no wheel events.
2321
2322         * page/scrolling/ScrollingTree.h:
2323         * page/scrolling/ThreadedScrollingTree.cpp:
2324         * page/scrolling/ThreadedScrollingTree.h:
2325         * page/scrolling/ios/ScrollingTreeIOS.h:
2326
2327 2014-01-24  David Hyatt  <hyatt@apple.com>
2328
2329         [New Multicolumn] Don't destroy all the renderers when a multi-column block stops being multi-column (and vice versa)
2330         https://bugs.webkit.org/show_bug.cgi?id=127584
2331
2332         Make the logic for when you need columns and when you don't shared between the
2333         old multi-column code and the new multi-column code. Make sure that the flow thread
2334         and sets get created lazily and destroyed on-demand when whether or not we should
2335         have multiple columns changes.
2336
2337         Reviewed by Beth Dakin.
2338
2339         * rendering/RenderBlock.cpp:
2340         (WebCore::RenderBlock::updateLogicalWidthAndColumnWidth):
2341         No longer virtual. The new column code now uses this function too.
2342
2343         (WebCore::RenderBlock::availableLogicalWidth):
2344         Renamed desiredColumnWidth() to computedColumnWidth().
2345
2346         (WebCore::RenderBlock::computeColumnCountAndWidth):
2347         Renamed calcColumnWidth to computeColumnCountAndWidth.
2348
2349         (WebCore::RenderBlock::setComputedColumnCountAndWidth):
2350         Rename setDesiredColumnCountAndWidth to computed.
2351
2352         (WebCore::RenderBlock::computedColumnWidth):
2353         (WebCore::RenderBlock::computedColumnCount):
2354         Renamed desiredColumnWidth/Count to computedColumnWidth/Count and made them virtual.
2355
2356         (WebCore::RenderBlock::updateFirstLetterStyle):
2357         desired -> computed rename.
2358
2359         * rendering/RenderBlock.h:
2360         Renames and made a few functions virtual so that RenderBlockFlow can override.
2361
2362         * rendering/RenderBlockFlow.cpp:
2363         (WebCore::RenderBlockFlow::RenderBlockFlow):
2364         Don't create the flow thread at construction time any longer.
2365
2366         (WebCore::RenderBlockFlow::createMultiColumnFlowThread):
2367         (WebCore::RenderBlockFlow::destroyMultiColumnFlowThread):
2368         The methods to create and destroy flow threads. These work at any time now and will
2369         fix up the render tree accordingly.
2370
2371         (WebCore::RenderBlockFlow::setComputedColumnCountAndWidth):
2372         Virtual override that creates/destroys the new multi-column information as needed.
2373
2374         (WebCore::RenderBlockFlow::computedColumnWidth):
2375         (WebCore::RenderBlockFlow::computedColumnCount):
2376         Overrides to return the cached column width and count from the flow thread.
2377
2378         * rendering/RenderBlockFlow.h:
2379         Has overrides of the virtual functions needed to turn multi-column state on/off and
2380         to hand back computed count/width information.
2381
2382         * rendering/RenderMultiColumnFlowThread.cpp:
2383         * rendering/RenderMultiColumnFlowThread.h:
2384         Removed the algorithm to compute column count and width, since this has been combined
2385         with the old multi-column layout code.
2386
2387         * rendering/RenderView.cpp:
2388         (WebCore::RenderView::computeColumnCountAndWidth):
2389         Renamed desired -> computed.
2390
2391         * rendering/RenderView.h:
2392         Renamed desired -> computed.
2393
2394         * style/StyleResolveTree.cpp:
2395         (WebCore::Style::determineChange):
2396         (WebCore::Style::resolveLocal):
2397         (WebCore::Style::resolveTree):
2398         * style/StyleResolveTree.h:
2399         The Settings argument is no longer needed now that we don't destroy and re-create
2400         the renderer for a block flow if it stops being (or becomes) multi-column.
2401
2402 2014-01-24  Anders Carlsson  <andersca@apple.com>
2403
2404         Fix 32-bit build.
2405
2406         * WebCore.exp.in:
2407
2408 2014-01-24  Brent Fulgham  <bfulgham@apple.com>
2409
2410         [Win] Convert some NMake files to MSBuild project files
2411         https://bugs.webkit.org/show_bug.cgi?id=127579
2412
2413         Reviewed by Tim Horton.
2414
2415         * WebCore.vcxproj/WebCore.make: Removed.
2416         * WebCore.vcxproj/WebCore.proj: Added.
2417
2418 2014-01-24  Joseph Pecoraro  <pecoraro@apple.com>
2419
2420         fast/profiler tests ASSERTing after moving recompileAllJSFunctions off a timer
2421         https://bugs.webkit.org/show_bug.cgi?id=127566
2422
2423         Reviewed by Oliver Hunt.
2424
2425         Covered by existing tests.
2426
2427         * testing/Internals.cpp:
2428         (WebCore::Internals::closeDummyInspectorFrontend):
2429         Now that we don't have to fake that this is a page being destroyed to
2430         avoid recompilation. Use the InspectorDestroyed reason.
2431
2432 2014-01-24  Anders Carlsson  <andersca@apple.com>
2433
2434         Get rid of monotonicallyIncreasingTimeMS and start using std::chrono instead
2435         https://bugs.webkit.org/show_bug.cgi?id=127571
2436
2437         Reviewed by Antti Koivisto.
2438
2439         WebCore.exp.in:
2440         Update symbols.
2441
2442         * dom/Document.cpp:
2443         (WebCore::Document::Document):
2444         (WebCore::Document::implicitClose):
2445         (WebCore::Document::setParsing):
2446         (WebCore::Document::isLayoutTimerActive):
2447         (WebCore::Document::minimumLayoutDelay):
2448         (WebCore::Document::elapsedTime):
2449         (WebCore::Document::write):
2450         (WebCore::Document::styleResolverChanged):
2451         * dom/Document.h:
2452         Use std::chrono instead of doubles for the times and durations.
2453
2454         * fileapi/FileReader.cpp:
2455         (WebCore::FileReader::FileReader):
2456         (WebCore::FileReader::didReceiveData):
2457         * fileapi/FileReader.h:
2458         Switch over to std::chrono.
2459
2460         * page/FrameView.cpp:
2461         (WebCore::FrameView::layout):
2462         (WebCore::FrameView::layoutTimerFired):
2463         (WebCore::FrameView::scheduleRelayout):
2464         (WebCore::FrameView::scheduleRelayoutOfSubtree):
2465         Update for Document::elapsedTime() changes.
2466
2467         * page/Settings.cpp:
2468         (WebCore::Settings::setLayoutInterval):
2469         * page/Settings.h:
2470         (WebCore::Settings::layoutInterval):
2471         Change layoutInterval to be std::chrono::milliseconds instead of int.
2472
2473         * platform/Timer.h:
2474         (WebCore::TimerBase::startOneShot):
2475         Add an overload that takes std::chrono::milliseconds.
2476
2477 2014-01-24  Oliver Hunt  <oliver@apple.com>
2478
2479         Generic JSObject::put should handle static properties in the classinfo hierarchy
2480         https://bugs.webkit.org/show_bug.cgi?id=127523
2481
2482         Reviewed by Geoffrey Garen.
2483
2484         Update the bindings generator to emit the flag indicating the presence
2485         of setters, and remove the many (now unnecessary) put overrides.
2486         Tested with run-jsc-benchmarks and shows neutral performance. A few of the
2487         micro benchmarks actually get a significant performance increase which
2488         is nice.
2489
2490         * bindings/js/JSDOMWindowCustom.cpp:
2491         (WebCore::JSDOMWindow::put):
2492             We still need a custom call to lookupPut here in order
2493             to get the magic security semantics of the window object.
2494         * bindings/scripts/CodeGeneratorJS.pm:
2495         (hashTableAccessor):
2496         (prototypeHashTableAccessor):
2497         (constructorHashTableAccessor):
2498         (GenerateImplementation):
2499         (GenerateHashTable):
2500         (GenerateConstructorHelperMethods):
2501
2502         * bindings/js/JSDOMWindowCustom.cpp:
2503         (WebCore::JSDOMWindow::put):
2504         * bindings/scripts/CodeGeneratorJS.pm:
2505         (hashTableAccessor):
2506         (prototypeHashTableAccessor):
2507         (constructorHashTableAccessor):
2508         (InstanceOverridesPutImplementation):
2509         (InstanceOverridesPutDeclaration):
2510         (GenerateHeader):
2511         (GenerateImplementation):
2512         (GenerateHashTable):
2513         (GenerateConstructorHelperMethods):
2514         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2515         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2516         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2517         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2518         * bindings/scripts/test/JS/JSTestException.cpp:
2519         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
2520         * bindings/scripts/test/JS/JSTestInterface.cpp:
2521         (WebCore::JSTestInterface::put):
2522         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2523         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2524         * bindings/scripts/test/JS/JSTestNode.cpp:
2525         * bindings/scripts/test/JS/JSTestObj.cpp:
2526         * bindings/scripts/test/JS/JSTestObj.h:
2527         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2528         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2529         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2530         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2531         * bindings/scripts/test/JS/JSTestTypedefs.h:
2532         * bindings/scripts/test/JS/JSattribute.cpp:
2533         * bindings/scripts/test/JS/JSreadonly.cpp:
2534         * html/canvas/WebGLRenderingContext.idl:
2535           Remove bogus attribute, as it has never been in the spec and should not
2536           have been added.
2537
2538 2014-01-24  David Hyatt  <hyatt@apple.com>
2539
2540         [New Multicolumn] Eliminate RenderMultiColumnBlock
2541         https://bugs.webkit.org/show_bug.cgi?id=127565
2542
2543         Reviewed by Antti Koivisto.
2544
2545         This patch eliminates RenderMultiColumnBlock and folds all of its remaining code
2546         back into RenderBlockFlow. This allows all block flows to support multi-column
2547         layout, including table cells, list items, and the RenderView itself.
2548
2549         * CMakeLists.txt:
2550         * WebCore.order:
2551         * WebCore.vcxproj/WebCore.vcxproj:
2552         * WebCore.vcxproj/WebCore.vcxproj.filters:
2553         * WebCore.xcodeproj/project.pbxproj:
2554         Remove RenderMultiColumnBlock from the makefiles.
2555
2556         * rendering/RenderBlock.cpp:
2557         (WebCore::RenderBlock::adjustIntrinsicLogicalWidthsForColumns):
2558         Tweak the comment, since it was no longer accurate.
2559
2560         * rendering/RenderBlock.h:
2561         Move some functions down into RenderBlockFlow.
2562
2563         * rendering/RenderBlockFlow.cpp:
2564         (WebCore::RenderBlockFlow::RenderBlockFlow):
2565         (WebCore::RenderBlockFlow::createMultiColumnFlowThreadIfNeeded):
2566         (WebCore::RenderBlockFlow::styleDidChange):
2567         (WebCore::RenderBlockFlow::relayoutForPagination):
2568         (WebCore::RenderBlockFlow::layoutSpecialExcludedChild):
2569         (WebCore::RenderBlockFlow::updateLogicalWidthAndColumnWidth):
2570         (WebCore::RenderBlockFlow::addChild):
2571         (WebCore::RenderBlockFlow::checkForPaginationLogicalHeightChange):
2572          * rendering/RenderBlockFlow.h:
2573          Move a bunch of functions from RenderMultiColumnBlock up into RenderBlockFlow.
2574
2575         * rendering/RenderBox.cpp:
2576         (WebCore::RenderBox::isUnsplittableForPagination):
2577         Calls isMultiColumnBlockFlow() now instead of testing for a specific renderer type.
2578
2579         * rendering/RenderElement.cpp:
2580         (WebCore::RenderElement::createFor):
2581         Remove the multicolumn block creation code, since we always make a block flow now.
2582
2583         * rendering/RenderMultiColumnBlock.cpp: Removed.
2584         * rendering/RenderMultiColumnBlock.h: Removed.
2585         Nuke the files.
2586
2587         * rendering/RenderMultiColumnFlowThread.cpp:
2588         (WebCore::RenderMultiColumnFlowThread::initialLogicalWidth):
2589         (WebCore::RenderMultiColumnFlowThread::autoGenerateRegionsToBlockOffset):
2590         * rendering/RenderMultiColumnSet.cpp:
2591         (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
2592         (WebCore::RenderMultiColumnSet::addForcedBreak):
2593         (WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
2594         (WebCore::RenderMultiColumnSet::updateLogicalWidth):
2595         (WebCore::RenderMultiColumnSet::prepareForLayout):
2596         (WebCore::RenderMultiColumnSet::columnGap):
2597         (WebCore::RenderMultiColumnSet::paintColumnRules):
2598         Change all of the functions in the multicolumnset and multicolumnflowthread classes
2599         to cast the parent to a RenderBlockFlow now instead of a RenderMultiColumnBlock.
2600         Change the code to call through to multiColumnFlowThread() for column-specific information
2601         for that parent block.
2602
2603         * rendering/RenderObject.h:
2604         (WebCore::RenderObject::isMultiColumnBlockFlow):
2605         Remove isRenderMultiColumnBlock() and replace with isMultiColumnBlockFlow().
2606
2607         * rendering/RenderingAllInOne.cpp:
2608         Remove RenderMultiColumnBlock include.
2609         
2610 2014-01-24  Brady Eidson  <beidson@apple.com>
2611
2612         IDB: support createIndex/deleteIndex messaging
2613         https://bugs.webkit.org/show_bug.cgi?id=127546
2614
2615         Reviewed by Tim Horton.
2616
2617         * WebCore.exp.in: Export a needed CrossThreadCopier
2618
2619 2014-01-24  Daniel Bates  <dabates@apple.com>
2620
2621         Fix the Windows build after <http://trac.webkit.org/changeset/162704>
2622         (https://bugs.webkit.org/show_bug.cgi?id=127293)
2623
2624         Only include TargetConditionals.h when building on a Darwin-based OS.
2625         Also, check that TARGET_OS_IPHONE is defined before referencing its value
2626         since it will be undefined when building on Windows.
2627
2628         * bindings/objc/PublicDOMInterfaces.h:
2629
2630 2014-01-24  Daniel Bates  <dabates@apple.com>
2631
2632         Bindings generation tests hit an error trying to include wtf/Platform.h after r161638
2633         https://bugs.webkit.org/show_bug.cgi?id=127293
2634
2635         Reviewed by Alexey Proskuryakov.
2636
2637         Include TargetConditionals.h instead of wtf/Platform.h as the latter isn't available
2638         in the public SDK.
2639
2640         As a side effect of this change, replace usage of PLATFORM(IOS) with TARGET_OS_IPHONE.
2641
2642         * bindings/objc/PublicDOMInterfaces.h:
2643
2644 2014-01-21  David Hyatt  <hyatt@apple.com>
2645
2646         [New Multicolumn] Table cells and list items need to work as multicolumn blocks.
2647         https://bugs.webkit.org/show_bug.cgi?id=127365
2648         
2649         This patch is a first step towards eliminating RenderMultiColumnBlock and moving
2650         all its functionality into RenderBlockFlow. Doing so will allow table cells, list
2651         items and the RenderView to use the new multi-column layout.
2652         
2653         Reviewed by Simon Fraser.
2654
2655         * rendering/RenderBlockFlow.cpp:
2656         (WebCore::RenderBlockFlow::setMultiColumnFlowThread):
2657         * rendering/RenderBlockFlow.h:
2658         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
2659         (WebCore::RenderBlockFlow::multiColumnFlowThread):
2660         Add the flow thread pointer to the multi-column flow thread to RenderBlockFlow's
2661         rare data. This lets us use only one pointer in the rare data to point to an object
2662         that can hold all of the rest of the multi-column info.
2663
2664         * rendering/RenderMultiColumnBlock.cpp:
2665         (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
2666         Move the construction of the flow thread to the constructor. This ensures we
2667         never have a null flow thread and lets us avoid having to null check it for
2668         empty multi-column blocks.
2669
2670         (WebCore::RenderMultiColumnBlock::columnHeightAvailable):
2671         (WebCore::RenderMultiColumnBlock::columnWidth):
2672         (WebCore::RenderMultiColumnBlock::columnCount):
2673         (WebCore::RenderMultiColumnBlock::updateLogicalWidthAndColumnWidth):
2674         The above functions now call through to the multi-column flow thread for results.
2675
2676         (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
2677          Set the column height available on the flow thread.
2678
2679         (WebCore::RenderMultiColumnBlock::relayoutForPagination):
2680         The balancing pass and guard is in the multi-column flow thread now.
2681
2682         (WebCore::RenderMultiColumnBlock::addChild):
2683         Don't have to create the flow thread here any longer, since we do it up front
2684         in the constructor of RenderMultiColumnBlock.
2685
2686         (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
2687         Don't need the null check of the flow thread any more.
2688
2689         * rendering/RenderMultiColumnBlock.h:
2690         Change the inlined functions to not be inlined, since they need to call
2691         RenderMultiColumnFlowThread functions now.
2692
2693         * rendering/RenderMultiColumnFlowThread.cpp:
2694         (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
2695         Init the new member variables we moved here from RenderMultiColumnBlock.
2696
2697         (WebCore::RenderMultiColumnFlowThread::computeColumnCountAndWidth):
2698         Moved from RenderMultiColumnBlock.
2699
2700         * rendering/RenderMultiColumnFlowThread.h:
2701         Add public getters/setters to the member variables so that RenderMultiColumnBlock can
2702         still see them. Move the member variables here from RenderMultiColumnBlock.
2703
2704         * rendering/RenderMultiColumnSet.cpp:
2705         (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
2706         (WebCore::RenderMultiColumnSet::prepareForLayout):
2707         (WebCore::RenderMultiColumnSet::columnCount):
2708         Call through to the flow thread instead.
2709
2710 2014-01-24  Zan Dobersek  <zdobersek@igalia.com>
2711
2712         Unreviewed GTK build fix after r162663.
2713
2714         * platform/gtk/ScrollViewGtk.cpp:
2715         (WebCore::ScrollView::visibleContentRectInternal): Renamed from visibleContentRect.
2716
2717 2014-01-24  Zan Dobersek  <zdobersek@igalia.com>
2718
2719         Move HistoryItem to std::unique_ptr
2720         https://bugs.webkit.org/show_bug.cgi?id=127275
2721
2722         Reviewed by Darin Adler.
2723
2724         Replace the uses of OwnPtr and PassOwnPtr in the HistoryItem class with std::unique_ptr.
2725
2726         * history/HistoryItem.cpp:
2727         (WebCore::HistoryItem::HistoryItem):
2728         (WebCore::HistoryItem::reset):
2729         (WebCore::HistoryItem::addRedirectURL):
2730         (WebCore::HistoryItem::setRedirectURLs):
2731         * history/HistoryItem.h:
2732         * history/mac/HistoryItemMac.mm:
2733         (WebCore::HistoryItem::setTransientProperty):
2734         WebCore.exp.in: Update the symbol.
2735
2736 2014-01-23  Morten Stenshorne  <mstensho@opera.com>
2737
2738         Region based multicol: unresolvable percent height results in 1px tall multicol
2739         https://bugs.webkit.org/show_bug.cgi?id=122826
2740
2741         Reviewed by David Hyatt.
2742
2743         If a box has a percentage height, but the computed height of its
2744         containing block is auto, the computed height of the box also becomes
2745         auto. computeContentLogicalHeight() returns -1 if the height isn't
2746         resolvable, and we need to make sure that such a value doesn't
2747         constrain the height of the multicol container.
2748
2749         Tests: fast/multicol/newmulticol/unresolvable-percent-height-2.html
2750                fast/multicol/newmulticol/unresolvable-percent-height.html
2751                fast/multicol/newmulticol/unresolvable-percent-max-height-2.html
2752                fast/multicol/newmulticol/unresolvable-percent-max-height.html
2753
2754         * rendering/RenderMultiColumnSet.cpp:
2755         (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
2756         (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
2757         (WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
2758         (WebCore::RenderMultiColumnSet::prepareForLayout):
2759
2760 2014-01-23  Joseph Pecoraro  <pecoraro@apple.com>
2761
2762         Move ContentSearchUtils, ScriptBreakpoint, and ScriptDebugListener into JavaScriptCore for inspector
2763         https://bugs.webkit.org/show_bug.cgi?id=127537
2764
2765         Reviewed by Timothy Hatcher.
2766
2767           - Rename ContentSearchUtils => ContentSearchUtilities and move to JavaScriptCore.
2768           - Move ScriptBreakpoint and ScriptDebugListener to JavaScriptCore.
2769           - Move them all to namespace Inspector.
2770           - Update build files and users to the new names.
2771
2772         No change in functionality, just moving code.
2773
2774         * CMakeLists.txt:
2775         * ForwardingHeaders/inspector/ContentSearchUtilities.h: Added.
2776         * ForwardingHeaders/inspector/ScriptBreakpoint.h: Added.
2777         * ForwardingHeaders/inspector/ScriptDebugListener.h: Added.
2778         * GNUmakefile.list.am:
2779         * WebCore.vcxproj/WebCore.vcxproj:
2780         * WebCore.vcxproj/WebCore.vcxproj.filters:
2781         * WebCore.xcodeproj/project.pbxproj:
2782         * bindings/js/PageScriptDebugServer.cpp:
2783         * bindings/js/PageScriptDebugServer.h:
2784         * bindings/js/ScriptDebugServer.cpp:
2785         * bindings/js/ScriptDebugServer.h:
2786         * bindings/js/WorkerScriptDebugServer.cpp:
2787         * bindings/js/WorkerScriptDebugServer.h:
2788         * inspector/InspectorAllInOne.cpp:
2789         * inspector/InspectorDebuggerAgent.cpp:
2790         (WebCore::InspectorDebuggerAgent::searchInContent):
2791         (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
2792         (WebCore::InspectorDebuggerAgent::didParseSource):
2793         * inspector/InspectorDebuggerAgent.h:
2794         * inspector/InspectorPageAgent.cpp:
2795         (WebCore::InspectorPageAgent::sourceMapURLForResource):
2796         (WebCore::InspectorPageAgent::searchInResource):
2797         (WebCore::InspectorPageAgent::searchInResources):
2798         * inspector/InspectorStyleSheet.cpp:
2799         (WebCore::buildSourceRangeObject):
2800         (WebCore::InspectorStyleSheet::lineEndings):
2801         (WebCore::InspectorStyleSheetForInlineStyle::lineEndings):
2802
2803 2014-01-23  Joseph Pecoraro  <pecoraro@apple.com>
2804
2805         Move RegularExpression into JavaScriptCore for inspector
2806         https://bugs.webkit.org/show_bug.cgi?id=127526
2807
2808         Reviewed by Geoffrey Garen.
2809
2810         Update as appropriate for the moved file and namespace
2811         change for class RegularExpression.
2812
2813         * CMakeLists.txt:
2814         * ForwardingHeaders/yarr/RegularExpression.h: Added.
2815         * GNUmakefile.list.am:
2816         * WebCore.exp.in:
2817         * WebCore.vcxproj/WebCore.vcxproj:
2818         * WebCore.vcxproj/WebCore.vcxproj.filters:
2819         * WebCore.xcodeproj/project.pbxproj:
2820         * dom/DOMImplementation.h:
2821         * html/BaseCheckableInputType.cpp:
2822         * html/BaseTextInputType.cpp:
2823         (WebCore::BaseTextInputType::patternMismatch):
2824         * html/EmailInputType.cpp:
2825         (WebCore::isValidEmailAddress):
2826         * html/InputType.cpp:
2827         * inspector/ContentSearchUtils.cpp:
2828         (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
2829         (WebCore::ContentSearchUtils::createSearchRegex):
2830         (WebCore::ContentSearchUtils::countRegularExpressionMatches):
2831         (WebCore::ContentSearchUtils::searchInTextByLines):
2832         * inspector/ContentSearchUtils.h:
2833         * inspector/InspectorDebuggerAgent.cpp:
2834         (WebCore::matches):
2835         (WebCore::InspectorDebuggerAgent::breakpointActionLog):
2836         (WebCore::InspectorDebuggerAgent::breakpointActionSound):
2837         * inspector/InspectorDebuggerAgent.h:
2838         * inspector/InspectorPageAgent.cpp:
2839         (WebCore::InspectorPageAgent::searchInResources):
2840         * inspector/InspectorPageAgent.h:
2841         * inspector/InspectorRuntimeAgent.cpp:
2842         * inspector/InspectorRuntimeAgent.h:
2843         * inspector/InspectorStyleSheet.cpp:
2844         (WebCore::selectorsFromSource):
2845         * inspector/WorkerDebuggerAgent.cpp:
2846         * page/Frame.cpp:
2847         (WebCore::createRegExpForLabels):
2848         (WebCore::Frame::searchForLabelsAboveCell):
2849         (WebCore::Frame::searchForLabelsBeforeElement):
2850         (WebCore::matchLabelsAgainstString):
2851         * page/Frame.h:
2852         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2853         (WebCore::GraphicsContext3D::getUnmangledInfoLog):
2854
2855 2014-01-23  Brady Eidson  <beidson@apple.com>
2856
2857         IDB: Support IDBObjectStore.clear()
2858         https://bugs.webkit.org/show_bug.cgi?id=127541
2859         
2860         Reviewed by Anders Carlsson.
2861
2862         The backing store should never be performing callbacks directly:
2863         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
2864         (WebCore::IDBServerConnectionLevelDB::clearObjectStore):
2865
2866         Instead, the transaction operations should do that themselves:
2867         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
2868         (WebCore::ClearObjectStoreOperation::perform):
2869         * Modules/indexeddb/IDBTransactionBackendOperations.h:
2870         (WebCore::ClearObjectStoreOperation::transaction):
2871
2872 2014-01-23  Dan Bernstein  <mitz@apple.com>
2873
2874         <rdar://problem/15875326> REGRESSION (r162257): Assertion failure (should not be reached) in CSSPreloadScanner::tokenize()
2875         https://bugs.webkit.org/show_bug.cgi?id=127540
2876
2877         Reviewed by Anders Carlsson.
2878
2879         No new tests, because I could not reproduce the bug reliably and I don’t know how to trigger
2880         it.
2881
2882         * html/parser/CSSPreloadScanner.cpp:
2883         (WebCore::CSSPreloadScanner::scan): Check for the DoneParsingImportRules before tokenizing
2884         a character, not after. This restores the logic from before r162257.
2885
2886 2014-01-23  Jer Noble  <jer.noble@apple.com>
2887
2888         [iOS] Protect against possbile deadlock by delaying video layer creation
2889         https://bugs.webkit.org/show_bug.cgi?id=127505
2890
2891         Reviewed by Eric Carlson.
2892
2893         Work around a possible deadlock on iOS when creating a media element
2894         backed by AVFoundation by delaying creation of the AVPlayerLayer.
2895         The deadlock can occur when the web thread is doing CALayer layout
2896         while taking the web thread lock, while CoreMedia is doing property
2897         access on an async thread while taking the CM lock, and each is waiting
2898         for the other's lock to be released.
2899
2900         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2901         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
2902
2903 2014-01-23  Jer Noble  <jer.noble@apple.com>
2904
2905         [MSE][Mac] Crash when reloading a page during playback
2906         https://bugs.webkit.org/show_bug.cgi?id=126903
2907
2908         Reviewed by Eric Carlson.
2909
2910         Periodic time observers added to AVSampleBufferRenderSynchronizer will execute their
2911         callback block even after being removed with -removeTimeObserver:, which is tracked by
2912         <rdar://problem/15798050>. Work around this problem by passing a WeakPtr into the block
2913         and bail early if the owning media player has been destroyed.
2914
2915         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
2916         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::createWeakPtr):
2917         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
2918         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
2919
2920 2014-01-23  ChangSeok Oh  <changseok.oh@collabora.com>
2921
2922         Dragging from inner side of video to outside causes a crash
2923         https://bugs.webkit.org/show_bug.cgi?id=126338
2924
2925         Reviewed by Jer Noble.
2926
2927         The crash happens while dragging mouse cursor through timeline control to outside
2928         of video region. This is beacause media controls are selected with the drag.
2929         The media controls disappear when mouse cursor goes outside of video though
2930         the dragging/selection proceeds. If once media controls are hidden, related element
2931         lose their renderers. However the drag is still under going. it requires shadowPseudoId
2932         of the selected controls. Untorntunately, SliderThumbElement/SliderContainerElement
2933         don't return a static value for the shadowPseudoId unlike other media controls,
2934         but they need a renderer to determine it. This is the reason of crash.
2935
2936         Test: media/media-controller-drag-crash.html
2937
2938         * html/shadow/SliderThumbElement.cpp:
2939         (WebCore::SliderThumbElement::shadowPseudoId):
2940         (WebCore::SliderContainerElement::shadowPseudoId):
2941
2942 2014-01-23  Brady Eidson  <beidson@apple.com>
2943
2944         IDB: Implement SQLite backing store 'get' support
2945         https://bugs.webkit.org/show_bug.cgi?id=127502
2946
2947         Reviewed by Tim Horton.
2948
2949         Get a KeyRange from a KeyRangeData:
2950         * Modules/indexeddb/IDBKeyRangeData.cpp:
2951         (WebCore::IDBKeyRangeData::maybeCreateIDBKeyRange):
2952         * Modules/indexeddb/IDBKeyRangeData.h:
2953
2954         Add collation function support to SQLiteDatabase:
2955         * platform/sql/SQLiteDatabase.cpp:
2956         (WebCore::destroyCollationFunction):
2957         (WebCore::callCollationFunction):
2958         (WebCore::SQLiteDatabase::setCollationFunction):
2959         (WebCore::SQLiteDatabase::removeCollationFunction):
2960         * platform/sql/SQLiteDatabase.h:
2961
2962         * WebCore.exp.in:
2963
2964 2014-01-23  Jon Honeycutt  <jhoneycutt@apple.com>
2965
2966         Assertion failure in WebCore::PseudoElement::didRecalcStyle()
2967         <https://bugs.webkit.org/show_bug.cgi?id=126761>
2968         <rdar://problem/15793540>
2969
2970         Reviewed by Andy Estes.
2971
2972         Test: fast/images/animate-list-item-image-assertion.html
2973
2974         * dom/PseudoElement.cpp:
2975         (WebCore::PseudoElement::didRecalcStyle):
2976         Check isRenderImage() rather than isImage() before casting to
2977         RenderImage.
2978
2979         * editing/ios/EditorIOS.mm:
2980         (WebCore::getImage):
2981         Ditto.
2982
2983         * editing/mac/EditorMac.mm:
2984         (WebCore::getImage):
2985         Ditto.
2986
2987         * html/HTMLImageElement.cpp:
2988         (WebCore::HTMLImageElement::parseAttribute):
2989         (WebCore::HTMLImageElement::didAttachRenderers):
2990         Ditto.
2991
2992         * loader/ImageLoader.cpp:
2993         (WebCore::ImageLoader::renderImageResource):
2994         Ditto.
2995
2996         * page/DragController.cpp:
2997         (WebCore::getCachedImage):
2998         Ditto.
2999
3000         * rendering/RenderLayerBacking.cpp:
3001         (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
3002         (WebCore::RenderLayerBacking::updateImageContents):
3003         Ditto.
3004
3005 2014-01-23  Joseph Pecoraro  <pecoraro@apple.com>
3006
3007         Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
3008         https://bugs.webkit.org/show_bug.cgi?id=127409
3009
3010         Reviewed by Geoffrey Garen.
3011
3012         Covered by existing tests.
3013
3014         * bindings/js/ScriptDebugServer.h:
3015         * bindings/js/ScriptDebugServer.cpp:
3016         (WebCore::ScriptDebugServer::ScriptDebugServer):
3017         Remove m_recompileTimer and the recompile soon function.
3018         We can just recompile immediately in all existing cases.
3019
3020         * bindings/js/PageScriptDebugServer.h:
3021         * bindings/js/PageScriptDebugServer.cpp:
3022         (WebCore::PageScriptDebugServer::addListener):
3023         (WebCore::PageScriptDebugServer::removeListener):
3024         (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
3025         (WebCore::PageScriptDebugServer::didAddFirstListener):
3026         (WebCore::PageScriptDebugServer::didRemoveLastListener):
3027         Add a "didAddFirstListener" to match "didRemoveLastListener".
3028         Only recompile functions when we attach the debugger and when
3029         we detach the last listener.
3030
3031         * bindings/js/WorkerScriptDebugServer.cpp:
3032         (WebCore::WorkerScriptDebugServer::addListener):
3033         (WebCore::WorkerScriptDebugServer::removeListener):
3034         (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
3035         Same thing. Also rearrange the functions to read better.
3036
3037         * inspector/InspectorProfilerAgent.cpp:
3038         Use the direct recompile function instead of the removed "soon" version.
3039
3040         * WebCore.exp.in:
3041         Update disconnectFrontend symbol.
3042
3043         * page/PageDebuggable.cpp:
3044         (WebCore::PageDebuggable::disconnect):
3045         * testing/Internals.cpp:
3046         (WebCore::Internals::closeDummyInspectorFrontend):
3047         * workers/WorkerMessagingProxy.cpp:
3048         (WebCore::disconnectFromWorkerGlobalScopeInspectorTask):
3049         Include an InspectorDisconnectReason when calling disconnectFrontend.
3050
3051         * inspector/InspectorDatabaseAgent.h:
3052         * inspector/InspectorDebuggerAgent.cpp:
3053         (WebCore::InspectorDebuggerAgent::disable):
3054         (WebCore::InspectorDebuggerAgent::willDestroyFrontendAndBackend):
3055         If the disconnect reason is the page will be destroyed, don't recompile when disconnecting.
3056
3057         * inspector/InspectorProfilerAgent.h:
3058         * inspector/InspectorProfilerAgent.cpp:
3059         (WebCore::InspectorProfilerAgent::enable):
3060         (WebCore::InspectorProfilerAgent::disable):
3061         (WebCore::InspectorProfilerAgent::willDestroyFrontendAndBackend):
3062         If the disconnect reason is the page will be destroyed, don't recompile when disconnecting.
3063
3064         * inspector/InspectorController.h:
3065         * inspector/InspectorController.cpp:
3066         (WebCore::InspectorController::inspectedPageDestroyed):
3067         (WebCore::InspectorController::disconnectFrontend):
3068         (WebCore::InspectorController::close):
3069         Pass different reasons for the different disconnect reasons.
3070
3071         * inspector/WorkerInspectorController.h:
3072         * inspector/WorkerInspectorController.cpp:
3073         (WebCore::WorkerInspectorController::~WorkerInspectorController):
3074         (WebCore::WorkerInspectorController::disconnectFrontend):
3075         Pass different reasons for the different disconnect reasons.
3076
3077         * inspector/InspectorApplicationCacheAgent.cpp:
3078         (WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
3079         * inspector/InspectorApplicationCacheAgent.h:
3080         * inspector/InspectorCSSAgent.cpp:
3081         (WebCore::InspectorCSSAgent::willDestroyFrontendAndBackend):
3082         * inspector/InspectorCSSAgent.h:
3083         * inspector/InspectorCanvasAgent.cpp:
3084         (WebCore::InspectorCanvasAgent::willDestroyFrontendAndBackend):
3085         * inspector/InspectorCanvasAgent.h:
3086         * inspector/InspectorConsoleAgent.cpp:
3087         (WebCore::InspectorConsoleAgent::willDestroyFrontendAndBackend):
3088         * inspector/InspectorConsoleAgent.h:
3089         * inspector/InspectorDOMAgent.cpp:
3090         (WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):
3091         * inspector/InspectorDOMAgent.h:
3092         * inspector/InspectorDOMDebuggerAgent.cpp:
3093         (WebCore::InspectorDOMDebuggerAgent::willDestroyFrontendAndBackend):
3094         * inspector/InspectorDOMDebuggerAgent.h:
3095         * inspector/InspectorDOMStorageAgent.cpp:
3096         (WebCore::InspectorDOMStorageAgent::willDestroyFrontendAndBackend):
3097         * inspector/InspectorDOMStorageAgent.h:
3098         * inspector/InspectorDatabaseAgent.cpp:
3099         (WebCore::InspectorDatabaseAgent::willDestroyFrontendAndBackend):
3100         * inspector/InspectorDebuggerAgent.h:
3101         * inspector/InspectorHeapProfilerAgent.cpp:
3102         (WebCore::InspectorHeapProfilerAgent::willDestroyFrontendAndBackend):
3103         * inspector/InspectorHeapProfilerAgent.h:
3104         * inspector/InspectorIndexedDBAgent.cpp:
3105         (WebCore::InspectorIndexedDBAgent::willDestroyFrontendAndBackend):
3106         * inspector/InspectorIndexedDBAgent.h:
3107         * inspector/InspectorInputAgent.cpp:
3108         (WebCore::InspectorInputAgent::willDestroyFrontendAndBackend):
3109         * inspector/InspectorInputAgent.h:
3110         * inspector/InspectorLayerTreeAgent.cpp:
3111         (WebCore::InspectorLayerTreeAgent::willDestroyFrontendAndBackend):
3112         * inspector/InspectorLayerTreeAgent.h:
3113         * inspector/InspectorMemoryAgent.cpp:
3114         (WebCore::InspectorMemoryAgent::willDestroyFrontendAndBackend):
3115         * inspector/InspectorMemoryAgent.h:
3116         * inspector/InspectorPageAgent.cpp:
3117         (WebCore::InspectorPageAgent::willDestroyFrontendAndBackend):
3118         * inspector/InspectorPageAgent.h:
3119         * inspector/InspectorResourceAgent.cpp:
3120         (WebCore::InspectorResourceAgent::willDestroyFrontendAndBackend):
3121         * inspector/InspectorResourceAgent.h:
3122         * inspector/InspectorTimelineAgent.cpp:
3123         (WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
3124         * inspector/InspectorTimelineAgent.h:
3125         * inspector/InspectorWorkerAgent.cpp:
3126         (WebCore::InspectorWorkerAgent::willDestroyFrontendAndBackend):
3127         * inspector/InspectorWorkerAgent.h:
3128         * inspector/PageDebuggerAgent.cpp:
3129         (WebCore::PageDebuggerAgent::disable):
3130         (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
3131         * inspector/PageDebuggerAgent.h:
3132         * inspector/PageRuntimeAgent.cpp:
3133         (WebCore::PageRuntimeAgent::willDestroyFrontendAndBackend):
3134         * inspector/PageRuntimeAgent.h:
3135         * inspector/WorkerDebuggerAgent.cpp:
3136         (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
3137         * inspector/WorkerDebuggerAgent.h:
3138         * inspector/WorkerRuntimeAgent.cpp:
3139         (WebCore::WorkerRuntimeAgent::willDestroyFrontendAndBackend):
3140         * inspector/WorkerRuntimeAgent.h:
3141         Include InspectorDisconnectReason param.
3142
3143 2014-01-23  Simon Fraser  <simon.fraser@apple.com>
3144
3145         Another Windows fix: include <algorithm> for std::min and std::max.
3146         
3147         * platform/graphics/IntSize.h:
3148
3149 2014-01-23  Simon Fraser  <simon.fraser@apple.com>
3150
3151         Try to fix Windows build.
3152
3153         * platform/win/PopupMenuWin.cpp:
3154         (WebCore::PopupMenuWin::visibleSize):
3155         * platform/win/PopupMenuWin.h:
3156
3157 2014-01-23  Simon Fraser  <simon.fraser@apple.com>
3158
3159         Make visibleContentRect() return actualVisibleContentRect() on iOS most of the time
3160         https://bugs.webkit.org/show_bug.cgi?id=127456
3161         
3162         Reviewed by Antti Koivisto.
3163         
3164         On iOS, visibleContentRect() returns the entire document rect for historical
3165         reasons, and actualVisibleContentRect() returns what visibleContentRect()
3166         returns on other platforms.
3167         
3168         In addition, actualVisibleContentRect() was returning an empty rect in WK2.
3169         
3170         Reduce the confusion of #ifdefs by making visibleContentRect() behave like
3171         actualVisibleContentRect() by default on iOS. Where it needs the old behavior,
3172         an optional parameter, LegacyIOSDocumentVisibleRect, provides this.
3173         
3174         Achieve this by having the virtual ScrollableArea::visibleContentRectInternal(),
3175         which is called by non-virtual visibleContentRect() and visibleContentRectIncludingScrollbars().
3176         
3177         Similarly clean up visibleHeight/visibleWidth functions by having visibleSize() be virtual,
3178         with non-virtual visibleHeight() and visibleWidth().
3179         
3180         ScrollableArea subclasses override visibleContentRectInternal() and visibleSize() where necessary.
3181         
3182         Mechanically change all the call sites of actualVisibleContentRect() to
3183         use visibleContentRect(), and the call sites of visibleContentRect()
3184         to visibleContentRect(..., LegacyIOSDocumentVisibleRect), adding comments
3185         where this may not be appropriate.
3186         
3187         Change callers of visibleContentRect(IncludeScrollbars...) to visibleContentRectIncludingScrollbars().
3188         
3189         Also add actualScrollPosition(), and clean up some actualScroll* call sites.
3190         
3191         No behavior change.
3192
3193         * WebCore.exp.in:
3194         * accessibility/AccessibilityObject.cpp:
3195         (WebCore::AccessibilityObject::isOnscreen):
3196         (WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):
3197         * accessibility/AccessibilityRenderObject.cpp:
3198         (WebCore::AccessibilityRenderObject::isOffScreen):
3199         * dom/Document.cpp:
3200         (WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale):
3201         (WebCore::Document::adjustFloatRectForScrollAndAbsoluteZoomAndFrameScale):
3202         * dom/MouseRelatedEvent.cpp:
3203         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
3204         * editing/Editor.cpp:
3205         (WebCore::Editor::countMatchesForText):
3206         * editing/FrameSelection.cpp:
3207         (WebCore::FrameSelection::bounds):
3208         (WebCore::FrameSelection::getClippedVisibleTextRectangles):
3209         * html/HTMLBodyElement.cpp:
3210         (WebCore::HTMLBodyElement::scrollLeft):
3211         (WebCore::HTMLBodyElement::scrollTop):
3212         * html/ImageDocument.cpp:
3213         (WebCore::ImageDocument::imageFitsInWindow):
3214         (WebCore::ImageDocument::windowSizeChanged):
3215         * inspector/InspectorOverlay.cpp:
3216         (WebCore::InspectorOverlay::update):
3217         * page/DOMWindow.cpp:
3218         (WebCore::DOMWindow::innerHeight):
3219         (WebCore::DOMWindow::innerWidth):
3220         (WebCore::DOMWindow::scrollX):
3221         (WebCore::DOMWindow::scrollY):
3222         (WebCore::DOMWindow::scrollBy):
3223         * page/FrameView.cpp:
3224         (WebCore::FrameView::calculateScrollbarModesForLayout):
3225         (WebCore::FrameView::layout):
3226         (WebCore::FrameView::scrollContentsSlowPath):
3227         (WebCore::FrameView::repaintContentRectangle):
3228         (WebCore::FrameView::sendResizeEventIfNeeded):
3229         (WebCore::FrameView::windowClipRect):
3230         (WebCore::FrameView::isScrollable):
3231         (WebCore::FrameView::paintControlTints):
3232         * page/SpatialNavigation.cpp:
3233         (WebCore::canScrollInDirection):
3234         * platform/ScrollView.cpp:
3235         (WebCore::ScrollView::unscaledVisibleContentSize):
3236         (WebCore::ScrollView::visibleContentRectInternal):
3237         (WebCore::ScrollView::updateScrollbars):
3238         (WebCore::ScrollView::paint):
3239         * platform/ScrollView.h:
3240         (WebCore::ScrollView::scrollOffset):
3241         (WebCore::ScrollView::actualScrollX):
3242         (WebCore::ScrollView::actualScrollY):
3243         (WebCore::ScrollView::actualScrollPosition):
3244         * platform/ScrollableArea.cpp:
3245         (WebCore::ScrollableArea::visibleContentRect):
3246         (WebCore::ScrollableArea::visibleContentRectIncludingScrollbars):
3247         (WebCore::ScrollableArea::visibleContentRectInternal):
3248         * platform/ScrollableArea.h:
3249         (WebCore::ScrollableArea::visibleWidth):
3250         (WebCore::ScrollableArea::visibleHeight):
3251         * platform/graphics/IntSize.h:
3252         (WebCore::IntSize::expandedTo): Drive-by cleanup.
3253         (WebCore::IntSize::shrunkTo):
3254         * platform/gtk/ScrollViewGtk.cpp:
3255         (WebCore::ScrollView::visibleContentRect):
3256         * rendering/RenderLayer.cpp:
3257         (WebCore::RenderLayer::scrollRectToVisible):
3258         (WebCore::RenderLayer::maximumScrollPosition):
3259         (WebCore::RenderLayer::visibleContentRectInternal):
3260         (WebCore::RenderLayer::hitTest):
3261         * rendering/RenderLayer.h:
3262         * rendering/RenderLayerBacking.cpp:
3263         (WebCore::RenderLayerBacking::updateCompositedBounds):
3264         * rendering/RenderListBox.cpp:
3265         * rendering/RenderListBox.h:
3266         * rendering/RenderView.cpp:
3267         (WebCore::RenderView::viewRect):
3268         (WebCore::RenderView::viewportSize):
3269
3270 2014-01-20  Myles C. Maxfield  <mmaxfield@apple.com>
3271
3272        Turn text-decoration-skip: ink on for all underlines
3273        https://bugs.webkit.org/show_bug.cgi?id=127331
3274
3275        Reviewed by Antti Koivisto.
3276
3277        No new tests are necessary because tests already exist
3278
3279        * rendering/style/RenderStyle.h:
3280
3281 2014-01-23  Hans Muller  <hmuller@adobe.com>
3282
3283         [CSS Shapes] Image valued shape size and position should conform to the spec
3284         https://bugs.webkit.org/show_bug.cgi?id=123295
3285
3286         Reviewed by Andreas Kling.
3287
3288         Implement image valued shape-outside scaling and translation per the spec,
3289         http://dev.w3.org/csswg/css-shapes/#shapes-from-image:
3290
3291         "The image is sized and positioned as if it were a replaced element whose
3292         specified width and height are the same as the element’s used content box size."
3293
3294         This change doesn't completely fulfill the spec, it's limited to image elements
3295         and shape-outside.
3296
3297         Tests: fast/shapes/shape-outside-floats/shape-outside-image-fit-001.html
3298                fast/shapes/shape-outside-floats/shape-outside-image-fit-002.html
3299                fast/shapes/shape-outside-floats/shape-outside-image-fit-003.html
3300                fast/shapes/shape-outside-floats/shape-outside-image-fit-004.html
3301
3302         * rendering/shapes/Shape.h:
3303         * rendering/shapes/Shape.cpp:
3304         (WebCore::Shape::createRasterShape):
3305         Added an imageRect parameter which specifies where the shape image is to
3306         appear relative to the content box. The imageRect implies both scaling and
3307         translation of the shape image.
3308
3309         * rendering/shapes/ShapeInfo.cpp:
3310         (WebCore::ShapeInfo<RenderType>::computedShape):
3311         (WebCore::getShapeImageRect):
3312         For replaced elements, compute the shape's imageRect with
3313         RenderReplaced::replacedContentRect().
3314
3315
3316 2014-01-23  Max Vujovic  <mvujovic@adobe.com>
3317
3318         Remove CSS Custom Filters code and tests
3319         https://bugs.webkit.org/show_bug.cgi?id=127382
3320
3321         Reviewed by Simon Fraser.
3322
3323         No new tests. Removing functionality.
3324
3325         * CMakeLists.txt:
3326         * Configurations/FeatureDefines.xcconfig:
3327         * DerivedSources.cpp:
3328         * DerivedSources.make:
3329         * GNUmakefile.list.am:
3330         * WebCore.order:
3331         * WebCore.vcxproj/WebCore.vcxproj:
3332         * WebCore.vcxproj/WebCore.vcxproj.filters:
3333         * WebCore.xcodeproj/project.pbxproj:
3334         * bindings/js/JSCSSRuleCustom.cpp:
3335         (WebCore::toJS):
3336         * bindings/js/JSCSSValueCustom.cpp:
3337         (WebCore::toJS):
3338         * bindings/objc/DOMCSS.mm:
3339         (kitClass):
3340         * css/CSSComputedStyleDeclaration.cpp:
3341         (WebCore::ComputedStyleExtractor::valueForFilter):
3342         (WebCore::ComputedStyleExtractor::propertyValue):
3343         * css/CSSComputedStyleDeclaration.h:
3344         * css/CSSGrammar.y.in:
3345         * css/CSSParser.cpp:
3346         (WebCore::CSSParserContext::CSSParserContext):
3347         (WebCore::operator==):
3348         (WebCore::CSSParser::CSSParser):
3349         (WebCore::CSSParser::parseValue):
3350         (WebCore::filterInfoForName):
3351         (WebCore::CSSParser::parseFilter):
3352         (WebCore::CSSParser::detectAtToken):
3353         * css/CSSParser.h:
3354         * css/CSSParserMode.h:
3355         * css/CSSPropertyNames.in:
3356         * css/CSSPropertySourceData.h:
3357         * css/CSSRule.h:
3358         * css/CSSRule.idl:
3359         * css/CSSValue.cpp:
3360         (WebCore::CSSValue::equals):
3361         (WebCore::CSSValue::cssText):
3362         (WebCore::CSSValue::destroy):
3363         (WebCore::CSSValue::cloneForCSSOM):
3364         * css/CSSValue.h:
3365         * css/CSSValueKeywords.in:
3366         * css/StyleResolver.cpp:
3367         (WebCore::StyleResolver::State::clear):
3368         (WebCore::StyleResolver::applyProperty):
3369         (WebCore::filterOperationForType):
3370         (WebCore::StyleResolver::createFilterOperations):
3371         (WebCore::StyleResolver::loadPendingResources):
3372         * css/StyleResolver.h:
3373         (WebCore::StyleResolver::State::State):
3374         * css/StyleRule.cpp:
3375         (WebCore::StyleRuleBase::destroy):
3376         (WebCore::StyleRuleBase::copy):
3377         (WebCore::StyleRuleBase::createCSSOMWrapper):
3378         * css/StyleRule.h:
3379         * css/StyleSheetContents.cpp:
3380         (WebCore::childRulesHaveFailedOrCanceledSubresources):
3381         * css/WebKitCSSArrayFunctionValue.cpp: Removed.
3382         * css/WebKitCSSArrayFunctionValue.h: Removed.
3383         * css/WebKitCSSFilterRule.cpp: Removed.
3384         * css/WebKitCSSFilterRule.h: Removed.
3385         * css/WebKitCSSFilterRule.idl: Removed.
3386         * css/WebKitCSSFilterValue.cpp:
3387         (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
3388         (WebCore::WebKitCSSFilterValue::customCSSText):
3389         * css/WebKitCSSFilterValue.h:
3390         * css/WebKitCSSFilterValue.idl:
3391         * css/WebKitCSSMatFunctionValue.cpp: Removed.
3392         * css/WebKitCSSMatFunctionValue.h: Removed.
3393         * css/WebKitCSSMixFunctionValue.cpp: Removed.
3394         * css/WebKitCSSMixFunctionValue.h: Removed.
3395         * css/WebKitCSSMixFunctionValue.idl: Removed.
3396         * css/WebKitCSSShaderValue.cpp: Removed.
3397         * css/WebKitCSSShaderValue.h: Removed.
3398         * loader/cache/CachedResource.cpp:
3399         (WebCore::defaultPriorityForResourceType):
3400         * loader/cache/CachedResource.h:
3401         * loader/cache/CachedResourceLoader.cpp:
3402         (WebCore::createResource):
3403         (WebCore::CachedResourceLoader::checkInsecureContent):
3404         (WebCore::CachedResourceLoader::canRequest):
3405         * loader/cache/CachedResourceLoader.h:
3406         * loader/cache/CachedShader.cpp: Removed.
3407         * loader/cache/CachedShader.h: Removed.
3408         * page/Settings.cpp:
3409         (WebCore::Settings::Settings):
3410         * page/Settings.h:
3411         * page/animation/CSSPropertyAnimation.cpp:
3412         (WebCore::blendFilter):
3413         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3414         (PlatformCALayerMac::filtersCanBeComposited):
3415         * platform/graphics/filters/CustomFilterArrayParameter.h: Removed.
3416         * platform/graphics/filters/CustomFilterColorParameter.h: Removed.
3417         * platform/graphics/filters/CustomFilterCompiledProgram.cpp: Removed.
3418         * platform/graphics/filters/CustomFilterCompiledProgram.h: Removed.
3419         * platform/graphics/filters/CustomFilterConstants.h: Removed.
3420         * platform/graphics/filters/CustomFilterGlobalContext.cpp: Removed.
3421         * platform/graphics/filters/CustomFilterGlobalContext.h: Removed.
3422         * platform/graphics/filters/CustomFilterMesh.cpp: Removed.
3423         * platform/graphics/filters/CustomFilterMesh.h: Removed.
3424         * platform/graphics/filters/CustomFilterMeshGenerator.cpp: Removed.
3425         * platform/graphics/filters/CustomFilterMeshGenerator.h: Removed.
3426         * platform/graphics/filters/CustomFilterNumberParameter.h: Removed.
3427         * platform/graphics/filters/CustomFilterOperation.cpp: Removed.
3428         * platform/graphics/filters/CustomFilterOperation.h: Removed.
3429         * platform/graphics/filters/CustomFilterParameter.h: Removed.
3430         * platform/graphics/filters/CustomFilterParameterList.cpp: Removed.
3431         * platform/graphics/filters/CustomFilterParameterList.h: Removed.
3432         * platform/graphics/filters/CustomFilterProgram.cpp: Removed.
3433         * platform/graphics/filters/CustomFilterProgram.h: Removed.
3434         * platform/graphics/filters/CustomFilterProgramClient.h: Removed.
3435         * platform/graphics/filters/CustomFilterProgramInfo.cpp: Removed.
3436         * platform/graphics/filters/CustomFilterProgramInfo.h: Removed.
3437         * platform/graphics/filters/CustomFilterRenderer.cpp: Removed.
3438         * platform/graphics/filters/CustomFilterRenderer.h: Removed.
3439         * platform/graphics/filters/CustomFilterTransformParameter.h: Removed.
3440         * platform/graphics/filters/CustomFilterValidatedProgram.cpp: Removed.
3441         * platform/graphics/filters/CustomFilterValidatedProgram.h: Removed.
3442         * platform/graphics/filters/FECustomFilter.cpp: Removed.
3443         * platform/graphics/filters/FECustomFilter.h: Removed.
3444         * platform/graphics/filters/FilterOperation.h:
3445         * platform/graphics/filters/FilterOperations.cpp:
3446         (WebCore::FilterOperations::outsets):
3447         * platform/graphics/filters/FilterOperations.h:
3448         * platform/graphics/filters/ValidatedCustomFilterOperation.cpp: Removed.
3449         * platform/graphics/filters/ValidatedCustomFilterOperation.h: Removed.
3450         * platform/graphics/filters/texmap/CustomFilterValidatedProgramTextureMapper.cpp: Removed.
3451         * platform/graphics/filters/texmap/TextureMapperPlatformCompiledProgram.h: Removed.
3452         * platform/graphics/gpu/Texture.cpp:
3453         * platform/graphics/texmap/TextureMapper.h:
3454         * platform/graphics/texmap/TextureMapperGL.cpp:
3455         (WebCore::getPassesRequiredForFilter):
3456         (WebCore::BitmapTextureGL::applyFilters):
3457         * platform/graphics/texmap/TextureMapperGL.h:
3458         * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
3459         (WebCore::CompositingCoordinator::clearPendingStateChanges):
3460         (WebCore::CompositingCoordinator::syncLayerState):
3461         * platform/graphics/texmap/coordinated/CompositingCoordinator.h:
3462         * platform/graphics/texmap/coordinated/CoordinatedCustomFilterOperation.h: Removed.
3463         * platform/graphics/texmap/coordinated/CoordinatedCustomFilterProgram.h: Removed.
3464         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
3465         (WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
3466         (WebCore::CoordinatedGraphicsScene::commitSceneState):
3467         (WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):
3468         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
3469         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
3470         * rendering/FilterEffectRenderer.cpp:
3471         (WebCore::FilterEffectRenderer::FilterEffectRenderer):
3472         (WebCore::FilterEffectRenderer::build):
3473         (WebCore::FilterEffectRenderer::computeSourceImageRectForDirtyRect):
3474         * rendering/FilterEffectRenderer.h:
3475         * rendering/RenderLayer.cpp:
3476         (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
3477         (WebCore::RenderLayer::calculateClipRects):