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