c108b977522bf1f36fe9fc73863c0de2baef3168
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-04-03  Simon Fraser  <simon.fraser@apple.com>
2
3         Pixelated WebView when display is changed from hiDPI to regularDPI
4         https://bugs.webkit.org/show_bug.cgi?id=131185
5
6         Reviewed by Tim Horton.
7
8         r166309 added a short circuit in GraphicsLayerCA::updateContentsScale()
9         when the scale didn't change. This broke layers which expected to
10         unconditionally receive a setContentsScale(), namely the WebTiledBackingLayer
11         which owns the TileController. WebTiledBackingLayer overrode -setContentsScale:
12         to pass the scale down to the TileController; however, it didn't override
13         -contentsScale, and it mucked with the scale passed in.
14         
15         Fix by having setting and fetching contentsScale on a WebTiledBackingLayer
16         work as expected. Also rename the TileController functions to mirror the
17         CALayer functions better.
18
19         * WebCore.exp.in:
20         * platform/graphics/ca/GraphicsLayerCA.cpp:
21         (WebCore::GraphicsLayerCA::updateContentsScale):
22         * platform/graphics/ca/mac/TileController.h:
23         * platform/graphics/ca/mac/TileController.mm:
24         (WebCore::TileController::TileController):
25         (WebCore::TileController::contentsScale):
26         (WebCore::TileController::setContentsScale):
27         (WebCore::TileController::scale): Deleted.
28         (WebCore::TileController::setScale): Deleted.
29         * platform/graphics/ca/mac/WebTiledBackingLayer.mm:
30         (-[WebTiledBackingLayer setContentsScale:]):
31         (-[WebTiledBackingLayer contentsScale]):
32
33 2014-04-03  Zoltan Horvath  <zoltan@webkit.org>
34
35         [CSS Shapes] LineSegment logicalLeft and logicalRight members should be floats
36         https://bugs.webkit.org/show_bug.cgi?id=116160
37
38         Reviewed by Andreas Kling. 
39
40         LineSegment edges should not have been changed to LayoutUnit. These are
41         used only as floats. I modified them back to floats. 
42
43         No new tests are needed, no behavior change.
44
45         * rendering/shapes/Shape.h:
46
47 2014-04-03  Dirk Schulze  <krit@webkit.org>
48
49         [CG] Canvas lineDashOffset does not handle negative numbers correctly
50         https://bugs.webkit.org/show_bug.cgi?id=80560
51
52         Reviewed by Dean Jackson.
53
54         CG ignores negative dash array offsets. Check if we have a negative offset, if yes
55         then calculate the length of the dash array and modulo the dash array offset with
56         the dash array length.
57
58         Test: fast/canvas/canvas-negative-lineDashOffset.html
59
60         * platform/graphics/cg/GraphicsContextCG.cpp:
61         (WebCore::GraphicsContext::setLineDash):
62
63 2014-04-03  David Hyatt  <hyatt@apple.com>
64
65         REGRESSION: fast/css/relative-positioned-block-nested-with-inline-parent-multiple-descendant-blocks-dynamic.html broken
66         https://bugs.webkit.org/show_bug.cgi?id=131183
67
68         Reviewed by Simon Fraser.
69
70         Revert the loop to continue rather than breaking when an invalid block is encountered.
71         This is what it used to do if it encountered a non-continuation block.
72
73         * rendering/RenderInline.cpp:
74         (WebCore::updateStyleOfAnonymousBlockContinuations):
75
76 2014-04-02  Simon Fraser  <simon.fraser@apple.com>
77
78         Harden FilterOperation type casting
79         https://bugs.webkit.org/show_bug.cgi?id=131142
80
81         Reviewed by Sam Weinig.
82
83         DefaultFilterOperation had an error-prone behavior where it set the base class
84         OperationType to the type of some other filter class, but overrode isDefault(). 
85         This made it very easy to write incorrect code that casted incorrectly based on type().
86         
87         Fix by making adding a DEFAULT filter operation type, and storing the represented
88         type on DefaultFilterOperation().
89         
90         Also remove the OperationType argument for constructors of FilterOperations that
91         can only be of one type, to avoid possible mistakes.
92         
93         Make the type cast macros a bit more normal, and use them in a few places.
94         
95         Fixed PlatformCAFiltersMac to handle the default filter case more cleanly.
96
97         * WebCore.exp.in:
98         * css/CSSComputedStyleDeclaration.cpp:
99         (WebCore::ComputedStyleExtractor::valueForFilter):
100         * css/StyleResolver.cpp:
101         (WebCore::StyleResolver::createFilterOperations):
102         * platform/graphics/ca/PlatformCAFilters.h:
103         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
104         (PlatformCAFilters::filterValueForOperation):
105         (PlatformCAFilters::colorMatrixValueForFilter):
106         * platform/graphics/filters/FilterOperation.cpp:
107         (WebCore::DefaultFilterOperation::operator==):
108         (WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
109         (WebCore::ReferenceFilterOperation::operator==):
110         (WebCore::BlurFilterOperation::operator==):
111         (WebCore::BlurFilterOperation::blend):
112         (WebCore::DropShadowFilterOperation::operator==):
113         (WebCore::DropShadowFilterOperation::blend):
114         * platform/graphics/filters/FilterOperation.h:
115         (WebCore::FilterOperation::blend):
116         (WebCore::FilterOperation::type):
117         (WebCore::FilterOperation::isBasicColorMatrixFilterOperation):
118         (WebCore::FilterOperation::isBasicComponentTransferFilterOperation):
119         (WebCore::FilterOperation::isSameType):
120         (WebCore::DefaultFilterOperation::create):
121         (WebCore::DefaultFilterOperation::representedType):
122         (WebCore::DefaultFilterOperation::DefaultFilterOperation):
123         (WebCore::ReferenceFilterOperation::create):
124         (WebCore::BlurFilterOperation::create):
125         (WebCore::BlurFilterOperation::BlurFilterOperation):
126         (WebCore::DropShadowFilterOperation::create):
127         (WebCore::DropShadowFilterOperation::DropShadowFilterOperation):
128         (WebCore::FilterOperation::isDefault): Deleted.
129         * platform/graphics/filters/FilterOperations.cpp:
130         (WebCore::FilterOperations::outsets):
131         * rendering/FilterEffectRenderer.cpp:
132         (WebCore::FilterEffectRenderer::build):
133         * rendering/RenderLayerFilterInfo.cpp:
134         (WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):
135
136 2014-04-03  Andreas Kling  <akling@apple.com>
137
138         Stop throwing away the Document's StyleResolver on a timer.
139         <https://webkit.org/b/131168>
140         <rdar://problem/15227045>
141
142         This was causing some unfortunate pauses when returning to idle pages
143         after a long-ish time. There's already a mechanism in place that will
144         throw these away if the system comes under memory pressure.
145
146         Reviewed by Sam Weinig.
147
148         * css/StyleResolver.cpp:
149         (WebCore::StyleResolver::styleForElement):
150         (WebCore::StyleResolver::styleForKeyframe):
151         (WebCore::StyleResolver::pseudoStyleForElement):
152         (WebCore::StyleResolver::styleForPage):
153         * dom/Document.cpp:
154         (WebCore::Document::Document):
155         (WebCore::Document::didAccessStyleResolver): Deleted.
156         (WebCore::Document::styleResolverThrowawayTimerFired): Deleted.
157         * dom/Document.h:
158
159 2014-04-02  Simon Fraser  <simon.fraser@apple.com>
160
161         Assertion under RenderLayerCompositor::updateScrollCoordinatedLayer on time.com on iOS
162         https://bugs.webkit.org/show_bug.cgi?id=131150
163
164         Reviewed by Beth Dakin.
165
166         When calling updateScrollCoordinatedLayer() under styleChanged, we haven't done
167         layout yet so our composting layers haven't been hooked together. Don't try
168         to add a zero nodeID to the map in this case.
169
170         * rendering/RenderLayerCompositor.cpp:
171         (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):
172
173 2014-04-03  David Hyatt  <hyatt@apple.com>
174
175         Continuations casting issue.
176         https://bugs.webkit.org/show_bug.cgi?id=130057
177         <rdar://problem/16283406>
178
179         Reviewed by Simon Fraser.
180
181         The code to update relative positioned anonymous block continuations should not
182         have assumed that all siblings were RenderBlocks. Make the code smarter and
183         make it bail when it hits something that isn't part of the block continuation
184         chain.
185
186         Added fast/block/continuation-crash.html
187
188         * rendering/RenderInline.cpp:
189         (WebCore::updateStyleOfAnonymousBlockContinuations):
190
191 2014-04-03  Bem Jones-Bey  <bjonesbe@adobe.com>
192
193         [CSS Shapes] CRASH with calc() value args in inset round
194         https://bugs.webkit.org/show_bug.cgi?id=129816
195
196         Reviewed by Andreas Kling.
197
198         The code to parse the inset rounded corners was adding the parser
199         value arguments to a temporary CSSParserValueList. Unfortunately,
200         CSSParserValueList expects to own the values it contains, and it frees
201         the values it contains when the list is destroyed. This was a problem
202         because the values are owned by the CSSParserValueList passed in to
203         parseInsetRoundedCorners, and thus the calc's argument list would get
204         double freed, resulting in a crash. This patch fixes this by using a
205         Vector to hold the pointers instead.
206
207         Test: fast/shapes/shape-outside-floats/shape-outside-inset-round-calc-crash.html
208
209         * css/CSSParser.cpp:
210         (WebCore::CSSParser::parseInsetRoundedCorners):
211
212 2014-04-03  Jer Noble  <jer.noble@apple.com>
213
214         Leaving a streaming movie by going "Back" keeps playing the audio
215         https://bugs.webkit.org/show_bug.cgi?id=131149
216
217         Reviewed by Eric Carlson.
218
219         When stopping a HTMLMediaElement, call userCancelledLoad() (which clears the
220         MediaPlayer) only after calling setPausedInternal() (which pauses the MediaPlayer).
221         Previously, and in the reverse order, the MediaPlayer would never get a chance to pause
222         before being cleared. There is an underlying error with the QTKit media engine which
223         is causing it to continue playing even after its last reference is released, but this
224         does fix the symptom of playback continuing even after stopping.
225
226         * html/HTMLMediaElement.cpp:
227         (WebCore::HTMLMediaElement::stop):
228
229 2014-04-03  Jer Noble  <jer.noble@apple.com>
230
231         [EME] Crash when passing a NULL initData to MediaKeys.createSession()
232         https://bugs.webkit.org/show_bug.cgi?id=131156
233
234         Reviewed by Eric Carlson.
235
236         Update the checks at the start of createSession() to match the current spec, notably
237         bailing early if the initData parameter is NULL or empty.
238
239         * Modules/encryptedmedia/MediaKeys.cpp:
240         (WebCore::MediaKeys::createSession):
241
242 2014-04-03  Eric Carlson  <eric.carlson@apple.com>
243
244         [iOS] add missing QuickTime plug-in replacement API
245         https://bugs.webkit.org/show_bug.cgi?id=131042
246
247         Reviewed by Dean Jackson.
248
249         Rename QuickTimePluginReplacement.cpp to QuickTimePluginReplacement.mm to make it possible
250         to use the ObjC JSC API.
251         * Modules/plugins/QuickTimePluginReplacement.cpp:
252         * Modules/plugins/QuickTimePluginReplacement.h:
253         (WebCore::QuickTimePluginReplacement::parentElement):
254         * Modules/plugins/QuickTimePluginReplacement.idl:
255
256         * Modules/plugins/QuickTimePluginReplacement.js:
257         (Replacement.prototype.timedMetadataUpdates): Implement.
258         (Replacement.prototype.accessLog): Ditto.
259         (Replacement.prototype.errorLog): Ditto.
260
261         Use the JSC ObjC API to create a JavaScript object from an array of AVMetadataItems. The
262         JSC ObjC API supports basic NSTypes, but an AVMetadataItem can also contain NSData which 
263         the existing plug-in returns as base-64 encoded data, so create wrappers for NSDictionary
264         and NSArray.
265         * Modules/plugins/QuickTimePluginReplacement.mm: Copied from Source/WebCore/Modules/plugins/QuickTimePluginReplacement.cpp.
266         (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): Disambiguate with "JSC::"
267         (WebCore::QuickTimePluginReplacement::installReplacement): Ditto.
268         (WebCore::jsValueWithDataInContext): Create JSValue* from NSData.
269         (WebCore::jsValueWithArrayInContext): Create JSValue* from NSArray.
270         (WebCore::jsValueWithDictionaryInContext): Create JSValue* from NSDictionary.
271         (WebCore::jsValueWithValueInContext): Create JSValue* from basic NSTypes plus AVMetadataItem
272             and NSData.
273         (WebCore::jsValueWithAVMetadataItemInContext): Create JSValue* from AVMetadataItem.
274         (WebCore::JSQuickTimePluginReplacement::timedMetaData): Script interface.
275         (WebCore::JSQuickTimePluginReplacement::accessLog): Ditto.
276         (WebCore::JSQuickTimePluginReplacement::errorLog): Ditto.
277
278         * WebCore.xcodeproj/project.pbxproj: QuickTimePluginReplacement.cpp -> QuickTimePluginReplacement.mm.
279
280         * platform/graphics/MediaPlayer.cpp:
281         (WebCore::MediaPlayer::timedMetadata): iOS only accessor.
282         (WebCore::MediaPlayer::accessLog): Ditto.
283         (WebCore::MediaPlayer::errorLog): Ditto.
284         * platform/graphics/MediaPlayer.h:
285         * platform/graphics/MediaPlayerPrivate.h:
286
287         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
288         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
289         (WebCore::MediaPlayerPrivateAVFoundationObjC::timedMetadata):
290         (WebCore::MediaPlayerPrivateAVFoundationObjC::accessLog):
291         (WebCore::MediaPlayerPrivateAVFoundationObjC::errorLog):
292         (WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive):
293         (WebCore::itemKVOProperties):
294         (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
295
296 2014-04-03  Andrei Bucur  <abucur@adobe.com>
297
298         [CSS Regions] Include region range information when printing the render tree
299         https://bugs.webkit.org/show_bug.cgi?id=131159
300
301         Reviewed by Mihnea Ovidenie.
302
303         With this change showRenderObject() will print the region range for objects inside
304         a flow thread. The format is:
305         Rs: <startRegion> Re: <endRegion>
306
307         Because this can be called anytime during debugging, it's necessary to disable the
308         current flow thread caching to prevent using the wrong flow thread for an object.
309
310         Tests: No new tests, no functional change.
311
312         * rendering/RenderFlowThread.cpp:
313         (WebCore::CurrentRenderFlowThreadDisabler::CurrentRenderFlowThreadDisabler):
314         (WebCore::CurrentRenderFlowThreadDisabler::~CurrentRenderFlowThreadDisabler):
315         * rendering/RenderFlowThread.h:
316         * rendering/RenderObject.cpp:
317         (WebCore::RenderObject::showRegionsInformation): Added.
318         (WebCore::RenderObject::showRenderObject):
319         * rendering/RenderObject.h:
320
321 2014-04-03  Antti Koivisto  <antti@apple.com>
322
323         RenderSnapshottedPlugIn::paint should use iterator for traversal.
324         https://bugs.webkit.org/show_bug.cgi?id=131158
325
326         Reviewed by Dean Jackson.
327
328         * rendering/RenderSnapshottedPlugIn.cpp:
329         (WebCore::RenderSnapshottedPlugIn::paint):
330
331 2014-03-27  Sergio Villar Senin  <svillar@igalia.com>
332
333         [CSS Grid Layout] <string> not allowed in grid-{area | row | column} syntax
334         https://bugs.webkit.org/show_bug.cgi?id=129713
335
336         Reviewed by Darin Adler.
337
338         Grid positioning properties no longer accept <string> values for
339         named grid lines as they did in previous versions of the specs. They
340         were first replaced by <ident> and since the beginning of 2014 they
341         should only accept <custom-ident>.
342
343         Updated the parser and the style resolver to this new syntax. Also
344         updated the tests accordingly.
345
346         Test: fast/css-grid-layout/grid-container-change-named-grid-lines-recompute-child.html
347
348         * css/CSSParser.cpp:
349         (WebCore::isValidCustomIdent): New function that checks that the
350         <custom-ident> is valid.
351         (WebCore::CSSParser::parseIntegerOrCustomIdentFromGridPosition):
352         (WebCore::CSSParser::parseGridPosition):
353         (WebCore::CSSParser::parseIntegerOrStringFromGridPosition):
354         Replaced by WebCore::CSSParser::parseIntegerOrCustomIdentFromGridPosition.
355         * css/CSSParser.h:
356         * css/StyleResolver.cpp:
357         (WebCore::createGridPosition):
358
359 2014-04-03  Antti Koivisto  <antti@apple.com>
360
361         Crash after mutating after pseudo style
362         https://bugs.webkit.org/show_bug.cgi?id=130881
363
364         Reviewed by Andreas Kling.
365
366         Test: fast/css/pseudo-after-crash.html
367
368         * style/StyleResolveTree.cpp:
369         (WebCore::Style::updateBeforeOrAfterPseudoElement):
370         
371             Invalidate the cached renderer for pseudo elements too.
372     
373         (WebCore::Style::needsPseudeElement): Deleted.
374         
375             Fix spelling.
376
377 2014-04-02  Chris Fleizach  <cfleizach@apple.com>
378
379         AX: AccessibilityObject::children() returns invalid results sometimes
380         https://bugs.webkit.org/show_bug.cgi?id=130563
381
382         Reviewed by Joseph Pecoraro.
383
384         Allow the DOM inspector to handle AX objects that do not have Node equivalents
385         (e.g. anonymous renderers).
386
387         * inspector/InspectorDOMAgent.cpp:
388         (WebCore::InspectorDOMAgent::processAccessibilityChildren):
389         (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
390         * inspector/InspectorDOMAgent.h:
391
392 2014-04-02  Alexey Proskuryakov  <ap@apple.com>
393
394         Sandbox violation in NetworkProcess when uploading a bundle
395         https://bugs.webkit.org/show_bug.cgi?id=131133
396
397         Reviewed by Brady Eidson.
398
399         Track generated file ownership explicitly, so that each copy of FormData would know
400         whether to delete the file.
401
402         This part is needed to prevent asserting in FormData destructor in NetworkProcess,
403         because it doesn't delete the files. Also, some cleanup.
404
405         * WebCore.exp.in: Don't export FormData::removeGeneratedFilesIfNeeded(), WebKit2
406         doesn't need it any more.
407         * platform/network/FormData.cpp: Removed m_hasGeneratedFiles. There is no problem
408         iterating over FormDataElements to compute it, and that's more robust when FormDatas
409         are passed or stored on disk permanently.
410         Updated touched functions to use C++ iteration, and renamed "e" to "element".
411         (WebCore::FormData::encode): Keep encoding a boolean for hasGeneratedFiles, because
412         the encoded FormData can be stored persitently, and we can't change the format.
413
414         * platform/network/FormData.h: (WebCore::FormDataElement::FormDataElement):
415         Added m_ownsGeneratedFile. FormData will only delete files it owns. Since files
416         are generated immediately before form submission, it's always the FormData being
417         submitted that owns the generated files.
418
419 2014-04-02  Mihnea Ovidenie  <mihnea@adobe.com>
420
421         [CSSRegions] Use RenderStyle::hasFlowInto when needed
422         https://bugs.webkit.org/show_bug.cgi?id=131092
423
424         Reviewed by Andrei Bucur.
425
426         Add hasFlowInto() helper method on RenderStyle to be used
427         instead of directly checking the presence or absence of flowThread value.
428         No new functionality, no new tests.
429
430         * css/CSSComputedStyleDeclaration.cpp:
431         (WebCore::ComputedStyleExtractor::propertyValue):
432         * dom/Element.cpp:
433         (WebCore::Element::shouldMoveToFlowThread):
434         * rendering/style/RenderStyle.h:
435         * style/StyleResolveTree.cpp:
436         (WebCore::Style::isRendererReparented):
437
438 2014-04-02  Benjamin Poulain  <benjamin@webkit.org>
439
440         CSS JIT: the adjacent position is never reset
441         https://bugs.webkit.org/show_bug.cgi?id=131145
442
443         Reviewed by Andreas Kling.
444
445         Corresponding radar: <rdar://problem/16440036>. The backtracking action would use a tail
446         when not needed.
447
448         Test: fast/selectors/multiple-adjacent-chain-without-adjacent-tail.html
449
450         * cssjit/SelectorCompiler.cpp:
451         (WebCore::SelectorCompiler::updateChainStates):
452
453 2014-04-02  Brent Fulgham  <bfulgham@apple.com>
454
455         Speculative build fix for Windows.
456
457         * DerivedSources.make: Make sure we generate our media control
458         scripts for Apple Windows (but not WinCairo)
459
460 2014-04-02  Tim Horton  <timothy_horton@apple.com>
461
462         Fix the !USE(IOSURFACE) iOS build.
463
464         * platform/ios/MemoryPressureHandlerIOS.mm:
465         (WebCore::MemoryPressureHandler::platformReleaseMemory):
466
467 2014-04-02  Mark Rowe  <mrowe@apple.com>
468
469         <https://webkit.org/b/131136> Remove FrameLoadRequest's m_lockHistory member since it's always false.
470
471         Reviewed by Andreas Kling.
472
473         * loader/FrameLoadRequest.cpp:
474         (WebCore::FrameLoadRequest::FrameLoadRequest):
475         * loader/FrameLoadRequest.h:
476         (WebCore::FrameLoadRequest::FrameLoadRequest):
477         (WebCore::FrameLoadRequest::lockHistory): Deleted.
478         (WebCore::FrameLoadRequest::setLockHistory): Deleted.
479         * loader/FrameLoader.cpp:
480         (WebCore::FrameLoader::load): Remove an if whose body was never executed.
481
482 2014-04-02  Mark Rowe  <mrowe@apple.com>
483
484         <https://webkit.org/b/131135> Introduce LockHistory and LockBackForwardList enums to use in place of bools.
485
486         These arguments are often passed using literals at the call site, where the use of bools severely hinders
487         the readability of the code.
488
489         Reviewed by Andreas Kling.
490
491         * WebCore.exp.in:
492         * html/HTMLAnchorElement.cpp:
493         (WebCore::HTMLAnchorElement::handleClick):
494         * html/HTMLFormElement.cpp:
495         (WebCore::HTMLFormElement::submit):
496         * html/HTMLFrameElementBase.cpp:
497         (WebCore::HTMLFrameElementBase::openURL):
498         (WebCore::HTMLFrameElementBase::setLocation):
499         * html/HTMLFrameElementBase.h:
500         * inspector/InspectorFrontendClientLocal.cpp:
501         (WebCore::InspectorFrontendClientLocal::openInNewTab):
502         * inspector/InspectorPageAgent.cpp:
503         (WebCore::InspectorPageAgent::navigate):
504         * loader/FormSubmission.cpp:
505         (WebCore::FormSubmission::FormSubmission):
506         (WebCore::FormSubmission::create):
507         * loader/FormSubmission.h:
508         (WebCore::FormSubmission::lockHistory):
509         * loader/FrameLoader.cpp:
510         (WebCore::FrameLoader::changeLocation):
511         (WebCore::FrameLoader::urlSelected):
512         (WebCore::FrameLoader::loadURLIntoChildFrame):
513         (WebCore::FrameLoader::loadFrameRequest):
514         (WebCore::FrameLoader::loadURL):
515         (WebCore::FrameLoader::loadWithNavigationAction):
516         (WebCore::FrameLoader::clientRedirected):
517         (WebCore::FrameLoader::loadPostRequest):
518         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
519         (WebCore::FrameLoader::loadDifferentDocumentItem):
520         * loader/FrameLoader.h:
521         * loader/FrameLoaderTypes.h:
522         * loader/NavigationScheduler.cpp:
523         (WebCore::ScheduledNavigation::ScheduledNavigation):
524         (WebCore::ScheduledNavigation::lockHistory):
525         (WebCore::ScheduledNavigation::lockBackForwardList):
526         (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
527         (WebCore::ScheduledRedirect::ScheduledRedirect):
528         (WebCore::ScheduledLocationChange::ScheduledLocationChange):
529         (WebCore::ScheduledRefresh::ScheduledRefresh):
530         (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
531         (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
532         (WebCore::NavigationScheduler::scheduleRedirect):
533         (WebCore::NavigationScheduler::mustLockBackForwardList):
534         (WebCore::NavigationScheduler::scheduleLocationChange):
535         (WebCore::NavigationScheduler::scheduleFormSubmission):
536         * loader/NavigationScheduler.h:
537         * loader/SubframeLoader.cpp:
538         (WebCore::SubframeLoader::requestFrame):
539         (WebCore::SubframeLoader::requestObject):
540         (WebCore::SubframeLoader::loadOrRedirectSubframe):
541         * loader/SubframeLoader.h:
542         * page/ContextMenuController.cpp:
543         (WebCore::openNewWindow):
544         (WebCore::ContextMenuController::contextMenuItemSelected):
545         * page/DOMWindow.cpp:
546         (WebCore::DOMWindow::setLocation):
547         (WebCore::DOMWindow::createWindow):
548         (WebCore::DOMWindow::open):
549         * svg/SVGAElement.cpp:
550         (WebCore::SVGAElement::defaultEventHandler):
551
552 2014-04-02  Tim Horton  <timothy_horton@apple.com>
553
554         Pool IOSurfaces to help with allocation cost
555         https://bugs.webkit.org/show_bug.cgi?id=131096
556         <rdar://problem/15373942>
557
558         Reviewed by Simon Fraser.
559
560         * WebCore.exp.in:
561         * WebCore.xcodeproj/project.pbxproj:
562         
563         * platform/Timer.h:
564         (WebCore::TimerBase::startRepeating): Add a std::chrono startRepeating.
565
566         * platform/graphics/cg/IOSurfacePool.h: Added.
567         (WebCore::IOSurfacePool::CachedSurfaceDetails::CachedSurfaceDetails):
568         (WebCore::IOSurfacePool::CachedSurfaceDetails::resetLastUseTime):
569         * platform/graphics/cg/ImageBufferBackingStoreCache.cpp: Removed.
570         * platform/graphics/cg/ImageBufferBackingStoreCache.h: Removed.
571         * platform/graphics/cg/IOSurfacePool.cpp: Added.
572         (WebCore::IOSurfacePool::IOSurfacePool):
573         (WebCore::IOSurfacePool::sharedPool):
574         (WebCore::surfaceMatchesParameters):
575         (WebCore::IOSurfacePool::willAddSurface):
576         (WebCore::IOSurfacePool::didRemoveSurface):
577         (WebCore::IOSurfacePool::didUseSurfaceOfSize):
578         (WebCore::IOSurfacePool::takeSurface):
579         (WebCore::IOSurfacePool::addSurface):
580         (WebCore::IOSurfacePool::insertSurfaceIntoPool):
581         (WebCore::IOSurfacePool::setPoolSize):
582         (WebCore::IOSurfacePool::tryEvictInUseSurface):
583         (WebCore::IOSurfacePool::tryEvictOldestCachedSurface):
584         (WebCore::IOSurfacePool::evict):
585         (WebCore::IOSurfacePool::collectInUseSurfaces):
586         (WebCore::IOSurfacePool::markOlderSurfacesPurgeable):
587         (WebCore::IOSurfacePool::collectionTimerFired):
588         (WebCore::IOSurfacePool::scheduleCollectionTimer):
589         (WebCore::IOSurfacePool::discardAllSurfaces):
590         (WebCore::IOSurfacePool::showPoolStatistics):
591         Add a pool of IOSurfaces. It behaves as such:
592
593             - Keeps up to 64MB of surfaces.
594             - Keeps unused and in-use surfaces (but never gets more than 1/2 full with the latter)
595             - Marks surfaces purgeable after they've been unused for 2 seconds.
596             - Tries to move surfaces from the in-use pool to the unused pool every 500ms.
597             - Evicts in an LRU-ish fashion, interleaving eviction of the oldest
598               surfaces and the in-use surfaces (since in-use surfaces are not immediately
599               useful for the pool, but they are desirous because they were recently used).
600             - Throws everything away under memory pressure.
601
602         * platform/graphics/cocoa/IOSurface.mm:
603         (IOSurface::create):
604         Try to grab a surface from the IOSurfacePool.
605
606         * platform/ios/MemoryPressureHandlerIOS.mm:
607         (WebCore::MemoryPressureHandler::platformReleaseMemory):
608         * platform/mac/MemoryPressureHandlerMac.mm:
609         (WebCore::MemoryPressureHandler::install):
610         (WebCore::MemoryPressureHandler::platformReleaseMemory):
611         * platform/MemoryPressureHandler.cpp:
612         (WebCore::MemoryPressureHandler::platformReleaseMemory):
613         Fix some includes, and throw away all surfaces when we're under memory pressure.
614
615 2014-04-02  Stephanie Lewis  <slewis@apple.com>
616
617         Roll out http://trac.webkit.org/changeset/166144
618         <rdar://problem/16481284> PLT stops loading on news.google.com
619
620         Unreviewed rollout.
621
622         Rollout 166144 since it prevents the PLT from completing.
623
624         * dom/ContainerNode.cpp:
625         (WebCore::ContainerNode::suspendPostAttachCallbacks):
626         (WebCore::ContainerNode::resumePostAttachCallbacks):
627         (WebCore::ContainerNode::queuePostAttachCallback):
628         (WebCore::ContainerNode::postAttachCallbacksAreSuspended):
629         (WebCore::ContainerNode::dispatchPostAttachCallbacks):
630         * dom/ContainerNode.h:
631         * dom/Document.cpp:
632         (WebCore::Document::recalcStyle):
633         * dom/Element.h:
634         (WebCore::PostAttachCallbackDisabler::PostAttachCallbackDisabler):
635         (WebCore::PostAttachCallbackDisabler::~PostAttachCallbackDisabler):
636         * html/HTMLEmbedElement.cpp:
637         (WebCore::HTMLEmbedElement::parseAttribute):
638         * html/HTMLFormControlElement.cpp:
639         (WebCore::focusPostAttach):
640         (WebCore::HTMLFormControlElement::didAttachRenderers):
641         (WebCore::updateFromElementCallback):
642         (WebCore::HTMLFormControlElement::didRecalcStyle):
643         * html/HTMLFrameOwnerElement.cpp:
644         (WebCore::needsStyleRecalcCallback):
645         (WebCore::HTMLFrameOwnerElement::scheduleSetNeedsStyleRecalc):
646         * html/HTMLObjectElement.cpp:
647         (WebCore::HTMLObjectElement::parseAttribute):
648         (WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk):
649         (WebCore::HTMLObjectElement::hasValidClassId):
650         (WebCore::HTMLObjectElement::renderFallbackContent):
651         * html/HTMLObjectElement.h:
652         * html/HTMLPlugInImageElement.cpp:
653         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
654         (WebCore::HTMLPlugInImageElement::createElementRenderer):
655         (WebCore::HTMLPlugInImageElement::didAttachRenderers):
656         (WebCore::HTMLPlugInImageElement::willDetachRenderers):
657         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
658         (WebCore::HTMLPlugInImageElement::didMoveToNewDocument):
659         (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
660         (WebCore::HTMLPlugInImageElement::startLoadingImage):
661         (WebCore::HTMLPlugInImageElement::startLoadingImageCallback):
662         (WebCore::HTMLPlugInImageElement::createShadowIFrameSubtree):
663         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):
664         (WebCore::HTMLPlugInImageElement::didRecalcStyle): Deleted.
665         (WebCore::HTMLPlugInImageElement::scheduleUpdateForAfterStyleResolution): Deleted.
666         (WebCore::HTMLPlugInImageElement::updateAfterStyleResolution): Deleted.
667         (WebCore::HTMLPlugInImageElement::removedFrom): Deleted.
668         (WebCore::is100Percent): Deleted.
669         (WebCore::HTMLPlugInImageElement::setNeedsImageReload): Deleted.
670         * html/HTMLPlugInImageElement.h:
671         (WebCore::HTMLPlugInImageElement::imageLoader): Deleted.
672         (WebCore::HTMLPlugInImageElement::updateImageLoaderWithNewURLSoon): Deleted.
673         * style/StyleResolveTree.cpp:
674         (WebCore::Style::needsPseudeElement):
675         (WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):
676         (WebCore::Style::attachRenderTree):
677         (WebCore::Style::updateBeforeOrAfterPseudoElement):
678         (WebCore::Style::needsPseudoElement): Deleted.
679         (WebCore::Style::postResolutionCallbackQueue): Deleted.
680         (WebCore::Style::queuePostResolutionCallback): Deleted.
681         (WebCore::Style::suspendMemoryCacheClientCalls): Deleted.
682         (WebCore::Style::PostResolutionCallbackDisabler::PostResolutionCallbackDisabler): Deleted.
683         (WebCore::Style::PostResolutionCallbackDisabler::~PostResolutionCallbackDisabler): Deleted.
684         (WebCore::Style::postResolutionCallbacksAreSuspended): Deleted.
685         * style/StyleResolveTree.h:
686
687 2014-04-02  Jinwoo Song  <jinwoo7.song@samsung.com>
688
689         Page should use std::unique_ptr for PointerLockController
690         https://bugs.webkit.org/show_bug.cgi?id=131098
691
692         Reviewed by Anders Carlsson.
693
694         Make Page keep a std::unique_ptr to PointerLockController. Store page 
695         references and return controller references where possible.
696
697         * dom/Document.cpp:
698         (WebCore::Document::prepareForDestruction):
699         (WebCore::Document::webkitExitPointerLock):
700         (WebCore::Document::webkitPointerLockElement):
701         * dom/Element.cpp:
702         (WebCore::Element::removedFrom):
703         (WebCore::Element::webkitRequestPointerLock):
704         * page/Page.cpp:
705         (WebCore::Page::Page):
706         * page/Page.h:
707         (WebCore::Page::pointerLockController):
708         * page/PointerLockController.cpp:
709         (WebCore::PointerLockController::PointerLockController):
710         (WebCore::PointerLockController::requestPointerLock):
711         (WebCore::PointerLockController::requestPointerUnlock):
712         (WebCore::PointerLockController::create): Deleted.
713         * page/PointerLockController.h:
714
715 2014-04-02  Dean Jackson  <dino@apple.com>
716
717         Load Media Controls js/css from bundle
718         https://bugs.webkit.org/show_bug.cgi?id=131086
719
720         Followup comments from Eric Carlson.
721
722         Remove the booleans that were guarding loading the resources.
723
724         * rendering/RenderThemeIOS.h:
725         * rendering/RenderThemeIOS.mm:
726         (WebCore::RenderThemeIOS::mediaControlsStyleSheet):
727         (WebCore::RenderThemeIOS::mediaControlsScript):
728         (WebCore::RenderThemeIOS::RenderThemeIOS):
729         * rendering/RenderThemeMac.h:
730         * rendering/RenderThemeMac.mm:
731         (WebCore::RenderThemeMac::RenderThemeMac):
732         (WebCore::RenderThemeMac::mediaControlsStyleSheet):
733         (WebCore::RenderThemeMac::mediaControlsScript):
734
735 2014-04-01  Dean Jackson  <dino@apple.com>
736
737         Load Media Controls js/css from bundle
738         https://bugs.webkit.org/show_bug.cgi?id=131086
739
740         Reviewed by Eric Carlson.
741
742         Rather than embed encoded versions of the JS and CSS files
743         into C++ source, just load the files directly from the bundle.
744
745         * DerivedSources.make: Removed now unnecessary rules.
746         * WebCore.xcodeproj/project.pbxproj: Copy mediaControls files to the bundle.
747         * rendering/RenderThemeIOS.h:
748         * rendering/RenderThemeIOS.mm:
749         (WebCore::RenderThemeIOS::RenderThemeIOS):
750         (WebCore::RenderThemeIOS::mediaControlsStyleSheet): Load from the bundle.
751         (WebCore::RenderThemeIOS::mediaControlsScript): Ditto.
752         * rendering/RenderThemeMac.h:
753         * rendering/RenderThemeMac.mm:
754         (WebCore::RenderThemeMac::RenderThemeMac):
755         (WebCore::RenderThemeMac::mediaControlsStyleSheet):
756         (WebCore::RenderThemeMac::mediaControlsScript):
757
758 2014-04-02  Daniel Bates  <dabates@apple.com>
759
760         Move focus management API from HTMLDocument to Document
761         https://bugs.webkit.org/show_bug.cgi?id=131079
762         <rdar://problem/16220103>
763
764         Reviewed by Timothy Hatcher.
765
766         Merged from Blink (patch by Christophe Dumez):
767         https://src.chromium.org/viewvc/blink?view=rev&revision=165515
768
769         Move hasFocus() and attribute activeElement from interface HTMLDocument
770         to DOMDocument as per section Focus management APIs of the HTML5 standard:
771         <http://www.whatwg.org/specs/web-apps/current-work/#focus-management-apis> (1 April 2014).
772
773         Test: fast/dom/Document/xml-document-focus.xml
774
775         * bindings/objc/PublicDOMInterfaces.h: Moved hasFocus() and property activeElement from
776         interface DOMHTMLDocument to DOMDocument.
777         * dom/Document.cpp:
778         (WebCore::Document::activeElement): Added.
779         (WebCore::Document::hasFocus): Added.
780         * dom/Document.h:
781         * dom/Document.idl:
782         * html/HTMLDocument.cpp:
783         (WebCore::HTMLDocument::activeElement): Deleted.
784         (WebCore::HTMLDocument::hasFocus): Deleted.
785         * html/HTMLDocument.h:
786         * html/HTMLDocument.idl:
787
788 2014-04-02  Benjamin Poulain  <benjamin@webkit.org>
789
790         Refactor the function call generator to take the arguments by value
791         https://bugs.webkit.org/show_bug.cgi?id=131129
792
793         Reviewed by Andreas Kling.
794
795         Nothing forces the pointed address to stay alive between setOneArgument/setTwoArguments
796         and prepareAndCall.
797
798         This patch changes FunctionCall to:
799         -Keep the register by value instead of using pointers.
800         -Crash at compile time if a register is invalid.
801
802         * cssjit/FunctionCall.h:
803         (WebCore::FunctionCall::FunctionCall):
804         (WebCore::FunctionCall::setOneArgument):
805         (WebCore::FunctionCall::setTwoArguments):
806         (WebCore::FunctionCall::swapArguments):
807         (WebCore::FunctionCall::prepareAndCall):
808         * cssjit/RegisterAllocator.h:
809         (WebCore::RegisterAllocator::isValidRegister):
810
811 2014-04-02  Daniel Bates  <dabates@apple.com>
812
813         Remove Settings::maximumDecodedImageSize()
814         https://bugs.webkit.org/show_bug.cgi?id=131057
815         <rdar://problem/15626368>
816
817         Reviewed by Darin Adler.
818
819         The setting Settings::maximumDecodedImageSize() and its related logic have various
820         shortcomings, including the inability to cancel an image load when the estimated
821         decoded image size exceeds the maximum decoded image size. In the iOS port, this
822         setting is less useful given image subsampling support. For now, we remove this
823         setting and its related logic. Should it turn out that such a setting is useful
824         then we can implement it again taking care to address the shortcomings in the
825         original design.
826
827         * html/HTMLCanvasElement.cpp: For the iOS port, define MaxCanvasArea to be 4580 * 1145
828         pixels such that the maximum size of the image buffer is 20 MB (assumes 4 bytes per pixel).
829         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
830         (WebCore::HTMLCanvasElement::createImageBuffer):
831         * html/HTMLCanvasElement.h:
832         * html/canvas/CanvasRenderingContext2D.cpp:
833         (WebCore::CanvasRenderingContext2D::createImageData):
834         (WebCore::CanvasRenderingContext2D::getImageData):
835         * loader/cache/CachedImage.cpp:
836         (WebCore::CachedImage::addIncrementalDataBuffer):
837         (WebCore::CachedImage::finishLoading):
838         * loader/cache/CachedImage.h:
839         * page/Settings.in:
840
841 2014-04-02  Martin Hock  <mhock@apple.com>
842
843         Unify private browsing with sessions.
844         https://bugs.webkit.org/show_bug.cgi?id=130099
845
846         Reviewed by Alexey Proskuryakov.
847
848         Unless otherwise noted, the following consists solely of mechanical changes to replace querying WebCore::Settings::privateBrowsingEnabled() with Page::usesEphemeralSession().
849
850         * Modules/webdatabase/DatabaseContext.cpp:
851         (WebCore::DatabaseContext::allowDatabaseAccess):
852         * WebCore.exp.in: Remove Settings::setPrivateBrowsingEnabled, add Page::legacyPrivateBrowsingEnabled.
853         * html/HTMLMediaElement.cpp:
854         (WebCore::HTMLMediaElement::parseAttribute):
855         * loader/HistoryController.cpp:
856         (WebCore::HistoryController::updateForStandardLoad):
857         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
858         (WebCore::HistoryController::updateForClientRedirect):
859         (WebCore::HistoryController::updateForSameDocumentNavigation):
860         (WebCore::HistoryController::pushState):
861         (WebCore::HistoryController::replaceState):
862         * loader/appcache/ApplicationCacheGroup.cpp:
863         (WebCore::ApplicationCacheGroup::cacheForMainRequest):
864         (WebCore::ApplicationCacheGroup::selectCache):
865         (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
866         (WebCore::ApplicationCacheGroup::update):
867         * loader/appcache/ApplicationCacheHost.cpp:
868         (WebCore::ApplicationCacheHost::isApplicationCacheEnabled):
869         * loader/icon/IconController.cpp:
870         (WebCore::IconController::continueLoadWithDecision):
871         * page/Page.cpp:
872         (WebCore::Page::Page): Initialize with defaultSessionID.
873         (WebCore::Page::legacyPrivateBrowsingEnabled): Legacy setting for private browsing.
874         (WebCore::Page::privateBrowsingStateChanged): Move implementation to setSessionID.
875         (WebCore::Page::sessionID): Simplify to just return m_sessionID.
876         (WebCore::Page::setSessionID): Also perform privateBrowsingStateChanged action.a
877         (WebCore::Page::privateBrowsingStateChanged): Deleted.
878         (WebCore::Page::checkSubframeCountConsistency): Deleted.
879         * page/Page.h:
880         * page/PageConsole.cpp:
881         (WebCore::PageConsole::addMessage):
882         (WebCore::PageConsole::messageWithTypeAndLevel):
883         * page/Settings.cpp: Remove privateBrowsingEnabled setting.
884         (WebCore::Settings::Settings):
885         (WebCore::Settings::setPrivateBrowsingEnabled): Page reflects setting using session.
886         * page/Settings.h:
887         * plugins/PluginView.cpp:
888         (WebCore::PluginView::getValue):
889         * rendering/RenderSearchField.cpp:
890         (WebCore::RenderSearchField::addSearchResult):
891         * storage/Storage.cpp:
892         (WebCore::Storage::isDisabledByPrivateBrowsing):
893
894 2014-04-02  Antti Koivisto  <antti@apple.com>
895
896         Try to fix test failures.
897
898         * platform/graphics/ca/mac/TileGrid.mm:
899         (WebCore::TileGrid::TileGrid):  Initialize a field.
900
901 2014-04-02  Timothy Hatcher  <timothy@apple.com>
902
903         Remove Input domain from the Web Inspector protocol.
904
905         https://bugs.webkit.org/show_bug.cgi?id=131073
906
907         Reviewed by Joseph Pecoraro.
908
909         * CMakeLists.txt:
910         * DerivedSources.make:
911         * WebCore.vcxproj/WebCore.vcxproj:
912         * WebCore.vcxproj/WebCore.vcxproj.filters:
913         * WebCore.xcodeproj/project.pbxproj:
914         * inspector/InspectorAllInOne.cpp:
915         * inspector/InspectorController.cpp:
916         (WebCore::InspectorController::InspectorController):
917         * inspector/InspectorInputAgent.cpp: Removed.
918         * inspector/InspectorInputAgent.h: Removed.
919         * inspector/protocol/Input.json: Removed.
920
921 2014-04-02  Antti Koivisto  <antti@apple.com>
922
923         Split tile grid out from TileController
924         https://bugs.webkit.org/show_bug.cgi?id=131102
925
926         Reviewed by Simon Fraser.
927
928         Add a TileGrid class that encapsulates tiles, zoom level and the related metadata.
929         This will make it possible to have multiple grids per TileController later.
930
931 2014-03-31  Brent Fulgham  <bfulgham@apple.com>
932
933         [Win] Correct media controls for test harness
934         https://bugs.webkit.org/show_bug.cgi?id=131008 
935
936         Reviewed by Eric Carlson.
937
938         * rendering/RenderThemeSafari.cpp: Revise to match RenderThemeWin logic.
939         (WebCore::RenderThemeSafari::systemFont):
940         (WebCore::RenderThemeSafari::paintMenuList):
941         (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
942         (WebCore::RenderThemeSafari::mediaControlsStyleSheet):
943         (WebCore::RenderThemeSafari::mediaControlsScript):
944         (WebCore::RenderThemeSafari::paintMediaFullscreenButton): Deleted.
945         (WebCore::RenderThemeSafari::paintMediaMuteButton): Deleted.
946         (WebCore::RenderThemeSafari::paintMediaPlayButton): Deleted.
947         (WebCore::RenderThemeSafari::paintMediaSeekBackButton): Deleted.
948         (WebCore::RenderThemeSafari::paintMediaSeekForwardButton): Deleted.
949         (WebCore::RenderThemeSafari::paintMediaSliderTrack): Deleted.
950         (WebCore::RenderThemeSafari::paintMediaSliderThumb): Deleted.
951         * rendering/RenderThemeSafari.h:
952
953 2014-04-02  peavo@outlook.com  <peavo@outlook.com>
954
955         [WinCairo] Compile error.
956         https://bugs.webkit.org/show_bug.cgi?id=131110
957
958         Reviewed by Simon Fraser.
959
960         Image::size() now returns a FloatSize instead of an IntSize.
961
962         * platform/win/DragImageCairoWin.cpp:
963         (WebCore::createDragImageFromImage):
964
965 2014-04-02  David Kilzer  <ddkilzer@apple.com>
966
967         Use outermost containing isolate when constructing bidi runs
968         <http://webkit.org/b/131107>
969         <rdar://problem/15690021>
970
971         Reviewed by Darin Adler.
972
973         Merged from Blink (patch by jww@chromium.org):
974         https://src.chromium.org/viewvc/blink?revision=157268&view=revision
975         http://crbug.com/279277
976
977             Update containingIsolate to go back all the way to top
978             isolate from current root, rather than stopping at the first
979             isolate it finds. This works because the current root is
980             always updated with each isolate run.
981
982         Tests: fast/text/international/unicode-bidi-isolate-nested-with-removes-not-adjacent.html
983                fast/text/international/unicode-bidi-isolate-nested-with-removes.html
984
985         * rendering/InlineIterator.h:
986         (WebCore::highestContainingIsolateWithinRoot):
987         * rendering/RenderBlockLineLayout.cpp:
988         (WebCore::constructBidiRunsForSegment):
989
990 2014-04-02  Chris Fleizach  <cfleizach@apple.com>
991
992         AX: Improve ARIA live region reliability by sending notifications when live regions are created/shown and hidden/destroyed
993         https://bugs.webkit.org/show_bug.cgi?id=124381
994
995         Reviewed by Mario Sanchez Prada.
996
997         Re-organize some code so that when we detect a new node has been created, we can safely determine its live region status.
998         If it is a live region, we fire off a live region created notification.
999
1000         Test: platform/mac/accessibility/live-region-creation-notification.html
1001
1002         * accessibility/AXObjectCache.cpp:
1003         (WebCore::AXObjectCache::handleLiveRegionCreated):
1004         (WebCore::AXObjectCache::childrenChanged):
1005         (WebCore::AXObjectCache::handleAttributeChanged):
1006         * accessibility/AXObjectCache.h:
1007         (WebCore::AXObjectCache::childrenChanged):
1008         * accessibility/AccessibilityObject.cpp:
1009         (WebCore::AccessibilityObject::defaultLiveRegionStatusForRole):
1010         (WebCore::AccessibilityObject::liveRegionStatusIsEnabled):
1011         (WebCore::AccessibilityObject::supportsARIALiveRegion):
1012         * accessibility/AccessibilityObject.h:
1013         (WebCore::AccessibilityObject::ariaLiveRegionStatus):
1014         * accessibility/AccessibilityRenderObject.cpp:
1015         (WebCore::AccessibilityRenderObject::ariaLiveRegionStatus):
1016         * accessibility/AccessibilityRenderObject.h:
1017         * accessibility/ios/AXObjectCacheIOS.mm:
1018         (WebCore::AXObjectCache::postPlatformNotification):
1019         * accessibility/ios/WebAccessibilityObjectWrapperIOS.h:
1020         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1021         (-[WebAccessibilityObjectWrapper postLiveRegionCreatedNotification]):
1022         * accessibility/mac/AXObjectCacheMac.mm:
1023         (WebCore::AXObjectCache::postPlatformNotification):
1024
1025 2014-04-02  Martin Robinson  <mrobinson@igalia.com>
1026
1027         REGRESSION(r165704): [GTK] Inspector resources not correctly generated
1028         https://bugs.webkit.org/show_bug.cgi?id=130343
1029
1030         Reviewed by Gustavo Noronha Silva.
1031
1032         * CMakeLists.txt: Generate the web inspector JS file into the new WebInspectorUI derived sources
1033         directory.
1034
1035 2014-04-02  Zalan Bujtas  <zalan@apple.com>
1036
1037         Unreviewed build fix after r166642.
1038         (WinCairo should really turn subpixel layout on.)
1039
1040         * platform/graphics/LayoutSize.h:
1041         (WebCore::flooredForPainting):
1042
1043 2014-04-02  Zalan Bujtas  <zalan@apple.com>
1044
1045         Subpixel rendering: Make GraphicsContext::drawTiledImage* functions float based.
1046         https://bugs.webkit.org/show_bug.cgi?id=131062
1047
1048         Reviewed by Simon Fraser.
1049
1050         This is in preparation to support subpixel positioned/sized background images. Generated images
1051         need to be able to sized on device pixels.
1052
1053         No change in behavior.
1054
1055         * platform/graphics/GraphicsContext.cpp:
1056         (WebCore::GraphicsContext::drawImage):
1057         (WebCore::GraphicsContext::drawTiledImage):
1058         * platform/graphics/GraphicsContext.h:
1059
1060 2014-04-02  Alex Christensen  <achristensen@webkit.org>
1061
1062         [WinCairo] Build fix after r166496.
1063         https://bugs.webkit.org/show_bug.cgi?id=131006
1064
1065         Reviewed by Carlos Garcia Campos.
1066
1067         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
1068         (WebCore::InbandTextTrackPrivateGStreamer::handleSample):
1069         (WebCore::InbandTextTrackPrivateGStreamer::streamChanged):
1070         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1071         (WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
1072         (WebCore::MediaPlayerPrivateGStreamer::videoChanged):
1073         (WebCore::MediaPlayerPrivateGStreamer::videoCapsChanged):
1074         (WebCore::MediaPlayerPrivateGStreamer::audioChanged):
1075         (WebCore::MediaPlayerPrivateGStreamer::textChanged):
1076         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1077         (WebCore::MediaPlayerPrivateGStreamerBase::volumeChanged):
1078         (WebCore::MediaPlayerPrivateGStreamerBase::muteChanged):
1079         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
1080         (WebCore::TrackPrivateBaseGStreamer::activeChanged):
1081         (WebCore::TrackPrivateBaseGStreamer::tagsChanged):
1082         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
1083         (webkitVideoSinkRender):
1084         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1085         (webKitWebSrcChangeState):
1086         (webKitWebSrcNeedDataCb):
1087         (webKitWebSrcEnoughDataCb):
1088         (webKitWebSrcSeekDataCb):
1089         Added std::function<void()> constructors to help Visual Studio decide which version of 
1090         GMainLoopSource::schedule or GMainLoopSource::scheduleAfterDelay to use.
1091
1092 2014-04-02  Zalan Bujtas  <zalan@apple.com>
1093
1094         Subpixel rendering: Transition class CSSImageGeneratorValue/class StyleImage (and its dependencies) from 
1095         IntSize to FloatSize to enable subpixel sized (generated)images.
1096         https://bugs.webkit.org/show_bug.cgi?id=130659
1097
1098         Reviewed by Simon Fraser and Andreas Kling.
1099
1100         This is in preparation to support subpixel positioned/sized background images. Generated images
1101         needs to be able to sized on device pixels.
1102
1103         No change in behavior.
1104
1105         * WebCore.vcxproj/WebCore.vcxproj:
1106         * WebCore.vcxproj/WebCore.vcxproj.filters:
1107         * WebCore.xcodeproj/project.pbxproj:
1108         * css/CSSCanvasValue.cpp:
1109         (WebCore::CSSCanvasValue::fixedSize):
1110         (WebCore::CSSCanvasValue::image):
1111         * css/CSSCanvasValue.h:
1112         * css/CSSCrossfadeValue.cpp:
1113         (WebCore::CSSCrossfadeValue::fixedSize):
1114         (WebCore::CSSCrossfadeValue::image):
1115         * css/CSSCrossfadeValue.h:
1116         * css/CSSFilterImageValue.cpp:
1117         (WebCore::CSSFilterImageValue::fixedSize):
1118         (WebCore::CSSFilterImageValue::image):
1119         * css/CSSFilterImageValue.h:
1120         * css/CSSGradientValue.cpp:
1121         (WebCore::CSSGradientValue::image):
1122         (WebCore::positionFromValue):
1123         (WebCore::CSSGradientValue::computeEndPoint):
1124         (WebCore::endPointsFromAngle):
1125         (WebCore::CSSLinearGradientValue::createGradient):
1126         (WebCore::CSSRadialGradientValue::createGradient):
1127         * css/CSSGradientValue.h:
1128         (WebCore::CSSGradientValue::fixedSize):
1129         * css/CSSImageGeneratorValue.cpp:
1130         (WebCore::CSSImageGeneratorValue::cachedImageForSize):
1131         (WebCore::CSSImageGeneratorValue::saveCachedImageForSize):
1132         (WebCore::CSSImageGeneratorValue::evictCachedGeneratedImage):
1133         (WebCore::CSSImageGeneratorValue::CachedGeneratedImage::CachedGeneratedImage):
1134         (WebCore::CSSImageGeneratorValue::image):
1135         (WebCore::CSSImageGeneratorValue::fixedSize):
1136         * css/CSSImageGeneratorValue.h:
1137         * loader/cache/CachedImage.cpp:
1138         (WebCore::CachedImage::setContainerSizeForRenderer):
1139         * loader/cache/CachedImage.h:
1140         * platform/graphics/FloatSizeHash.h: Added.
1141         (WTF::FloatHash<WebCore::FloatSize>::hash):
1142         (WTF::FloatHash<WebCore::FloatSize>::equal):
1143         (WTF::HashTraits<WebCore::FloatSize>::constructDeletedValue):
1144         (WTF::HashTraits<WebCore::FloatSize>::isDeletedValue):
1145         * platform/graphics/LayoutSize.h:
1146         (WebCore::flooredForPainting):
1147         * rendering/RenderImageResourceStyleImage.h:
1148         * rendering/RenderListMarker.cpp:
1149         (WebCore::RenderListMarker::computePreferredLogicalWidths):
1150         * rendering/style/StyleCachedImage.cpp:
1151         (WebCore::StyleCachedImage::imageSize):
1152         (WebCore::StyleCachedImage::setContainerSizeForRenderer):
1153         (WebCore::StyleCachedImage::image):
1154         * rendering/style/StyleCachedImage.h:
1155         * rendering/style/StyleCachedImageSet.cpp:
1156         (WebCore::StyleCachedImageSet::imageSize):
1157         (WebCore::StyleCachedImageSet::setContainerSizeForRenderer):
1158         (WebCore::StyleCachedImageSet::image):
1159         * rendering/style/StyleCachedImageSet.h:
1160         * rendering/style/StyleGeneratedImage.cpp:
1161         (WebCore::StyleGeneratedImage::imageSize):
1162         (WebCore::StyleGeneratedImage::computeIntrinsicDimensions):
1163         (WebCore::StyleGeneratedImage::image):
1164         * rendering/style/StyleGeneratedImage.h:
1165         * rendering/style/StyleImage.h:
1166         * rendering/style/StylePendingImage.h:
1167         * svg/graphics/SVGImageCache.cpp:
1168         (WebCore::SVGImageCache::setContainerSizeForRenderer):
1169         * svg/graphics/SVGImageCache.h:
1170
1171 2014-04-02  Gergo Balogh  <gbalogh.u-szeged@partner.samsung.com>
1172
1173         Warning fix for RenderLayer.
1174         https://bugs.webkit.org/show_bug.cgi?id=131090
1175
1176         Reviewed by Csaba Osztrogonác.
1177
1178         * rendering/RenderLayer.cpp:
1179         (WebCore::RenderLayer::updateDescendantDependentFlags):
1180
1181 2014-04-02  Frédéric Wang  <fred.wang@free.fr>
1182
1183         Operator stretching: read the Open Type MATH table
1184         https://bugs.webkit.org/show_bug.cgi?id=130324
1185
1186         Reviewed by Chris Fleizach.
1187
1188         We parse and expose some data from the OpenType MATH table that will be
1189         be relevant for at least the MathML operator stretching (bug 130322):
1190         math constants, italic corrections and size variants / glyph assembly.
1191         This will be tested when the MathML code uses the data.
1192
1193         * WebCore.xcodeproj/project.pbxproj: Add OpenTypeTypes.h to the Mac build.
1194         * platform/graphics/opentype/OpenTypeMathData.cpp: We implement the low-level parsing of the MATH table.
1195         (WebCore::OpenType::MathItalicsCorrectionInfo::getItalicCorrection):
1196         (WebCore::OpenType::MathGlyphInfo::mathItalicsCorrectionInfo):
1197         (WebCore::OpenType::GlyphAssembly::getAssemblyParts):
1198         (WebCore::OpenType::MathGlyphConstruction::getSizeVariants):
1199         (WebCore::OpenType::MathGlyphConstruction::getAssemblyParts):
1200         (WebCore::OpenType::MathVariants::mathGlyphConstruction):
1201         (WebCore::OpenType::MATHTable::mathConstants):
1202         (WebCore::OpenType::MATHTable::mathGlyphInfo):
1203         (WebCore::OpenType::MATHTable::mathVariants):
1204         (WebCore::OpenTypeMathData::OpenTypeMathData): We load the MATH table.
1205         (WebCore::OpenTypeMathData::getMathConstant): We add a function to get values from the MathConstant subtable.
1206         (WebCore::OpenTypeMathData::getItalicCorrection): We add a function to get italic correction from the MathGlyphInfo subtable.
1207         (WebCore::OpenTypeMathData::getMathVariants): We add a function to get size variants / glyph assembly from the MathVariants subtable.
1208         * platform/graphics/opentype/OpenTypeMathData.h: We expose three new functions to get math data.
1209         * platform/graphics/opentype/OpenTypeTypes.h: We share the coverage tables that are common to vertical and math data.
1210         (WebCore::OpenType::TableWithCoverage::getCoverageIndex): We add a function to get the coverage index from a given glyph.
1211         * platform/graphics/opentype/OpenTypeVerticalData.cpp: We move the coverage tables to OpenTypeTypes.h.
1212
1213 2014-04-02  Ion Rosca  <rosca@adobe.com>
1214
1215         [CSS Blending] Compositing requirements for blending are not computed correctly
1216         https://bugs.webkit.org/show_bug.cgi?id=130664
1217
1218         Reviewed by Dean Jackson.
1219
1220         Tests: css3/compositing/blend-mode-accelerated-with-multiple-stacking-contexts.html
1221                css3/compositing/blend-mode-with-accelerated-sibling.html
1222
1223         Compositing requirements for blending: if a layer having blend mode
1224         other than normal is composited for any reason, its closest stacking
1225         context ancestor should be composited as well.
1226
1227         * rendering/RenderLayer.cpp:
1228         (WebCore::RenderLayer::RenderLayer):
1229         * rendering/RenderLayer.h: added a new field,
1230         m_hasUnisolatedCompositedBlendingDescendants, which is true if the layer
1231         has composited blending descendants not isolated by any stacking context child;
1232         added a new method: isolatesCompositedBlending(), which is true if we should
1233         accelerate that layer in order to perform isolation correctly.
1234
1235         * rendering/RenderLayerCompositor.cpp:
1236         (WebCore::CompositingState::CompositingState): m_subtreeHasBlending was renamed
1237         m_hasUnisolatedCompositedBlendingDescendants in order to be more self-explanatory.
1238         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
1239         computes the isolation requirements for composited blending by
1240         (re)setting RenderLayer::m_hasUnisolatedCompositedBlendingDescendants flag.
1241
1242         (WebCore::RenderLayerCompositor::reasonsForCompositing):
1243         fixed the reason of compositing: isolation instead of blending.
1244
1245         (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason):
1246         * rendering/RenderLayerCompositor.h:
1247
1248 2014-04-02  Frédéric Wang  <fred.wang@free.fr>
1249
1250         Operator stretching: expose a math data API
1251         https://bugs.webkit.org/show_bug.cgi?id=130572
1252
1253         Reviewed by Chris Fleizach.
1254
1255         We expose a new SimpleFontData API to give access to the data from the
1256         OpenType MATH table. The class OpenTypeMathData will
1257         be implemented in bug 130324. On Darwin platform, we also implement the
1258         missing FontPlatformData::openTypeTable function which will be necessary
1259         to load the OpenType MATH table. The changes are intended to be used
1260         for MathML operator stretching (bug 130322) so tests are not added yet.
1261
1262         * CMakeLists.txt: add new OpenTypeMathData files.
1263         * WebCore.vcxproj/WebCore.vcxproj: ditto.
1264         * WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
1265         * WebCore.xcodeproj/project.pbxproj: ditto.
1266         * platform/graphics/FontPlatformData.cpp:
1267         (WebCore::FontPlatformData::openTypeTable): We implement openTypeTable() on Darwin platform.
1268         * platform/graphics/FontPlatformData.h: We expose openTypeTable() on Darwin platform.
1269         * platform/graphics/SimpleFontData.cpp:
1270         (WebCore::SimpleFontData::SimpleFontData):
1271         (WebCore::SimpleFontData::mathData): Initialize and return the math data.
1272         * platform/graphics/SimpleFontData.h: We expose a mathData() function to access the MATH data.
1273         * platform/graphics/opentype/OpenTypeMathData.cpp: Added. This is a new class that will be used to parse the data from the OpenType MATH table.
1274         (WebCore::OpenTypeMathData::OpenTypeMathData):
1275         * platform/graphics/opentype/OpenTypeMathData.h: Added.
1276         (WebCore::OpenTypeMathData::create):
1277         (WebCore::OpenTypeMathData::hasMathData):
1278
1279 2014-04-01  Mihnea Ovidenie  <mihnea@adobe.com>
1280
1281         [CSSRegions] Displaying region's children in another region not supported
1282         https://bugs.webkit.org/show_bug.cgi?id=130735
1283
1284         Reviewed by David Hyatt.
1285
1286         With http://trac.webkit.org/changeset/166353, we disabled the possibility
1287         of collecting the region's children into another flow and displaying them
1288         in another region.
1289         I added a new test for this and also changed the plain ASSERT in Element dtor
1290         to ASSERT_WITH_SECURITY_IMPLICATION to better reflect the meaning of the assertion.
1291
1292         Test: fast/regions/region-child-not-flowed.html
1293
1294         * dom/Element.cpp:
1295         (WebCore::Element::~Element):
1296
1297 2014-04-01  Andrei Bucur  <abucur@adobe.com>
1298
1299         [CSS Regions] Simplify the RenderFlowThread state pusher
1300         https://bugs.webkit.org/show_bug.cgi?id=131035
1301
1302         Reviewed by David Hyatt.
1303
1304         The RenderFlowThread state pusher is desynchronized from the RenderView layout state pusher
1305         by one renderer. This patch fixes the anomaly by correctly ordering the push and pop operations
1306         between the two systems.
1307
1308         Tests: no functional change, no new tests.
1309
1310         * rendering/RenderFlowThread.cpp:
1311         (WebCore::RenderFlowThread::pushFlowThreadLayoutState):
1312         (WebCore::RenderFlowThread::popFlowThreadLayoutState):
1313         (WebCore::RenderFlowThread::offsetFromLogicalTopOfFirstRegion):
1314         * rendering/RenderView.cpp:
1315         (WebCore::RenderView::pushLayoutState):
1316         * rendering/RenderView.h:
1317
1318 2014-04-01  Beth Dakin  <bdakin@apple.com>
1319
1320         willReveal edge events should be hooked up for overflow:scroll
1321         https://bugs.webkit.org/show_bug.cgi?id=131071
1322         -and corresponding-
1323         <rdar://problem/16190392>
1324
1325         Reviewed by Sam Weinig.
1326
1327         This patch moves the will reveal logic from FrameView to Document so that it can 
1328         be shared for RenderLayers.
1329
1330         This is mostly just a moved function, but now the function takes an Element* that 
1331         represents the target of the event if the target is not the window.
1332         * dom/Document.cpp:
1333         (WebCore::Document::sendWillRevealEdgeEventsIfNeeded):
1334         * dom/Document.h:
1335
1336         No longer implement sendWillRevealEdgeEventsIfNeeded() on FrameView or 
1337         ScrollableArea at all. Call into Document instead.
1338         * page/FrameView.cpp:
1339         (WebCore::FrameView::scrollPositionChanged):
1340         (WebCore::FrameView::sendWillRevealEdgeEventsIfNeeded): Deleted.
1341         * page/FrameView.h:
1342         * platform/ScrollableArea.h:
1343         (WebCore::ScrollableArea::sendWillRevealEdgeEventsIfNeeded): Deleted.
1344
1345         Call sendWillRevealEdgeEventsIfNeeded() after sending scroll events. 
1346         * rendering/RenderLayer.cpp:
1347         (WebCore::RenderLayer::scrollTo):
1348
1349 2014-04-01  Jon Honeycutt  <jhoneycutt@apple.com>
1350
1351         Crash in WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients
1352
1353         <https://bugs.webkit.org/show_bug.cgi?id=121887>
1354         <rdar://problem/15073043>
1355
1356         Reviewed by Dean Jackson.
1357
1358         Test: svg/filters/first-letter-crash.html
1359
1360         * rendering/FilterEffectRenderer.cpp:
1361         (WebCore::FilterEffectRenderer::buildReferenceFilter):
1362         Added a null check to prevent crashes for anonymous RenderObjects.
1363
1364         * rendering/RenderLayer.cpp:
1365         (WebCore::RenderLayer::filterNeedsRepaint):
1366         Get the enclosing element, if there is one, and recalculate its style.
1367         We use the enclosing element so that we recalculate style for the
1368         ancestor of an anonymous RenderElement.
1369         (WebCore::RenderLayer::enclosingElement):
1370         Remove an assertion; we may now reach this condition if loading a
1371         cached SVG document results in RenderLayer::filterNeedsRepaint() being
1372         called before the object has been inserted into the render tree.
1373
1374         * rendering/RenderLayerFilterInfo.cpp:
1375         (WebCore::RenderLayer::FilterInfo::notifyFinished):
1376         Tell the RenderLayer that the filter needs repainting.
1377         (WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):
1378         Get the Element from the renderer rather than asking the renderer's
1379         Element, which will be null for anonymous RenderObjects.
1380
1381         * rendering/RenderLayerFilterInfo.h:
1382         Removed declaration for the old workaround function, layerElement().
1383
1384 2014-04-01  Ryuan Choi  <ryuan.choi@samsung.com>
1385
1386         Build break when disabled VIDEO since r166261
1387         https://bugs.webkit.org/show_bug.cgi?id=131087
1388
1389         Reviewed by Gyuyoung Kim.
1390
1391         * testing/Internals.cpp: Added ENABLE(VIDEO) guards
1392         (WebCore::Internals::simulateSystemSleep):
1393         (WebCore::Internals::simulateSystemWake):
1394
1395 2014-04-01  Timothy Hatcher  <timothy@apple.com>
1396
1397         Remove HeapProfiler from the Web Inspector protocol.
1398
1399         https://bugs.webkit.org/show_bug.cgi?id=131070
1400
1401         Reviewed by Joseph Pecoraro.
1402
1403         * CMakeLists.txt:
1404         * DerivedSources.make:
1405         * WebCore.vcxproj/WebCore.vcxproj:
1406         * WebCore.vcxproj/WebCore.vcxproj.filters:
1407         * WebCore.xcodeproj/project.pbxproj:
1408         * bindings/js/ScriptHeapSnapshot.h: Removed.
1409         * bindings/js/ScriptProfiler.h:
1410         (WebCore::ScriptProfiler::takeHeapSnapshot): Deleted.
1411         (WebCore::ScriptProfiler::isSampling): Deleted.
1412         (WebCore::ScriptProfiler::hasHeapProfiler): Deleted.
1413         * inspector/InspectorAllInOne.cpp:
1414         * inspector/InspectorController.cpp:
1415         (WebCore::InspectorController::InspectorController):
1416         * inspector/InspectorHeapProfilerAgent.cpp: Removed.
1417         * inspector/InspectorHeapProfilerAgent.h: Removed.
1418         * inspector/InspectorInstrumentation.cpp:
1419         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
1420         * inspector/InspectorProfilerAgent.cpp:
1421         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
1422         (WebCore::InspectorProfilerAgent::getProfileHeaders):
1423         (WebCore::InspectorProfilerAgent::removeProfile):
1424         (WebCore::InspectorProfilerAgent::resetState): The CommandLineAPIHost call to
1425         clear inspected objects should have not been here. It was only needed by the
1426         HeapProfilerAgent.
1427         (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
1428         (WebCore::InspectorProfilerAgent::collectGarbage): Deleted.
1429         (WebCore::InspectorProfilerAgent::createSnapshotHeader): Deleted.
1430         (WebCore::InspectorProfilerAgent::isSampling): Deleted.
1431         (WebCore::InspectorProfilerAgent::hasHeapProfiler): Deleted.
1432         (WebCore::InspectorProfilerAgent::getHeapSnapshot): Deleted.
1433         (WebCore::InspectorProfilerAgent::takeHeapSnapshot): Deleted.
1434         (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId): Deleted.
1435         (WebCore::InspectorProfilerAgent::getHeapObjectId): Deleted.
1436         * inspector/InspectorProfilerAgent.h:
1437         * inspector/InstrumentingAgents.h:
1438         (WebCore::InstrumentingAgents::inspectorHeapProfilerAgent): Deleted.
1439         (WebCore::InstrumentingAgents::setInspectorHeapProfilerAgent): Deleted.
1440         * inspector/WebConsoleAgent.cpp:
1441         (WebCore::WebConsoleAgent::addInspectedHeapObject): Deleted.
1442         * inspector/WebConsoleAgent.h:
1443         * inspector/WorkerInspectorController.cpp:
1444         (WebCore::WorkerInspectorController::WorkerInspectorController):
1445         * inspector/protocol/HeapProfiler.json: Removed.
1446         * inspector/protocol/Profiler.json:
1447
1448 2014-04-01  Zoltan Horvath  <zoltan@webkit.org>
1449
1450         [CSS Exclusions] Remove exclusions parsing support
1451         https://bugs.webkit.org/show_bug.cgi?id=131046
1452
1453         Reviewed by David Hyatt.
1454
1455         CSS Exclusions specification [1] needs some evolution before the actual implementation happens.
1456         We have only the parsing code in WebKit for -webkit-wrap-flow and -webkit-wrap-through.
1457         This patch removes the code from the trunk for now, it doesn't make sense to keep it around.
1458
1459         [1] http://www.w3.org/TR/css3-exclusions/
1460
1461         Removed existing parsing tests.
1462
1463         * css/CSSComputedStyleDeclaration.cpp:
1464         (WebCore::ComputedStyleExtractor::propertyValue):
1465         * css/CSSParser.cpp:
1466         (WebCore::isValidKeywordPropertyAndValue):
1467         (WebCore::isKeywordPropertyID):
1468         (WebCore::CSSParser::parseValue):
1469         * css/CSSPrimitiveValueMappings.h:
1470         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Deleted.
1471         (WebCore::CSSPrimitiveValue::operator WrapFlow): Deleted.
1472         (WebCore::CSSPrimitiveValue::operator WrapThrough): Deleted.
1473         * css/CSSPropertyNames.in:
1474         * css/CSSValueKeywords.in:
1475         * css/DeprecatedStyleBuilder.cpp:
1476         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1477         * css/StyleResolver.cpp:
1478         (WebCore::StyleResolver::applyProperty):
1479         * rendering/style/RenderStyle.cpp:
1480         (WebCore::RenderStyle::changeRequiresLayout):
1481         * rendering/style/RenderStyle.h:
1482         * rendering/style/RenderStyleConstants.h:
1483         * rendering/style/StyleRareNonInheritedData.cpp:
1484         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1485         (WebCore::StyleRareNonInheritedData::operator==):
1486         * rendering/style/StyleRareNonInheritedData.h:
1487
1488 2014-04-01  Timothy Hatcher  <timothy@apple.com>
1489
1490         Remove the rest of the old Canvas inspection support.
1491
1492         https://bugs.webkit.org/show_bug.cgi?id=131066
1493
1494         Reviewed by Joseph Pecoraro.
1495
1496         * CMakeLists.txt: Removed Canvas.json.
1497         * DerivedSources.make: Ditto.
1498         * inspector/InjectedScriptCanvasModuleSource.js: Removed.
1499         * inspector/protocol/Canvas.json: Removed.
1500
1501 2014-04-01  Alexey Proskuryakov  <ap@apple.com>
1502
1503         Eliminate HTMLFormElement::m_shouldSubmit
1504         https://bugs.webkit.org/show_bug.cgi?id=131055
1505
1506         Reviewed by Tim Horton.
1507
1508         m_shouldSubmit was used for two purposes:
1509         - as a return value in a function whose return value is ignored by all callers;
1510         - to make a decision that's local to a function.
1511
1512         There is no need for it to be an instance variable.
1513
1514         * html/HTMLFormElement.cpp:
1515         (WebCore::HTMLFormElement::HTMLFormElement):
1516         (WebCore::HTMLFormElement::prepareForSubmission):
1517         (WebCore::HTMLFormElement::submit):
1518         * html/HTMLFormElement.h:
1519
1520 2014-04-01  Benjamin Poulain  <bpoulain@apple.com>
1521
1522         Remove a couple of useless static strings
1523         https://bugs.webkit.org/show_bug.cgi?id=131003
1524
1525         Reviewed by David Kilzer.
1526
1527         There is zero value in keeping those strings alive.
1528
1529         * css/StyleProperties.cpp:
1530         (WebCore::isInitialOrInherit):
1531
1532 2014-04-01  Myles C. Maxfield  <mmaxfield@apple.com>
1533
1534         svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures.html and svg/css/font-face-crash.html frequently assert in ComplexTextController::offsetForPosition
1535         https://bugs.webkit.org/show_bug.cgi?id=119747
1536
1537         Reviewed by Simon Fraser.
1538
1539         Even though kerning and ligatures currently don't work with the
1540         simple text path, messing those up is better than creating null
1541         CTRun and CTLine objects.
1542
1543         Rather than calling the badly-named renderingContext() function on TextRun objects
1544         to determine if they are drawn with an SVG font, this patch creates a wrapper function
1545         with a better name and uses that instead.
1546
1547         Test: svg/text/svg-font-hittest.html
1548
1549         * platform/graphics/Font.cpp:
1550         (WebCore::isDrawnWithSVGFont): Wrapper around renderingContext()
1551         (WebCore::Font::drawText): Use wrapper function
1552         (WebCore::Font::drawEmphasisMarks): Use wrapper function
1553         (WebCore::Font::width): Use wrapper function
1554         (WebCore::Font::selectionRectForText): Use wrapper function
1555         (WebCore::Font::offsetForPosition): If we are using an SVG font, use the simple path
1556         instead of the complex one
1557         (WebCore::Font::codePath): Use wrapper function
1558         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
1559         (WebCore::FontPlatformData::ctFont):
1560
1561 2014-04-01  Daniel Bates  <dabates@apple.com>
1562
1563         RenderQuote must destroy remaining text renderer before first letter renderer
1564         https://bugs.webkit.org/show_bug.cgi?id=78023
1565         <rdar://problem/10830009>
1566
1567         Reviewed by Brent Fulgham.
1568
1569         Merged from Blink (patch by Abhishek Arya):
1570         https://src.chromium.org/viewvc/blink?view=rev&revision=151270
1571
1572         Following the fix for <https://bugs.webkit.org/show_bug.cgi?id=114586>, a
1573         RenderQuote may have child render objects for the first letter of its text
1574         and everything following the first letter so as to support the CSS first-
1575         letter property. The latter renderer is responsible for destroying the former
1576         on destruction. It's sufficient to reverse the destruction of the children of
1577         RenderQuote to ensure that we destroy the remaining text renderer before we
1578         destroy the first letter renderer.
1579
1580         Test: fast/css-generated-content/quote-first-letter-crash.html
1581
1582         * rendering/RenderQuote.cpp:
1583         (WebCore::RenderQuote::updateText):
1584
1585 2014-04-01  David Kilzer  <ddkilzer@apple.com>
1586
1587         Do not allow HTTP refresh headers to refresh to javascript: URLs
1588         <http://webkit.org/b/119051>
1589         <rdar://problem/14536453>
1590
1591         Reviewed by Alexey Proskuryakov.
1592
1593         Merged from Blink (patch by tsepez@chromium.org):
1594         https://src.chromium.org/viewvc/blink?revision=153912&view=revision
1595         http://crbug.com/258151
1596
1597             This behaviour has been standard in IE since IE7.  This makes us both
1598             more compatible and less vulnerable to XSS.
1599
1600         Tests: http/tests/security/no-javascript-location-percent-escaped.html
1601                http/tests/security/no-javascript-location.html
1602                http/tests/security/no-javascript-refresh-percent-escaped.php
1603                http/tests/security/no-javascript-refresh-spaces.php
1604                http/tests/security/no-javascript-refresh-static-percent-escaped.html
1605                http/tests/security/no-javascript-refresh-static-spaces.html
1606                http/tests/security/no-javascript-refresh-static.html
1607                http/tests/security/no-javascript-refresh.php
1608
1609         * dom/Document.cpp:
1610         (WebCore::Document::processHttpEquiv):
1611         * loader/FrameLoader.cpp:
1612         (WebCore::FrameLoader::receivedFirstData):
1613         - Do not fire meta http refresh for a javascript: URL protocol.
1614
1615 2014-04-01  Pratik Solanki  <psolanki@apple.com>
1616
1617         Unreviewed build fix. Remove duplicate file entries.
1618
1619         * WebCore.xcodeproj/project.pbxproj:
1620
1621 2014-03-31  Simon Fraser  <simon.fraser@apple.com>
1622
1623         Enable WEB_TIMING on Mac and iOS
1624         https://bugs.webkit.org/show_bug.cgi?id=128064
1625
1626         Reviewed by Sam Weinig, Brent Fulgham.
1627
1628         Enable WEB_TIMING. Add PerformanceTiming.cpp and JSPerformanceTiming.cpp
1629         to the project.
1630         
1631         * Configurations/FeatureDefines.xcconfig:
1632         * WebCore.xcodeproj/project.pbxproj:
1633
1634 2014-04-01  James Craig  <jcraig@apple.com>
1635
1636         AX: AccessibilityRenderObject::ariaLiveRegionAtomic() should default to true if
1637         roleValue is ApplicationAlertRole || ApplicationStatusRole
1638         https://bugs.webkit.org/show_bug.cgi?id=130907
1639
1640         Reviewed by Chris Fleizach.
1641
1642         Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html:
1643                platform/mac/accessibility/aria-liveregions-attributes.html:
1644
1645         Updated AccessibilityRenderObject::ariaLiveRegionAtomic() to match ARIA spec.
1646
1647         * accessibility/AccessibilityRenderObject.cpp:
1648         (WebCore::AccessibilityRenderObject::ariaLiveRegionAtomic):
1649
1650 2014-04-01  Zan Dobersek  <zdobersek@igalia.com>
1651
1652         Unreviewed. Fixing debug builds after r166586.
1653
1654         * svg/SVGElement.cpp:
1655         (WebCore::SVGElement::addEventListener): Fix the ASSERT.
1656         (WebCore::SVGElement::removeEventListener): Ditto.
1657
1658 2014-04-01  Zan Dobersek  <zdobersek@igalia.com>
1659
1660         Prevent unnecessary copies in compareEqual template
1661         https://bugs.webkit.org/show_bug.cgi?id=131014
1662
1663         Reviewed by Antti Koivisto.
1664
1665         * rendering/style/RenderStyle.h:
1666         (compareEqual): Casting the second parameter to a non-const, non-reference type
1667         causes an extra copy of that object. Casting to the const reference type of the
1668         first parameter avoids that.
1669
1670 2014-04-01  Zan Dobersek  <zdobersek@igalia.com>
1671
1672         Avoid unnecessary HashSet copies when calling collectInstancesForSVGElement
1673         https://bugs.webkit.org/show_bug.cgi?id=131020
1674
1675         Reviewed by Andreas Kling.
1676
1677         Remove collectInstancesForSVGElement() to avoid HashSet copies when assigning a const
1678         HashSet reference to a non-const HashSet reference. Instead, range-based for-loops are
1679         deployed to iterate directly over the const reference to HashSet that's returned by
1680         SVGElement::instancesForElement(). SVGElement::containingShadowRoot() return value
1681         is checked to see if the iteration should be performed in the first place, preserving
1682         the behavior of collectInstancesForSVGElement().
1683
1684         * svg/SVGElement.cpp:
1685         (WebCore::SVGElement::addEventListener):
1686         (WebCore::SVGElement::removeEventListener):
1687         (WebCore::collectInstancesForSVGElement): Deleted.
1688
1689 2014-04-01  Zan Dobersek  <zdobersek@igalia.com>
1690
1691         Move the attributes HashMap out of the parseAttributes function
1692         https://bugs.webkit.org/show_bug.cgi?id=131019
1693
1694         Reviewed by Andreas Kling.
1695
1696         * xml/parser/XMLDocumentParserLibxml2.cpp:
1697         (WebCore::parseAttributes): Avoid copying the HashMap object that's being returned by
1698         converting it to an xvalue through using std::move() in the return statement.
1699
1700 2014-04-01  Zalan Bujtas  <zalan@apple.com>
1701
1702         Subpixel rendering: Transition class Image (and its dependencies) from int to float to enable subpixel positioned/sized images.
1703         https://bugs.webkit.org/show_bug.cgi?id=130643
1704
1705         Reviewed by Simon Fraser.
1706
1707         This is in preparation to support subpixel positioned/sized background images. While 1x bitmap images can't take
1708         subpixel sizing on hidpi resolutions, both generated and hidpi images can.
1709         This patch does not change Image behavior in general as both position and size are still snapped to integral values.  
1710
1711         No change in behavior.
1712
1713         * WebCore.exp.in:
1714         * css/CSSCrossfadeValue.cpp:
1715         (WebCore::CSSCrossfadeValue::fixedSize):
1716         * css/CSSFilterImageValue.cpp:
1717         (WebCore::CSSFilterImageValue::fixedSize):
1718         * html/canvas/WebGLRenderingContext.cpp:
1719         (WebCore::WebGLRenderingContext::drawImageIntoBuffer):
1720         * loader/cache/CachedImage.cpp:
1721         (WebCore::CachedImage::imageSizeForRenderer):
1722         * page/EventHandler.cpp:
1723         (WebCore::EventHandler::selectCursor):
1724         * platform/Cursor.cpp:
1725         (WebCore::determineHotSpot):
1726         * platform/graphics/BitmapImage.cpp:
1727         (WebCore::BitmapImage::size):
1728         (WebCore::BitmapImage::currentFrameSize):
1729         * platform/graphics/BitmapImage.h:
1730         * platform/graphics/CrossfadeGeneratedImage.cpp:
1731         (WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
1732         (WebCore::drawCrossfadeSubimage):
1733         (WebCore::CrossfadeGeneratedImage::drawCrossfade):
1734         * platform/graphics/CrossfadeGeneratedImage.h:
1735         * platform/graphics/GeneratedImage.h:
1736         * platform/graphics/Gradient.cpp:
1737         (WebCore::Gradient::adjustParametersForTiledDrawing):
1738         * platform/graphics/Gradient.h:
1739         * platform/graphics/GradientImage.cpp:
1740         (WebCore::GradientImage::drawPattern):
1741         * platform/graphics/GradientImage.h:
1742         * platform/graphics/GraphicsContext.cpp:
1743         (WebCore::GraphicsContext::createCompatibleBuffer):
1744         * platform/graphics/GraphicsContext.h:
1745         * platform/graphics/Image.cpp:
1746         (WebCore::Image::adjustSourceRectForDownSampling):
1747         * platform/graphics/Image.h:
1748         (WebCore::Image::setContainerSize):
1749         (WebCore::Image::rect):
1750         (WebCore::Image::width):
1751         (WebCore::Image::height):
1752         * platform/graphics/ImageBuffer.cpp:
1753         (WebCore::ImageBuffer::createCompatibleBuffer):
1754         * platform/graphics/ImageBuffer.h:
1755         (WebCore::ImageBuffer::create):
1756         * platform/graphics/IntPoint.cpp:
1757         (WebCore::IntPoint::IntPoint):
1758         * platform/graphics/IntPoint.h:
1759         * platform/graphics/IntSize.cpp:
1760         (WebCore::IntSize::IntSize):
1761         * platform/graphics/IntSize.h:
1762         * platform/graphics/cairo/ImageBufferCairo.cpp:
1763         (WebCore::ImageBuffer::ImageBuffer):
1764         * platform/graphics/cairo/ImageCairo.cpp:
1765         (WebCore::Image::drawPattern):
1766         * platform/graphics/cg/ImageBufferCG.cpp:
1767         (WebCore::ImageBuffer::ImageBuffer):
1768         * platform/graphics/cg/ImageBufferDataCG.cpp:
1769         * platform/graphics/cg/PDFDocumentImage.cpp:
1770         (WebCore::PDFDocumentImage::size):
1771         (WebCore::PDFDocumentImage::updateCachedImageIfNeeded):
1772         (WebCore::applyRotationForPainting):
1773         * platform/graphics/cg/PDFDocumentImage.h:
1774         * platform/graphics/cg/PatternCG.cpp:
1775         (WebCore::Pattern::createPlatformPattern):
1776         * platform/graphics/mac/GraphicsContextMac.mm:
1777         * platform/graphics/mac/IconMac.mm:
1778         * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
1779         (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
1780         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
1781         (WebCore::CoordinatedImageBacking::update):
1782         * platform/graphics/win/ImageCGWin.cpp:
1783         (WebCore::BitmapImage::getHBITMAPOfSize):
1784         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
1785         * platform/graphics/win/ImageCairoWin.cpp:
1786         (WebCore::BitmapImage::getHBITMAPOfSize):
1787         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
1788         * platform/mac/DragImageMac.mm:
1789         (WebCore::createDragImageFromImage):
1790         * platform/win/DragImageCGWin.cpp:
1791         (WebCore::createDragImageFromImage):
1792         * platform/win/PasteboardWin.cpp:
1793         (WebCore::Pasteboard::writeImage):
1794         * rendering/RenderImage.cpp:
1795         (WebCore::RenderImage::imageSizeForError):
1796         (WebCore::RenderImage::paintReplaced):
1797         * rendering/RenderLayer.cpp:
1798         (WebCore::RenderLayer::drawPlatformResizerImage):
1799         * svg/graphics/SVGImage.cpp:
1800         (WebCore::SVGImage::setContainerSize):
1801         * svg/graphics/SVGImage.h:
1802         * svg/graphics/SVGImageCache.cpp:
1803         (WebCore::SVGImageCache::imageSizeForRenderer):
1804         * svg/graphics/SVGImageCache.h:
1805         * svg/graphics/SVGImageForContainer.cpp:
1806         (WebCore::SVGImageForContainer::size):
1807         * svg/graphics/SVGImageForContainer.h:
1808         * svg/graphics/filters/SVGFEImage.cpp:
1809         (WebCore::FEImage::externalRepresentation):
1810         * testing/Internals.cpp:
1811         (WebCore::Internals::getCurrentCursorInfo):
1812
1813 2014-04-01  Ryuan Choi  <ryuan.choi@samsung.com>
1814
1815         Unreviewed build fix when disabled ACCESSIBILITY
1816
1817         * accessibility/atk/WebKitAccessibleInterfaceTableCell.cpp:
1818         Separated macros not to check ATK version when disabled ACCESSIBILITY
1819
1820 2014-04-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1821
1822         [CMake][EFL] Enable CSS JIT
1823         https://bugs.webkit.org/show_bug.cgi?id=131010
1824
1825         Reviewed by Benjamin Poulain.
1826
1827         Add an inclusion path for enabling CSS JIT on EFL and GTK ports.
1828         This patch only enables it for EFL port.
1829
1830         * CMakeLists.txt:
1831
1832 2014-04-01  Martin Robinson  <mrobinson@igalia.com>
1833
1834         [GTK] Readonly attributes installed as readwrite in GObject DOM bindings
1835         https://bugs.webkit.org/show_bug.cgi?id=130978
1836
1837         Reviewed by Carlos Garcia Campos.
1838
1839         Unify how we decide if an attribute is readable or writeable and improve the code.
1840         This results in some attributes now being marked as read-only which didn't have
1841         corresponding case statements in the set_property switch statements and also correctly
1842         installs set_property support for some more POD types.
1843
1844         * bindings/scripts/CodeGeneratorGObject.pm:
1845         (IsPropertyReadable): Added this helper to simplify deciding if an attribute is readable.
1846         (IsPropertyWriteable): Added this helper to simplify deciding if an attribute is writeable. Also
1847         update the list of types to reflect the full list of types we can generate setters for.
1848         (GenerateProperty): Use the IsPropertyWriteable helper instead of checking whether the attribute is read-only.
1849         Also fix generation of the blurb by using $mutableString instead of $mutableStringconst which isn't used.
1850         (GenerateProperties): Use grep and the new helpers to simplify the code.
1851         (GetReadableProperties): Deleted.
1852         (GetWriteableProperties): Deleted.
1853         * bindings/scripts/test/GObject: Update results
1854
1855 2014-03-31  Ryuan Choi  <ryuan.choi@samsung.com>
1856
1857         [EFL][WK2] Extract the control of page background out of color_set
1858         https://bugs.webkit.org/show_bug.cgi?id=127539
1859
1860         Reviewed by Gyuyoung Kim.
1861
1862         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
1863         Added m_viewBackgroundColor to clear when m_setDrawsBackground is false.
1864         (WebCore::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
1865         (WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
1866         (WebCore::CoordinatedGraphicsScene::paintToGraphicsContext):
1867         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
1868         (WebCore::CoordinatedGraphicsScene::setViewBackgroundColor):
1869         (WebCore::CoordinatedGraphicsScene::viewBackgroundColor):
1870         * rendering/RenderLayerBacking.cpp:
1871         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
1872         Added EFL guard not to set opaque as a default for MainFrameRenderViewLayer.
1873         * rendering/RenderLayerCompositor.cpp:
1874         (WebCore::RenderLayerCompositor::ensureRootLayer):
1875         Added EFL guard to apply page scale on RenderView like IOS.
1876
1877 2014-03-31  Byungseon Shin  <sun.shin@lge.com>
1878
1879         [WebGL][OpenGLES] Enable MSAA support for WebGL Canvas
1880         https://bugs.webkit.org/show_bug.cgi?id=130955
1881
1882         Reviewed by Dean Jackson.
1883
1884         To avoid aliasing issues when we render content to WebGL canvas,
1885          we need to implement MSAA support.
1886         - Imagination OpenGLES GPU Driver already support MSAA, so we
1887          need a separate code path to enable it.
1888
1889         * platform/graphics/Extensions3D.h:
1890         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
1891         (WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):
1892         * platform/graphics/opengl/Extensions3DOpenGLCommon.h:
1893         (WebCore::Extensions3DOpenGLCommon::isImagination):
1894         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
1895         (WebCore::GraphicsContext3D::reshapeFBOs):
1896
1897 2014-03-31  Alexey Proskuryakov  <ap@apple.com>
1898
1899         Crashes in PageConsole::addMessage
1900         https://bugs.webkit.org/show_bug.cgi?id=130991
1901         <rdar://problem/14795232>
1902
1903         Reviewed by Geoffrey Garen.
1904
1905         Test: http/tests/misc/detached-frame-console.html
1906
1907         * page/DOMWindow.cpp: (WebCore::DOMWindow::printErrorMessage): Added a null check.
1908         It's legitimate for this to be called for a window that is not currently displayed
1909         in a frame.
1910
1911 2014-03-31  Simon Fraser  <simon.fraser@apple.com>
1912
1913         [UI-side compositing] Proxy animations to the UI process
1914         https://bugs.webkit.org/show_bug.cgi?id=130946
1915
1916         Reviewed by Tim Horton.
1917         
1918         To proxy CA animations, make PlatformCAAnimation a pure virtual base class
1919         and subclass for Mac, Windows, and Remote (just like PlatformCALayer).
1920         
1921         Add coding support for TimingFunctions.
1922         
1923         Do some minor #include tidyup.
1924         
1925         Minor refactor in GraphicsLayerCA to share some animations code.
1926
1927         * WebCore.exp.in:
1928         * WebCore.xcodeproj/project.pbxproj:
1929         * platform/animation/TimingFunction.h: Add setters need for encode/decode.
1930         (WebCore::CubicBezierTimingFunction::setValues):
1931         (WebCore::CubicBezierTimingFunction::setTimingFunctionPreset):
1932         (WebCore::StepsTimingFunction::create):
1933         (WebCore::StepsTimingFunction::setNumberOfSteps):
1934         (WebCore::StepsTimingFunction::setStepAtStart):
1935         * platform/graphics/ca/GraphicsLayerCA.cpp:
1936         (WebCore::GraphicsLayerCA::createPlatformCAAnimation):
1937         (WebCore::GraphicsLayerCA::animationCanBeAccelerated): Minor refactor so we can share
1938         code with GraphicsLayerCARemote.
1939         (WebCore::GraphicsLayerCA::addAnimation):
1940         (WebCore::GraphicsLayerCA::createBasicAnimation):
1941         (WebCore::PassRefPtr<PlatformCAAnimation>GraphicsLayerCA::createKeyframeAnimation):
1942         * platform/graphics/ca/GraphicsLayerCA.h:
1943         * platform/graphics/ca/PlatformCAAnimation.h:
1944         (WebCore::PlatformCAAnimation::~PlatformCAAnimation):
1945         (WebCore::PlatformCAAnimation::isPlatformCAAnimationMac):
1946         (WebCore::PlatformCAAnimation::isPlatformCAAnimationWin):
1947         (WebCore::PlatformCAAnimation::isPlatformCAAnimationRemote):
1948         (WebCore::PlatformCAAnimation::PlatformCAAnimation):
1949         (WebCore::PlatformCAAnimation::setType):
1950         * platform/graphics/ca/PlatformCALayer.h:
1951         * platform/graphics/ca/mac/PlatformCAAnimationMac.h: Added.
1952         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
1953         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1954         (PlatformCALayerMac::addAnimationForKey):
1955         (PlatformCALayerMac::animationForKey):
1956         * platform/graphics/ca/mac/TileController.mm:
1957         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
1958         * platform/graphics/ca/win/PlatformCAAnimationWin.h: Added.
1959
1960 2014-03-31  Benjamin Poulain  <benjamin@webkit.org>
1961
1962         CSS JIT: compile the first-child pseudo class
1963         https://bugs.webkit.org/show_bug.cgi?id=130954
1964
1965         Reviewed by Andreas Kling.
1966
1967         * css/ElementRuleCollector.cpp:
1968         (WebCore::ElementRuleCollector::collectMatchingRules):
1969         The compiler use the context's style directly when resolving style. An error introduced
1970         in the rule collector would cause a crash in the compiled code which would be hard to debug.
1971         Add an assertion early in the stack to catch errors where it is easier to debug them.
1972
1973         * css/StyleResolver.cpp:
1974         (WebCore::StyleResolver::State::initForStyleResolve):
1975         * cssjit/SelectorCompiler.cpp:
1976         (WebCore::SelectorCompiler::addPseudoType):
1977         (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
1978         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToPreviousAdjacentElement):
1979         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToPreviousAdjacent):
1980         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
1981         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):
1982         Refactor those to be able to reuse the code getting a sibling element preceding the current element.
1983
1984         (WebCore::SelectorCompiler::SelectorCodeGenerator::jumpIfNotResolvingStyle):
1985         Extract the code checking the current mode from SelectorCodeGenerator::markParentElementIfResolvingStyle()
1986         in a separate function. This will be useful for all the pseudo class with marking.
1987
1988         (WebCore::SelectorCompiler::SelectorCodeGenerator::markParentElementIfResolvingStyle):
1989         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
1990         (WebCore::SelectorCompiler::setFirstChildState):
1991         This is the slow path for when the first-child pseudo class is on a fragment that is not
1992         the rightmost.
1993         The reason to use a slow path is accessing renderStyle() is not trivial and this case isn't not
1994         as common. We should improve this later.
1995
1996         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstChild):
1997         This is just implementing the test for first-child plus the tree marking. Nothing fancy,
1998         this is basically the same thing as SelectorChecker.
1999
2000         * dom/Element.cpp:
2001         (WebCore::Element::setChildrenAffectedByFirstChildRules):
2002         * dom/Element.h:
2003         C++ fallback to set the flag, to be improved later with the other flags.
2004
2005         * rendering/style/RenderStyle.h:
2006         I accidentaly put noninheritedFlagsMemoryOffset() as private in the RenderStyle refactoring.
2007
2008         Also update the flags accessor to make them easier to work with from the compiler. In particular,
2009         setFirstChildStateFlags() sets both isUnique and firstChild. Currently the JIT does not need to access
2010         the value so individual flags are made private.
2011
2012 2014-03-31  Dean Jackson  <dino@apple.com>
2013
2014         Remove WEB_ANIMATIONS
2015         https://bugs.webkit.org/show_bug.cgi?id=130989
2016
2017         Reviewed by Simon Fraser.
2018
2019         Remove this feature flag until we plan to implement.
2020
2021         * Configurations/FeatureDefines.xcconfig:
2022
2023 2014-03-31  Simon Fraser  <simon.fraser@apple.com>
2024
2025         Fix iOS build.
2026
2027         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
2028         (WebCore::ScrollingTreeScrollingNodeIOS::updateLayersAfterDelegatedScroll):
2029
2030 2014-03-31  Pratik Solanki  <psolanki@apple.com>
2031
2032         Unreviewed. iOS build fix after r166532. Add missing comma.
2033
2034         * dom/DocumentMarker.h:
2035
2036 2014-03-31  Brady Eidson  <beidson@apple.com>
2037
2038         Add variant of phone number parsing that use DocumentMarker in the current selection
2039         <rdar://problem/16379566> and https://bugs.webkit.org/show_bug.cgi?id=130917
2040
2041         Reviewed by Darin Adler.
2042
2043         * dom/DocumentMarker.h:
2044         (WebCore::DocumentMarker::AllMarkers::AllMarkers): Add a new TelephoneNumber document marker type.
2045
2046         * editing/Editor.cpp:
2047         (WebCore::Editor::respondToChangedSelection):
2048         (WebCore::Editor::scanSelectionForTelephoneNumbers): TextIterate over the selected range looking for numbers.
2049         (WebCore::Editor::scanRangeForTelephoneNumbers): Scan the given range for a telephone number,
2050           adding the DocumentMarker to any that are found.
2051         (WebCore::Editor::clearDataDetectedTelephoneNumbers):
2052         * editing/Editor.h:
2053
2054         * html/parser/HTMLTreeBuilder.cpp:
2055         (WebCore::HTMLTreeBuilder::processCharacterBufferForInBody): Only linkify on iOS.
2056
2057         * rendering/InlineTextBox.cpp:
2058         (WebCore::InlineTextBox::paintTelephoneNumberMarker): Placeholder UI while the feature is developed.
2059         (WebCore::InlineTextBox::paintDocumentMarkers):
2060         * rendering/InlineTextBox.h:
2061
2062         * testing/Internals.cpp:
2063         (WebCore::markerTypesFrom):
2064
2065 2014-03-31  Simon Fraser  <simon.fraser@apple.com>
2066
2067         [iOS WK2] Hook up scroll events for accelerated overflow:scroll
2068         https://bugs.webkit.org/show_bug.cgi?id=130976
2069
2070         Reviewed by Tim Horton.
2071
2072         When an accelerated overflow:scroll is scrolled in the UI process,
2073         tell the WebProcess that the scroll happened to update RenderLayer
2074         state and fire events.
2075         
2076         In the WebProcess, RemoteScrollingCoordinator gets a message from the
2077         UI process and calls AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll().
2078         Fixed that function to handle scrolling nodes other than the root, which
2079         required storing a map of ScrollingNodeID->RenderLayer* on RenderLayerCompositor,
2080         accessible through FrameView::scrollableAreaForScrollLayerID().
2081
2082         * WebCore.exp.in:
2083         * page/FrameView.cpp:
2084         (WebCore::FrameView::scrollableAreaForScrollLayerID):
2085         * page/FrameView.h:
2086         * page/scrolling/AsyncScrollingCoordinator.cpp:
2087         (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll): Handle
2088         overflow as well as main frame scrolling nodes.
2089         * page/scrolling/ScrollingTree.cpp:
2090         (WebCore::ScrollingTree::viewportChangedViaDelegatedScrolling): Use isScrollingNode().
2091         (WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling): When an overflow
2092         scroll node was scrolled externally, we have to update layers in decendant nodes,
2093         and then call scrollingTreeNodeDidScroll() which tells the ScrollingCoordinator that
2094         we scrolled.
2095         * page/scrolling/ScrollingTree.h: Try to reduce confusion between the roles played
2096         by these various functions, some of which happen in the UI process with UI-side
2097         compositing.
2098         * page/scrolling/ScrollingTreeScrollingNode.h:
2099         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h: Need some functions to be
2100         callable by subclasses.
2101         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
2102         (WebCore::ScrollingTreeScrollingNodeIOS::updateLayersAfterDelegatedScroll):
2103         * rendering/RenderLayerCompositor.cpp:
2104         (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer): Add
2105         scrolling layers to the m_scrollingNodeToLayerMap
2106         (WebCore::RenderLayerCompositor::detachScrollCoordinatedLayer): Remove
2107         layer from the m_scrollingNodeToLayerMap.
2108         (WebCore::RenderLayerCompositor::scrollableAreaForScrollLayerID):
2109         * rendering/RenderLayerCompositor.h:
2110
2111 2014-03-31  Antti Koivisto  <antti@apple.com>
2112
2113         Rename TileCache to LegacyTileCache
2114         https://bugs.webkit.org/show_bug.cgi?id=130986
2115
2116         Reviewed by Simon Fraser.
2117
2118         Rename iOS WebKit1 tile cache classes to reflect its status.
2119         This also frees some good type names.
2120
2121         TileCache -> LegacyTileCache
2122         TileGrid -> LegacyTileGrid
2123         TileGridTile -> LegacyTileGridTile
2124         etc.
2125
2126 2014-03-31  Tim Horton  <timothy_horton@apple.com>
2127
2128         Small adjustments to WebCore::IOSurface
2129         https://bugs.webkit.org/show_bug.cgi?id=130981
2130
2131         Reviewed by Simon Fraser.
2132
2133         * WebCore.exp.in:
2134         Export some more things.
2135
2136         * platform/graphics/cocoa/IOSurface.h:
2137         createImage() can't be const because it calls ensurePlatformContext().
2138
2139         * platform/graphics/cocoa/IOSurface.mm:
2140         (IOSurface::createImage):
2141         We should be able to create an image even if the CGContext has been cleared (or never created).
2142
2143         (IOSurface::isInUse):
2144         Rename inUse() to isInUse().
2145
2146         (IOSurface::clearGraphicsContext):
2147         Add clearGraphicsContext().
2148
2149 2014-03-31  Tim Horton  <timothy_horton@apple.com>
2150
2151         Allocate IOSurfaces with the same cache mode that CoreAnimation uses
2152         https://bugs.webkit.org/show_bug.cgi?id=130982
2153
2154         Reviewed by Simon Fraser.
2155
2156         * platform/graphics/cocoa/IOSurface.mm:
2157         (IOSurface::IOSurface):
2158         CA uses kIOMapWriteCombineCache for IOSurfaces allocated on iOS.
2159
2160 2014-03-31  Ion Rosca  <rosca@adobe.com>
2161
2162         [CSS Blending] Blend mode property is propagated to multiple GraphicLayers
2163         https://bugs.webkit.org/show_bug.cgi?id=130337
2164
2165         Reviewed by Dean Jackson.
2166
2167         Resets the blend mode for graphicsLayer when it has an ancestorClippingLayer.
2168
2169         Test: css3/compositing/blend-mode-ancestor-clipping-layer.html
2170
2171         * rendering/RenderLayer.cpp:
2172         (WebCore::RenderLayer::updateBlendMode):
2173         (WebCore::RenderLayer::calculateClipRects):
2174         * rendering/RenderLayerBacking.cpp:
2175         (WebCore::RenderLayerBacking::updateBlendMode):
2176         * rendering/RenderLayerBacking.h:
2177
2178 2014-03-31  Ion Rosca  <rosca@adobe.com>
2179
2180         [CSS Blending] showLayerTree should dump layer's blend mode and isolation properties
2181         https://bugs.webkit.org/show_bug.cgi?id=130922
2182
2183         Reviewed by Simon Fraser.
2184
2185         This change only updates existing tests involving blending. No new test required,
2186         as there is no new or changed functionality.
2187
2188         * rendering/RenderLayer.h: adding blendMode() getter.
2189         * rendering/RenderTreeAsText.cpp:
2190         (WebCore::write):
2191         adding blendMode property and layer's isolation status (does layer isolate blending descendants or not?).
2192
2193 2014-03-31  Benjamin Poulain  <benjamin@webkit.org>
2194
2195         CSS JIT: clean up the functions ending when generating a checker with context
2196         https://bugs.webkit.org/show_bug.cgi?id=130959
2197
2198         Reviewed by Andreas Kling.
2199
2200         This code got refactored over time and now both branches do the exact same action
2201         on the stack.
2202         This patch removes the stack split and move the stack cleanup in the common ending
2203         just before restoring the callee saved registers.
2204
2205         * cssjit/SelectorCompiler.cpp:
2206         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
2207
2208 2014-03-31  Beth Dakin  <bdakin@apple.com>
2209
2210         ThemeMac should use std::array instead of IntSize* for control sizes
2211         https://bugs.webkit.org/show_bug.cgi?id=130985
2212
2213         Reviewed by Darin Adler.
2214
2215         Replace uses of const IntSize* with const std::array<IntSize, 3>
2216         * platform/mac/ThemeMac.mm:
2217         (WebCore::sizeFromNSControlSize):
2218         (WebCore::sizeFromFont):
2219         (WebCore::controlSizeFromPixelSize):
2220         (WebCore::setControlSize):
2221         (WebCore::checkboxSizes):
2222         (WebCore::radioSizes):
2223         (WebCore::buttonSizes):
2224         (WebCore::setUpButtonCell):
2225         (WebCore::stepperSizes):
2226
2227 2014-03-31  Hans Muller  <hmuller@adobe.com>
2228
2229         [CSS Shapes] Simplify RasterShape implementation
2230         https://bugs.webkit.org/show_bug.cgi?id=130916
2231
2232         Reviewed by Dean Jackson.
2233
2234         Since only floats can specify shape-outside, the RasterShapeIntervals
2235         class only needs to track the first and last above threshold pixel column
2236         (x1 and x2 in the implementation) for each row. Removed code for dealing with
2237         multiple "runs" per row as well as shape-inside internals.
2238
2239         No new tests, since functionality was only removed.
2240
2241         * rendering/shapes/RasterShape.cpp:
2242         (WebCore::RasterShapeIntervals::computeShapeMarginIntervals):
2243         (WebCore::RasterShapeIntervals::initializeBounds):
2244         (WebCore::RasterShapeIntervals::buildBoundsPath):
2245         (WebCore::RasterShape::getExcludedIntervals):
2246         * rendering/shapes/RasterShape.h:
2247         (WebCore::RasterShapeIntervals::RasterShapeIntervals):
2248         (WebCore::RasterShapeIntervals::intervalAt):
2249         (WebCore::RasterShape::RasterShape):
2250         * rendering/shapes/Shape.cpp:
2251         (WebCore::Shape::createRasterShape):
2252         * rendering/shapes/ShapeInterval.h:
2253         (WebCore::ShapeInterval::unite):
2254
2255 2014-03-31  Andreas Kling  <akling@apple.com>
2256
2257         Always inline toJS() for NodeList.
2258         <https://webkit.org/b/130974>
2259
2260         This is a pretty cheesy optimization, but it's a 3% progression on
2261         Dromaeo/dom-query.html on my MBP.
2262
2263         Reviewed by Benjamin Poulain.
2264
2265         * WebCore.exp.in:
2266         * WebCore.xcodeproj/project.pbxproj:
2267         * bindings/js/JSNodeListCustom.h: Added.
2268         (WebCore::toJS):
2269         * dom/NodeList.idl:
2270
2271 2014-03-31  Benjamin Poulain  <bpoulain@apple.com>
2272
2273         Attempt to fix the 32bits debug builds
2274
2275         The additional debug flags in RefCounted cause the structure to have different alignment
2276         with the 64bits flags.
2277
2278         * rendering/style/RenderStyle.cpp:
2279
2280 2014-03-29  Simon Fraser  <simon.fraser@apple.com>
2281
2282         Clarify some scrolling tree terminology
2283         https://bugs.webkit.org/show_bug.cgi?id=130929
2284
2285         Reviewed by Tim Horton.
2286
2287         Attempt to reduce some ambiguity in scrolling tree terminology.
2288         When async scrolling occurs, there are two tasks we have to perform:
2289         1. Layers need to be updated to reflect the scroll
2290         2. WebCore state has to be updated.
2291         The "updateForViewport" name didn't clearly reflect which of these
2292         tasks was being performed, so rename it to updateLayersAfterViewportChange()
2293         to reflect the fact that it only does the first.
2294         
2295         Remove the Mac implementation of updateLayersAfterViewportChange(), since
2296         it was confsued about this, and was never called anyway.
2297
2298         * WebCore.exp.in:
2299         * page/scrolling/ScrollingTree.cpp:
2300         (WebCore::ScrollingTree::viewportChangedViaDelegatedScrolling):
2301         * page/scrolling/ScrollingTreeScrollingNode.h:
2302         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
2303         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
2304         (WebCore::ScrollingTreeScrollingNodeIOS::updateLayersAfterViewportChange):
2305         (WebCore::ScrollingTreeScrollingNodeIOS::updateForViewport): Deleted.
2306         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
2307         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
2308         (WebCore::ScrollingTreeScrollingNodeMac::updateLayersAfterViewportChange):
2309         (WebCore::ScrollingTreeScrollingNodeMac::updateForViewport): Deleted.
2310
2311 2014-03-31  Tim Horton  <timothy_horton@apple.com>
2312
2313         [iOS WebKit2] Disable tile cohort retention for now
2314         https://bugs.webkit.org/show_bug.cgi?id=130926
2315         <rdar://problem/16465413>
2316
2317         Reviewed by Simon Fraser.
2318
2319         * WebCore.exp.in:
2320         * page/Settings.cpp:
2321         (WebCore::Settings::Settings):
2322         (WebCore::Settings::setScrollingPerformanceLoggingEnabled):
2323         (WebCore::Settings::setAggressiveTileRetentionEnabled): Deleted.
2324         * page/Settings.h:
2325         (WebCore::Settings::aggressiveTileRetentionEnabled): Deleted.
2326         * page/Settings.in:
2327         Use Settings.in for these simple settings.
2328
2329         * platform/graphics/GraphicsLayerClient.h:
2330         (WebCore::GraphicsLayerClient::shouldAggressivelyRetainTiles):
2331         (WebCore::GraphicsLayerClient::shouldTemporarilyRetainTileCohorts):
2332         * platform/graphics/TiledBacking.h:
2333         * platform/graphics/ca/GraphicsLayerCA.cpp:
2334         (WebCore::GraphicsLayerCA::platformCALayerShouldAggressivelyRetainTiles):
2335         (WebCore::GraphicsLayerCA::platformCALayerShouldTemporarilyRetainTileCohorts):
2336         * platform/graphics/ca/GraphicsLayerCA.h:
2337         * platform/graphics/ca/PlatformCALayerClient.h:
2338         (WebCore::PlatformCALayerClient::platformCALayerShouldAggressivelyRetainTiles):
2339         (WebCore::PlatformCALayerClient::platformCALayerShouldTemporarilyRetainTileCohorts):
2340         * rendering/RenderLayerBacking.cpp:
2341         (WebCore::RenderLayerBacking::shouldAggressivelyRetainTiles):
2342         (WebCore::RenderLayerBacking::shouldTemporarilyRetainTileCohorts):
2343         * rendering/RenderLayerBacking.h:
2344         Plumb the two tile-retention settings through to TileController in a pull manner
2345         instead of a push manner, as there were some cases (especially on iOS) where
2346         the settings weren't always getting pushed down.
2347
2348         * platform/graphics/ca/mac/TileController.h:
2349         * platform/graphics/ca/mac/TileController.mm:
2350         (WebCore::TileController::TileController):
2351         (WebCore::TileController::tileRevalidationTimerFired):
2352         (WebCore::TileController::revalidateTiles):
2353         (WebCore::TileController::drawTileMapContents):
2354         Aggressive tile retention wins over temporary retention. If we aren't
2355         using temporary (cohort) retention, throw away the cohort as soon as it
2356         is created.
2357
2358 2014-03-31  Beth Dakin  <bdakin@apple.com>
2359
2360         Radio buttons and checkboxes should share code
2361         https://bugs.webkit.org/show_bug.cgi?id=130915
2362
2363         Reviewed by Sam Weinig.
2364
2365         Radio buttons and checkboxes now share a lot of code. The common term for both is 
2366         toggle buttons.
2367
2368         Move these radio-sizing functions up in the file to be next to the checkbox sizing 
2369         functions.
2370         * platform/mac/ThemeMac.mm:
2371         (WebCore::radioSizes):
2372         (WebCore::radioMargins):
2373         (WebCore::radioSize):
2374
2375         Configures a radio button or a checkbox.
2376         (WebCore::configureToggleButton):
2377
2378         Creates a radio button or a checkbox.
2379         (WebCore::createToggleButtonCell):
2380
2381         Still have a shared cell for each.
2382         (WebCore::sharedRadioCell):
2383         (WebCore::sharedCheckboxCell):
2384
2385         Does the work of the old paintRadio() and paintCheckbox().
2386         (WebCore::paintToggleButton):
2387
2388         Use sharedRadioCell() here.
2389         (WebCore::ThemeMac::inflateControlPaintRect):
2390
2391         Call paintToggleButton() for radio buttons and checkboxes.
2392         (WebCore::ThemeMac::paint):
2393
2394         All gone.
2395         (WebCore::configureCheckbox): Deleted.
2396         (WebCore::createCheckboxCell): Deleted.
2397         (WebCore::paintCheckbox): Deleted.
2398         (WebCore::radio): Deleted.
2399         (WebCore::paintRadio): Deleted.
2400
2401 2014-03-31  Samuel White  <samuel_white@apple.com>
2402
2403         AX: Need ability to get line range for text marker.
2404         https://bugs.webkit.org/show_bug.cgi?id=130906
2405
2406         Reviewed by Chris Fleizach.
2407
2408         Added ability to get line range from any marker on that line. This matches the functionality of existing
2409         attributes such as AXParagraphTextMarkerRangeForTextMarker and AXSentenceTextMarkerRangeForTextMarker.
2410
2411         Test: platform/mac/accessibility/line-range-for-text-marker.html
2412
2413         * accessibility/AccessibilityObject.cpp:
2414         (WebCore::AccessibilityObject::visiblePositionRangeForRange):
2415         (WebCore::AccessibilityObject::lineRangeForPosition):
2416         * accessibility/AccessibilityObject.h:
2417         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2418         (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
2419         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2420
2421 2014-03-31  Anders Carlsson  <andersca@apple.com>
2422
2423         Fix iOS build.
2424
2425         * page/ChromeClient.h:
2426         (WebCore::ChromeClient::updateViewportConstrainedLayers):
2427
2428 2014-03-31  Jer Noble  <jer.noble@apple.com>
2429
2430         [MSE][Mac] Support lease-renewal.
2431         https://bugs.webkit.org/show_bug.cgi?id=130919
2432
2433         Reviewed by Eric Carlson.
2434
2435         Trigger a new key request when receiving an update message containting "renew".
2436
2437         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
2438         (WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest): Drive-by fix; generate a UTF-8
2439             based array.
2440         (WebCore::CDMSessionMediaSourceAVFObjC::update):
2441
2442 2014-03-31  Alexey Proskuryakov  <ap@apple.com>
2443
2444         Remove special handling of soft hyphens in search code
2445         https://bugs.webkit.org/show_bug.cgi?id=130940
2446
2447         Reviewed by Anders Carlsson.
2448
2449         ICU knows to ignore soft hyphens, so we don't need to replace them before searching.
2450
2451         Covered by existing tests.
2452
2453         * editing/TextIterator.cpp:
2454         (WebCore::foldQuoteMark):
2455         (WebCore::foldQuoteMarks):
2456         (WebCore::SearchBuffer::SearchBuffer):
2457         (WebCore::SearchBuffer::append):
2458         (WebCore::foldQuoteMarkOrSoftHyphen): Deleted.
2459         (WebCore::foldQuoteMarksAndSoftHyphens): Deleted.
2460
2461 2014-03-31  Alex Christensen  <achristensen@webkit.org>
2462
2463         Preparation for using Soup on Windows.
2464         https://bugs.webkit.org/show_bug.cgi?id=130615
2465
2466         Reviewed by Carlos Garcia Campos.
2467
2468         * WebCore.vcxproj/WebCore.vcxproj:
2469         * WebCore.vcxproj/WebCore.vcxproj.filters:
2470         Added Soup source files in WinCairo build.
2471         * loader/soup/CachedRawResourceSoup.cpp:
2472         * loader/soup/SubresourceLoaderSoup.cpp:
2473         * platform/soup/SharedBufferSoup.cpp:
2474         * platform/soup/URLSoup.cpp:
2475         * platform/network/NetworkStorageSessionStub.cpp:
2476         Only build if USE(SOUP) to prevent building when USE(CURL) is true.
2477         * platform/network/soup/ResourceHandleSoup.cpp:
2478         Only include unistd.h in non-Visual Studio builds.
2479         This would normally be done with a HAVE_UNISTD_H macro when compiling glib and Soup,
2480         but that would need to be left undefined for Visual Studio.
2481
2482 2014-03-31  Zan Dobersek  <zdobersek@igalia.com>
2483
2484         Unreviewed. Addressing reviewing comments for r166491 that I forgot
2485         to address before landing.
2486
2487         * html/FormController.cpp:
2488         (WebCore::SavedFormState::deserialize): No need to move the std::unique_ptr
2489         object on the way out.
2490         (WebCore::FormController::createSavedFormStateMap): FormKeyGenerator can be
2491         allocated on the stack.
2492         (WebCore::FormController::formStatesFromStateVector): Use auto.
2493
2494 2014-03-20  Carlos Garcia Campos  <cgarcia@igalia.com>
2495
2496         [GTK] Use GMainLoopSource for idle and timeout sources in WebCore
2497         https://bugs.webkit.org/show_bug.cgi?id=130078
2498
2499         Reviewed by Philippe Normand.
2500
2501         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
2502         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
2503         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
2504         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2505         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2506         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2507         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
2508         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
2509         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
2510         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
2511         * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
2512         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2513         * platform/gtk/GtkDragAndDropHelper.cpp:
2514         * platform/gtk/SharedTimerGtk.cpp:
2515
2516 2014-03-31  Andrei Bucur  <abucur@adobe.com>
2517
2518         Wrong layout while animating content in regions
2519         https://bugs.webkit.org/show_bug.cgi?id=125086
2520
2521         Reviewed by David Hyatt.
2522
2523         The region to layer and regions to layer mappings should be cleared when the region chain changes.
2524
2525         Test: fast/regions/layers/region-removed-during-animation.html
2526
2527         * rendering/RenderFlowThread.cpp:
2528         (WebCore::RenderFlowThread::invalidateRegions): Clear the two maps and flag them for recomputation.
2529         (WebCore::RenderFlowThread::cachedRegionForCompositedLayer): Assert that the returned region exists.
2530
2531 2014-03-31  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
2532
2533         Remove hostThisRegister() and hostThisValue()
2534         https://bugs.webkit.org/show_bug.cgi?id=130895
2535
2536         Reviewed by Geoffrey Garen.
2537
2538         Removed hostThisRegister() and hostThisValue() and instead use thisArgumentOffset() and thisValue() respectively.
2539
2540         No new tests, no behavior changes.
2541
2542         * bindings/js/JSNavigatorCustom.cpp:
2543         (WebCore::JSNavigator::webkitGetUserMedia):
2544         * bindings/js/JSPluginElementFunctions.cpp:
2545         (WebCore::callPlugin):
2546         * bindings/scripts/CodeGeneratorJS.pm:
2547         (GenerateImplementation):
2548         * bindings/scripts/test/JS/JSFloat64Array.cpp:
2549         (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
2550         (WebCore::jsFloat64ArrayPrototypeFunctionSet):
2551         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2552         (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
2553         (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
2554         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2555         (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
2556         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2557         (WebCore::jsTestEventTargetPrototypeFunctionItem):
2558         (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
2559         (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
2560         (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
2561         * bindings/scripts/test/JS/JSTestInterface.cpp:
2562         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
2563         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
2564         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3):
2565         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
2566         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
2567         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):
2568         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2569         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
2570         * bindings/scripts/test/JS/JSTestObj.cpp:
2571         (WebCore::jsTestObjPrototypeFunctionVoidMethod):
2572         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
2573         (WebCore::jsTestObjPrototypeFunctionByteMethod):
2574         (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
2575         (WebCore::jsTestObjPrototypeFunctionOctetMethod):
2576         (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
2577         (WebCore::jsTestObjPrototypeFunctionLongMethod):
2578         (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
2579         (WebCore::jsTestObjPrototypeFunctionObjMethod):
2580         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
2581         (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
2582         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
2583         (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
2584         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
2585         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
2586         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
2587         (WebCore::jsTestObjPrototypeFunctionMethodWithException):
2588         (WebCore::jsTestObjPrototypeFunctionCustomMethod):
2589         (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
2590         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
2591         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
2592         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
2593         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
2594         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
2595         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
2596         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
2597         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
2598         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
2599         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
2600         (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
2601         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
2602         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
2603         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
2604         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
2605         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
2606         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
2607         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
2608         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
2609         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
2610         (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
2611         (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
2612         (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
2613         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
2614         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
2615         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
2616         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
2617         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
2618         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
2619         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
2620         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
2621         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
2622         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
2623         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
2624         (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
2625         (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
2626         (WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
2627         (WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
2628         (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
2629         (WebCore::jsTestObjPrototypeFunctionConvert1):
2630         (WebCore::jsTestObjPrototypeFunctionConvert2):
2631         (WebCore::jsTestObjPrototypeFunctionConvert4):
2632         (WebCore::jsTestObjPrototypeFunctionConvert5):
2633         (WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
2634         (WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
2635         (WebCore::jsTestObjPrototypeFunctionOrange):
2636         (WebCore::jsTestObjPrototypeFunctionStrictFunction):
2637         (WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
2638         (WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray):
2639         (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
2640         (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
2641         (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
2642         (WebCore::jsTestObjPrototypeFunctionAny):
2643         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2644         (WebCore::jsTestTypedefsPrototypeFunctionFunc):
2645         (WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
2646         (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
2647         (WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
2648         (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
2649         (WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
2650         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
2651         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
2652         (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
2653         (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException):
2654         * bridge/objc/objc_runtime.mm:
2655         (JSC::Bindings::callObjCFallbackObject):
2656         * bridge/runtime_method.cpp:
2657         (JSC::callRuntimeMethod):
2658
2659 2014-03-31  Zan Dobersek  <zdobersek@igalia.com>
2660
2661         Move the rest of Source/WebCore/html/ code to std::unique_ptr
2662         https://bugs.webkit.org/show_bug.cgi?id=129669
2663
2664         Reviewed by Anders Carlsson.
2665
2666         Replace the remaining uses of OwnPtr, PassOwnPtr under Source/WebCore/html/ with std::unique_ptr.
2667
2668         * html/FormController.cpp:
2669         (WebCore::SavedFormState::SavedFormState):
2670         (WebCore::SavedFormState::deserialize):
2671         (WebCore::FormController::createSavedFormStateMap):
2672         (WebCore::FormController::formElementsState):
2673         (WebCore::FormController::takeStateForFormElement):
2674         (WebCore::FormController::formStatesFromStateVector):
2675         * html/FormController.h:
2676         * html/HTMLAreaElement.cpp:
2677         (WebCore::HTMLAreaElement::mapMouseEvent):
2678         * html/HTMLAreaElement.h:
2679         * html/HTMLCanvasElement.cpp:
2680         (WebCore::HTMLCanvasElement::setSurfaceSize):
2681         (WebCore::HTMLCanvasElement::createImageBuffer):
2682         * html/HTMLCanvasElement.h:
2683         * html/HTMLCollection.h:
2684         * html/HTMLEmbedElement.cpp:
2685         (WebCore::HTMLEmbedElement::parseAttribute):
2686         * html/HTMLFormControlElement.cpp:
2687         (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
2688         * html/HTMLFormControlElement.h:
2689         * html/HTMLFormElement.cpp:
2690         (WebCore::HTMLFormElement::addToPastNamesMap):
2691         * html/HTMLFormElement.h:
2692         * html/HTMLInputElement.cpp:
2693         (WebCore::HTMLInputElement::imageLoader):
2694         (WebCore::HTMLInputElement::resetListAttributeTargetObserver):
2695         * html/HTMLInputElement.h:
2696         (WebCore::HTMLInputElement::hasImageLoader):
2697         * html/HTMLObjectElement.cpp:
2698         (WebCore::HTMLObjectElement::parseAttribute):
2699         * html/HTMLPlugInImageElement.cpp:
2700         (WebCore::HTMLPlugInImageElement::startLoadingImage):
2701         * html/HTMLPlugInImageElement.h:
2702         * html/HTMLVideoElement.cpp:
2703         (WebCore::HTMLVideoElement::didAttachRenderers):
2704         (WebCore::HTMLVideoElement::parseAttribute):
2705         * html/HTMLVideoElement.h:
2706         * html/ValidationMessage.cpp:
2707         (WebCore::ValidationMessage::ValidationMessage):
2708         (WebCore::ValidationMessage::setMessage):
2709         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
2710         (WebCore::ValidationMessage::requestToHideMessage):
2711         * html/ValidationMessage.h:
2712
2713 2014-03-31  Maurice van der Pot  <griffon26@kfk4ever.com>
2714
2715         Fix mixed use of booleans in JPEGImageDecoder.cpp
2716         https://bugs.webkit.org/show_bug.cgi?id=122412
2717
2718         Reviewed by Darin Adler.
2719
2720         Trivial fix for compilation error; no new tests.
2721
2722         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2723         (WebCore::JPEGImageReader::decode):
2724         (WebCore::fill_input_buffer):
2725         Use TRUE/FALSE defined by libjpeg for libjpeg booleans
2726
2727 2014-03-23  Zan Dobersek  <zdobersek@igalia.com>
2728
2729         Move Source/WebCore/rendering/ code to std::unique_ptr
2730         https://bugs.webkit.org/show_bug.cgi?id=129664
2731
2732         Reviewed by Anders Carlsson.
2733
2734         Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/rendering/ with std::unique_ptr.
2735
2736         * platform/graphics/FloatPolygon.cpp:
2737         (WebCore::FloatPolygon::FloatPolygon):
2738         * platform/graphics/FloatPolygon.h:
2739         * rendering/ClipPathOperation.h:
2740         * rendering/FlowThreadController.cpp:
2741         (WebCore::FlowThreadController::ensureRenderFlowThreadWithName):
2742         * rendering/FlowThreadController.h:
2743         * rendering/HitTestLocation.h:
2744         * rendering/HitTestResult.cpp:
2745         (WebCore::HitTestResult::HitTestResult):
2746         (WebCore::HitTestResult::operator=):
2747         (WebCore::HitTestResult::rectBasedTestResult):
2748         (WebCore::HitTestResult::mutableRectBasedTestResult):
2749         * rendering/HitTestResult.h:
2750         * rendering/HitTestingTransformState.cpp:
2751         * rendering/ImageQualityController.h:
2752         * rendering/RenderBlock.cpp:
2753         (WebCore::removeBlockFromDescendantAndContainerMaps):
2754         (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
2755         (WebCore::RenderBlock::addContinuationWithOutline):
2756         (WebCore::RenderBlock::paintContinuationOutlines):
2757         (WebCore::RenderBlock::insertIntoTrackedRendererMaps):
2758         (WebCore::RenderBlock::removeFromTrackedRendererMaps):
2759         (WebCore::RenderBlock::setComputedColumnCountAndWidth):
2760         * rendering/RenderBlock.h:
2761         * rendering/RenderBlockFlow.cpp:
2762         (WebCore::RenderBlockFlow::createFloatingObjects):
2763         * rendering/RenderBlockFlow.h:
2764         * rendering/RenderBoxRegionInfo.h:
2765         * rendering/RenderButton.cpp:
2766         (WebCore::RenderButton::styleDidChange):
2767         * rendering/RenderButton.h:
2768         * rendering/RenderCounter.cpp:
2769         (WebCore::makeCounterNode):
2770         * rendering/RenderFlowThread.cpp:
2771         (WebCore::RenderFlowThread::updateAllLayerToRegionMappings):
2772         (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
2773         * rendering/RenderFlowThread.h:
2774         * rendering/RenderGeometryMap.cpp:
2775         (WebCore::RenderGeometryMap::push):
2776         (WebCore::RenderGeometryMap::pushView):
2777         * rendering/RenderGeometryMap.h:
2778         * rendering/RenderGrid.cpp:
2779         (WebCore::RenderGrid::GridIterator::nextEmptyGridArea):
2780         (WebCore::RenderGrid::placeItemsOnGrid):
2781         (WebCore::RenderGrid::populateExplicitGridAndOrderIterator):
2782         (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
2783         (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
2784         (WebCore::RenderGrid::resolveGridPositionsFromStyle):
2785         (WebCore::RenderGrid::resolveGridPositionAgainstOppositePosition):
2786         (WebCore::RenderGrid::resolveNamedGridLinePositionAgainstOppositePosition):
2787         (WebCore::RenderGrid::resolveRowStartColumnStartNamedGridLinePositionAgainstOppositePosition):
2788         (WebCore::RenderGrid::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
2789         * rendering/RenderGrid.h:
2790         * rendering/RenderImageResource.h:
2791         * rendering/RenderLayer.cpp:
2792         (WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrder):
2793         (WebCore::RenderLayer::updateTransform):
2794         (WebCore::RenderLayer::setupFilters):
2795         (WebCore::RenderLayer::paintLayerContents):
2796         (WebCore::RenderLayer::paintChildLayerIntoColumns):
2797         (WebCore::RenderLayer::hitTestChildLayerColumns):
2798         (WebCore::RenderLayer::updateClipRects):
2799         (WebCore::RenderLayer::calculateClipRects):
2800         * rendering/RenderLayer.h:
2801         (WebCore::RenderLayer::clearZOrderLists):
2802         * rendering/RenderLayerCompositor.cpp:
2803         (WebCore::RenderLayerCompositor::notifyFlushBeforeDisplayRefresh):
2804         (WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):
2805         * rendering/RenderLayerCompositor.h:
2806         * rendering/RenderLayerFilterInfo.cpp:
2807         (WebCore::RenderLayer::FilterInfo::map):
2808         (WebCore::RenderLayer::FilterInfo::get):
2809         * rendering/RenderLayerFilterInfo.h:
2810         * rendering/RenderRegion.cpp:
2811         (WebCore::RenderRegion::setRenderBoxRegionInfo):
2812         (WebCore::RenderRegion::takeRenderBoxRegionInfo):
2813         * rendering/RenderRegion.h:
2814         * rendering/RenderTable.cpp:
2815         (WebCore::RenderTable::styleDidChange):
2816         * rendering/RenderTable.h:
2817         * rendering/RenderView.cpp:
2818         (WebCore::RenderView::selectionBounds):
2819         (WebCore::RenderView::setSelection):
2820         (WebCore::RenderView::compositor):
2821         (WebCore::RenderView::flowThreadController):
2822         (WebCore::RenderView::imageQualityController):
2823         * rendering/RenderView.h:
2824         * rendering/RootInlineBox.h:
2825         (WebCore::RootInlineBox::appendFloat):
2826         * rendering/TextAutosizer.h:
2827         * rendering/shapes/PolygonShape.cpp:
2828         (WebCore::computeShapePaddingBounds):
2829         (WebCore::computeShapeMarginBounds):
2830         * rendering/shapes/PolygonShape.h:
2831         (WebCore::PolygonShape::PolygonShape):
2832         * rendering/shapes/RasterShape.cpp:
2833         (WebCore::RasterShapeIntervals::computeShapeMarginIntervals):
2834         * rendering/shapes/RasterShape.h:
2835         (WebCore::RasterShape::RasterShape):
2836         * rendering/shapes/Shape.cpp:
2837         (WebCore::createInsetShape):
2838         (WebCore::createRectangleShape):
2839         (WebCore::createCircleShape):
2840         (WebCore::createEllipseShape):
2841         (WebCore::createPolygonShape):
2842         (WebCore::Shape::createShape):
2843         (WebCore::Shape::createRasterShape):
2844         (WebCore::Shape::createLayoutBoxShape):
2845         * rendering/shapes/Shape.h:
2846         * rendering/shapes/ShapeInfo.h:
2847         (WebCore::ShapeInfo::markShapeAsDirty):
2848         (WebCore::ShapeInfo::isShapeDirty):
2849         * rendering/shapes/ShapeInsideInfo.h:
2850         * rendering/style/ContentData.h:
2851         * rendering/style/CounterDirectives.cpp:
2852         (WebCore::clone):
2853         * rendering/style/CounterDirectives.h:
2854         * rendering/style/GridCoordinate.h:
2855         * rendering/style/RenderStyle.cpp:
2856         (WebCore::RenderStyle::addCachedPseudoStyle):
2857         (WebCore::RenderStyle::accessCounterDirectives):
2858         (WebCore::RenderStyle::accessAnimations):
2859         (WebCore::RenderStyle::accessTransitions):
2860         * rendering/style/RenderStyle.h:
2861         * rendering/style/StyleRareNonInheritedData.cpp:
2862         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2863         * rendering/style/StyleRareNonInheritedData.h:
2864         * rendering/svg/RenderSVGResourceGradient.cpp:
2865         (WebCore::RenderSVGResourceGradient::applyResource):
2866         * rendering/svg/RenderSVGResourceGradient.h:
2867         * rendering/svg/RenderSVGResourcePattern.cpp:
2868         (WebCore::RenderSVGResourcePattern::buildPattern):
2869         * rendering/svg/RenderSVGResourcePattern.h:
2870         * rendering/svg/RenderSVGShape.cpp:
2871         (WebCore::RenderSVGShape::updateShapeFromElement):
2872         * rendering/svg/RenderSVGShape.h:
2873         * rendering/svg/SVGResources.cpp:
2874         (WebCore::SVGResources::setClipper):
2875         (WebCore::SVGResources::setFilter):
2876         (WebCore::SVGResources::setMarkerStart):
2877         (WebCore::SVGResources::setMarkerMid):
2878         (WebCore::SVGResources::setMarkerEnd):
2879         (WebCore::SVGResources::setMasker):
2880         (WebCore::SVGResources::setFill):
2881         (WebCore::SVGResources::setStroke):
2882         * rendering/svg/SVGResources.h:
2883         * rendering/svg/SVGResourcesCache.cpp:
2884         (WebCore::SVGResourcesCache::addResourcesFromRenderer):
2885         (WebCore::SVGResourcesCache::removeResourcesFromRenderer):
2886         * rendering/svg/SVGResourcesCache.h:
2887         * rendering/svg/SVGTextMetricsBuilder.cpp:
2888         (WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer):
2889         * rendering/svg/SVGTextMetricsBuilder.h:
2890
2891 2014-03-28  Sergio Villar Senin  <svillar@igalia.com>
2892
2893         Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in loader
2894         https://bugs.webkit.org/show_bug.cgi?id=130893
2895
2896         Reviewed by Darin Adler.
2897
2898         * loader/ImageLoader.cpp:
2899         (WebCore::beforeLoadEventSender):
2900         (WebCore::loadEventSender):
2901         (WebCore::errorEventSender):
2902         * loader/appcache/ApplicationCacheStorage.cpp:
2903         (WebCore::cacheStorage):
2904         * loader/appcache/ApplicationCacheStorage.h:
2905         * loader/archive/ArchiveFactory.cpp:
2906         (WebCore::archiveMIMETypes):
2907         * loader/cache/CachedImage.cpp:
2908         (WebCore::CachedImage::brokenImage):
2909         * loader/cache/CachedRawResource.cpp:
2910         (WebCore::shouldIgnoreHeaderForCacheReuse):
2911         * loader/cache/MemoryCache.cpp:
2912         (WebCore::dummyCachedImageClient):
2913
2914 2014-03-28  Sergio Villar Senin  <svillar@igalia.com>
2915
2916         Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in css
2917         https://bugs.webkit.org/show_bug.cgi?id=130409
2918
2919         Reviewed by Darin Adler.
2920
2921         * css/CSSComputedStyleDeclaration.cpp:
2922         (WebCore::logUnimplementedPropertyID):
2923         * css/CSSDefaultStyleSheets.cpp:
2924         (WebCore::screenEval):
2925         (WebCore::printEval):
2926         * css/CSSParser.cpp:
2927         (WebCore::strictCSSParserContext):
2928         * css/CSSPrimitiveValue.cpp:
2929         (WebCore::cssTextCache):
2930         * css/CSSProperty.cpp:
2931         (WebCore::borderDirections):
2932         * css/CSSStyleRule.cpp:
2933         (WebCore::selectorTextCache):
2934         * css/CSSValuePool.cpp:
2935         (WebCore::cssValuePool):
2936         * css/CSSValuePool.h:
2937         * css/DeprecatedStyleBuilder.cpp:
2938         (WebCore::ApplyPropertyPageSize::getPageSizeFromName):
2939         (WebCore::DeprecatedStyleBuilder::sharedStyleBuilder):
2940         * css/DeprecatedStyleBuilder.h:
2941
2942 2014-03-30  Xabier Rodriguez Calvar  <calvaris@igalia.com>
2943
2944         [GTK] [TextureMapper] Weird brightness with some videos with acceletared compositing
2945         https://bugs.webkit.org/show_bug.cgi?id=130665
2946
2947         Reviewed by Martin Robinson.
2948
2949         When we uploaded a video texture to the mapper we were not
2950         considering that some videos could be decoded into a format
2951         without alpha component. Now we check if the video has alpha and
2952         if it does not, we remove the alpha flag when retrieving the
2953         texture from the pool. For this, the method to get the texture
2954         from the pool was modified to receive the flags, that is mapped to
2955         have alpha by default in order not to break any other existing
2956         code.
2957
2958         Though we have a problem with AC in WTR and that makes it
2959         currently not testable, no new tests are needed because once this
2960         is fixed the current test set suffices to detect a possible
2961         regression in this.
2962
2963         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2964         (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): Check
2965         the video format and decide if the texture shall be pulled with
2966         alpha support or not.
2967         * platform/graphics/texmap/TextureMapper.cpp:
2968         (WebCore::TextureMapper::acquireTextureFromPool): Use the flags
2969         when resetting the texture.
2970         * platform/graphics/texmap/TextureMapper.h:
2971         (WebCore::BitmapTexture::Flag::None): Added with 0x00.
2972         (WebCore::TextureMapper::acquireTextureFromPool): Added flag
2973         parameter to set up the texture with the default for including
2974         alpha channel.
2975
2976 2014-03-30  Jinwoo Song  <jinwoo7.song@samsung.com>
2977
2978         Adopt range-based for loops to TextCheckerEnchant
2979         https://bugs.webkit.org/show_bug.cgi?id=130714
2980
2981         Reviewed by Darin Adler.
2982
2983         * platform/text/enchant/TextCheckerEnchant.cpp:
2984         (WebCore::TextCheckerEnchant::ignoreWord):
2985         (WebCore::TextCheckerEnchant::learnWord):
2986         (WebCore::TextCheckerEnchant::checkSpellingOfWord):
2987         (WebCore::TextCheckerEnchant::getGuessesForWord):
2988         (WebCore::TextCheckerEnchant::updateSpellCheckingLanguages):
2989         (WebCore::TextCheckerEnchant::loadedSpellCheckingLanguages):
2990         (WebCore::TextCheckerEnchant::availableSpellCheckingLanguages):
2991         (WebCore::TextCheckerEnchant::freeEnchantBrokerDictionaries):
2992
2993 2014-03-30  Benjamin Poulain  <benjamin@webkit.org>
2994
2995         Second attempt to fix 32bits build after r166465
2996
2997         * rendering/style/RenderStyle.h:
2998         The compiler probably complain about the return value, that makes more sense.
2999
3000 2014-03-30  Benjamin Poulain  <benjamin@webkit.org>
3001
3002         Attempt to fix 32bits build after r166465
3003
3004         * rendering/style/RenderStyle.h:
3005
3006 2014-03-30  Benjamin Poulain  <benjamin@webkit.org>
3007
3008         Make RenderStyle's non inherited flags more JSC friendly
3009         https://bugs.webkit.org/show_bug.cgi?id=130939
3010
3011         Reviewed by Andreas Kling.
3012
3013         Make RenderStyle::NonInheritedFlags accessible to the JIT:
3014         -Make the struct public to give access to the offset.
3015         -Move away from a bit field to static offsets we can use
3016          with the MacroAssembler.
3017         -Reorder the field to simplify bit access of the flags we need.
3018
3019         * css/DeprecatedStyleBuilder.cpp:
3020         (WebCore::ApplyPropertyVerticalAlign::createHandler):
3021         (WebCore::ApplyPropertyDisplay::applyInitialValue):
3022         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
3023         * css/StyleResolver.cpp:
3024         (WebCore::StyleResolver::adjustRenderStyle):
3025         * rendering/style/RenderStyle.cpp:
3026         (WebCore::RenderStyle::RenderStyle):
3027         (WebCore::RenderStyle::copyNonInheritedFrom):
3028         (WebCore::RenderStyle::hashForTextAutosizing):
3029         (WebCore::RenderStyle::equalForTextAutosizing):
3030         (WebCore::RenderStyle::changeRequiresLayout):
3031         * rendering/style/RenderStyle.h:
3032         (WebCore::RenderStyle::hasAnyPublicPseudoStyles):
3033         (WebCore::RenderStyle::hasPseudoStyle):
3034         (WebCore::RenderStyle::setHasPseudoStyle):
3035         * rendering/style/StyleMultiColData.cpp:
3036         (WebCore::StyleMultiColData::StyleMultiColData):
3037         * rendering/style/StyleRareNonInheritedData.cpp:
3038         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3039
3040 2014-03-30  David Kilzer  <ddkilzer@apple.com>
3041
3042         [iOS] Fix build of HTMLConverter.mm after r166454
3043
3044         Fixes the following build failures:
3045
3046             WebCore/editing/cocoa/HTMLConverter.mm:1507:13: error: value of type 'WebCore::Element' is not contextually convertible to 'bool'
3047                     if (element)
3048                         ^~~~~~~
3049             WebCore/editing/cocoa/HTMLConverter.mm:1508:49: error: no matching function for call to 'core'
3050                         _caches->floatPropertyValueForNode(*core(element), CSSPropertyVerticalAlign, verticalAlign);
3051                                                             ^~~~
3052             In file included from WebCore/editing/cocoa/HTMLConverter.mm:41:
3053             In file included from WebCore/page/Frame.h:42:
3054             In file included from WebCore/editing/VisibleSelection.h:30:
3055             In file included from WebCore/editing/VisiblePosition.h:30:
3056             In file included from WebCore/dom/Position.h:31:
3057             WebCore/editing/TextAffinity.h:54:27: note: candidate function not viable: no known conversion from 'WebCore::Element' to 'NSSelectionAffinity' (aka '_NSSelectionAffinity') for 1st argument
3058             inline WebCore::EAffinity core(NSSelectionAffinity affinity)
3059                                       ^
3060             WebCore/editing/cocoa/HTMLConverter.mm:1509:81: error: reference to non-static member function must be called; did you mean to call it with no arguments?
3061                     attachment.get().bounds = CGRectMake(0, (verticalAlign / 100) * element.clientHeight, element.clientWidth, element.clientHeight);
3062                                                                                     ~~~~~~~~^~~~~~~~~~~~
3063                                                                                                         ()
3064             WebCore/editing/cocoa/HTMLConverter.mm:1509:103: error: reference to non-static member function must be called; did you mean to call it with no arguments?
3065                     attachment.get().bounds = CGRectMake(0, (verticalAlign / 100) * element.clientHeight, element.clientWidth, element.clientHeight);
3066                                                                                                           ~~~~~~~~^~~~~~~~~~~
3067                                                                                                                              ()
3068             WebCore/editing/cocoa/HTMLConverter.mm:1509:124: error: reference to non-static member function must be called; did you mean to call it with no arguments?
3069                     attachment.get().bounds = CGRectMake(0, (verticalAlign / 100) * element.clientHeight, element.clientWidth, element.clientHeight);
3070                                                                                                                                ~~~~~~~~^~~~~~~~~~~~
3071                                                                                                                                                    ()
3072             5 errors generated.
3073
3074         * editing/cocoa/HTMLConverter.mm:
3075         (HTMLConverter::_addAttachmentForElement):
3076
3077 2014-03-30  Andreas Kling  <akling@apple.com>
3078
3079         Make NodeList and HTMLCollection caching helpers use PassRef.
3080         <https://webkit.org/b/130943>
3081
3082         Tweak the helpers in NodeListsNodeData to return PassRef instead of
3083         PassRefPtr. This knocks 2 branches off of some pretty hot code on
3084         Dromaeo/dom-query.
3085
3086         Reviewed by Antti Koivisto.
3087
3088         * dom/ChildNodeList.h:
3089         * dom/ClassNodeList.h:
3090         * dom/NameNodeList.h:
3091         * dom/NodeRareData.h:
3092         (WebCore::NodeListsNodeData::ensureChildNodeList):
3093         (WebCore::NodeListsNodeData::ensureEmptyChildNodeList):
3094         (WebCore::NodeListsNodeData::addCacheWithAtomicName):
3095         (WebCore::NodeListsNodeData::addCacheWithName):
3096         (WebCore::NodeListsNodeData::addCacheWithQualifiedName):
3097         (WebCore::NodeListsNodeData::addCachedCollection):
3098         * dom/TagNodeList.h:
3099         * html/HTMLCollection.cpp:
3100         (WebCore::HTMLCollection::create):
3101         * html/HTMLCollection.h:
3102         * html/HTMLFormControlsCollection.cpp:
3103         (WebCore::HTMLFormControlsCollection::create):
3104         * html/HTMLFormControlsCollection.h:
3105         * html/RadioNodeList.h:
3106
3107 2014-03-29  Antti Koivisto  <antti@apple.com>
3108
3109         LiveNodeLists should use ElementDescendantIterator
3110         https://bugs.webkit.org/show_bug.cgi?id=130931
3111
3112         Reviewed by Andreas Kling.
3113         
3114         Make LiveNodeList traversal use the common DOM tree iterator.
3115
3116         * dom/ChildNodeList.cpp:
3117         (WebCore::ChildNodeList::ChildNodeList):
3118         (WebCore::ChildNodeList::collectionBegin):
3119         (WebCore::ChildNodeList::collectionTraverseForward):
3120         (WebCore::ChildNodeList::collectionTraverseBackward):
3121         (WebCore::ChildNodeList::invalidateCache):
3122         (WebCore::ChildNodeList::collectionFirst): Deleted.
3123         
3124             Iterator for ChildNodeList is still just Node*.
3125
3126         * dom/ChildNodeList.h:
3127         * dom/CollectionIndexCache.h:
3128         (WebCore::CollectionIndexCache::hasValidCache):
3129         (WebCore::Iterator>::CollectionIndexCache):
3130         (WebCore::Iterator>::nodeCount):
3131         (WebCore::Iterator>::computeNodeCountUpdatingListCache):
3132         (WebCore::Iterator>::traverseBackwardTo):
3133         (WebCore::Iterator>::traverseForwardTo):
3134         (WebCore::Iterator>::nodeAt):
3135         (WebCore::Iterator>::invalidate):
3136         
3137             Make CollectionIndexCache iterator based instead of using NodeType*. The iterator type may
3138             still be a Node* though.
3139
3140         (WebCore::NodeType>::CollectionIndexCache): Deleted.
3141         (WebCore::NodeType>::nodeCount): Deleted.
3142         (WebCore::NodeType>::computeNodeCountUpdatingListCache): Deleted.
3143         (WebCore::NodeType>::nodeBeforeCached): Deleted.
3144         (WebCore::NodeType>::nodeAfterCached): Deleted.
3145         (WebCore::NodeType>::nodeAt): Deleted.
3146         (WebCore::NodeType>::invalidate): Deleted.
3147         * dom/ElementDescendantIterator.h:
3148         (WebCore::ElementDescendantIterator::operator--):
3149         
3150             Add backward iteration support.
3151
3152         (WebCore::ElementDescendantIteratorAdapter::last):
3153         (WebCore::ElementDescendantConstIteratorAdapter::last):
3154         
3155             Add a way to get the last item.
3156             Provide std::iterator_traits so we can extract the type.
3157
3158         * dom/LiveNodeList.h:
3159         (WebCore::CachedLiveNodeList::collectionEnd):
3160         (WebCore::CachedLiveNodeList<NodeListType>::CachedLiveNodeList):
3161         (WebCore::CachedLiveNodeList<NodeListType>::~CachedLiveNodeList):
3162         (WebCore::CachedLiveNodeList<NodeListType>::collectionBegin):
3163         (WebCore::CachedLiveNodeList<NodeListType>::collectionLast):
3164         (WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseForward):
3165         (WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseBackward):
3166         (WebCore::CachedLiveNodeList<NodeListType>::invalidateCache):
3167         (WebCore::CachedLiveNodeList<NodeListType>::collectionFirst): Deleted.
3168         
3169             Make LiveNodeList traversal use ElementDescendantIterator.
3170
3171         (WebCore::nextMatchingElement): Deleted.
3172         (WebCore::previousMatchingElement): Deleted.
3173         * html/HTMLCollection.cpp:
3174         (WebCore::HTMLCollection::HTMLCollection):
3175         (WebCore::HTMLCollection::~HTMLCollection):
3176         (WebCore::HTMLCollection::collectionBegin):
3177         (WebCore::HTMLCollection::collectionTraverseForward):
3178         (WebCore::HTMLCollection::collectionTraverseBackward):
3179         (WebCore::HTMLCollection::invalidateCache):
3180         (WebCore::HTMLCollection::collectionFirst): Deleted.
3181         * html/HTMLCollection.h:
3182         (WebCore::HTMLCollection::collectionEnd):
3183         
3184             HTMLCollection still uses Element* as iterator for now.
3185
3186 2014-03-29  Commit Queue  <commit-queue@webkit.org>
3187
3188         Unreviewed, rolling out r166434.
3189         https://bugs.webkit.org/show_bug.cgi?id=130938
3190
3191         Caused crashes and other failures on cache tests (Requested by
3192         ap on #webkit).
3193
3194         Reverted changeset:
3195
3196         "Web Replay: add page-level setting to bypass the MemoryCache"
3197         https://bugs.webkit.org/show_bug.cgi?id=130728
3198         http://trac.webkit.org/changeset/166434
3199
3200 2014-03-29  David Kilzer  <ddkilzer@apple.com>
3201
3202         Preserve selection end positions in directionOfSelection
3203         <http://webkit.org/b/104813>
3204         <rdar://problem/13666417>
3205
3206         Reviewed by Brent Fulgham.
3207
3208         Merged from Blink (patch by kenrb@chromium.org):
3209         https://src.chromium.org/viewvc/blink?revision=150621&view=revision
3210         http://crbug.com/164263
3211
3212             VisibleSelection::visibleStart() and VisibleSelection::visibleEnd()
3213             can both cause layouts, which has the potential to invalidate any
3214             rendertree-based objects. This was causing a problem in
3215             FrameSelection::directionOfSelection(), where a reference to a
3216             lineBox was being held across a call to visibleEnd().
3217
3218             This patch ensures that the any layout is completed before linebox
3219             references are retrieved.
3220
3221         Test: editing/selection/layout-during-move-selection-crash.html
3222
3223         * editing/FrameSelection.cpp:
3224         (WebCore::FrameSelection::directionOfSelection):
3225
3226 2014-03-29  Zalan Bujtas  <zalan@apple.com>
3227
3228         Subpixel rendering: Simple line layout should not round to integral position while painting.
3229         https://bugs.webkit.org/show_bug.cgi?id=130934
3230
3231         Reviewed by Simon Fraser.
3232
3233         Remove rounding to integral position. When RenderLayer is injected and hides subpixel positions,
3234         integral rounding produces different paint position.
3235
3236         Test: fast/flexbox/hidpi-simple-line-layout-with-flexbox-and-transition.html
3237
3238         * rendering/SimpleLineLayoutFunctions.cpp:
3239         (WebCore::SimpleLineLayout::paintFlow):
3240
3241 2014-03-29  Zalan Bujtas  <zalan@apple.com>
3242
3243         Subpixel rendering: Make GraphicsContext::drawImageBuffer* functions float based.
3244         https://bugs.webkit.org/show_bug.cgi?id=130932
3245
3246         Reviewed by Simon Fraser.
3247         
3248         This is in preparation to support device pixel based filter painting.
3249         Filter calculation is still integral based.
3250
3251         No change in behavior.
3252
3253         * platform/graphics/GraphicsContext.cpp:
3254         (WebCore::GraphicsContext::drawImageBuffer):
3255         * platform/graphics/GraphicsContext.h:
3256         * platform/graphics/filters/FilterEffect.cpp: This will eventually be fully float based.
3257         Right now, this IntRect->FloatRect change is only to ensure that we can call 
3258         the float based drawImageBuffer(). 
3259         (WebCore::FilterEffect::drawingRegionOfInputImage):
3260         * platform/graphics/filters/FilterEffect.h:
3261
3262 2014-03-27  Sam Weinig  <sam@webkit.org>
3263
3264         Convert yet more of HTMLConverter to C++
3265         https://bugs.webkit.org/show_bug.cgi?id=130850
3266
3267         Reviewed by Anders Carlsson.
3268
3269         * editing/cocoa/HTMLConverter.mm:
3270         (HTMLConverterCaches::isAncestorsOfStartToBeConverted):
3271         (HTMLConverter::HTMLConverter):
3272         (HTMLConverter::~HTMLConverter):
3273         (HTMLConverter::convert):
3274         (HTMLConverter::computedAttributesForElement):
3275         (HTMLConverter::attributesForElement):
3276         (HTMLConverter::_newParagraphForElement):
3277         (HTMLConverter::_newLineForElement):
3278         (HTMLConverter::_newTabForElement):
3279         (HTMLConverter::_addAttachmentForElement):
3280         (HTMLConverter::_addQuoteForElement):
3281         (HTMLConverter::_addValue):
3282         (HTMLConverter::_processHeadElement):
3283         (HTMLConverter::_enterElement):
3284         (HTMLConverter::_addTableCellForElement):
3285         (HTMLConverter::_processElement):
3286         (HTMLConverter::_addMarkersToList):
3287         (HTMLConverter::_exitElement):
3288         (HTMLConverter::_processText):
3289         (HTMLConverter::_traverseNode):
3290         (HTMLConverter::_traverseFooterNode):
3291         (WebCore::attributedStringFromRange):
3292         (_childrenForNode): Deleted.
3293         (HTMLConverter::_computedAttributesForElement): Deleted.
3294         (HTMLConverter::_attributesForElement): Deleted.
3295         (HTMLConverter::_loadFromDOMRange): Deleted.
3296
3297 2014-03-28  Csaba Osztrogonác  <ossy@webkit.org>
3298
3299         Unreviewed buildfix after r166441 and r166443.
3300
3301         * CMakeLists.txt: Add platform/audio/AudioHardwareListener.cpp.
3302
3303 2014-03-28  Javier Fernandez  <jfernandez@igalia.com>
3304
3305         [CSS Grid Layout] The 'auto' height must be adapted to the item's margin.
3306         https://bugs.webkit.org/show_bug.cgi?id=130920
3307
3308         Reviewed by Darin Adler.
3309
3310         Adding the grid-item's marginLogicalHeight to the used breadth when computing
3311         content based grid-track sizes.
3312
3313         Test: fast/css-grid-layout/grid-item-margin-auto-columns-rows.html
3314
3315         * rendering/RenderGrid.cpp:
3316         (WebCore::RenderGrid::logicalContentHeightForChild):
3317
3318 2014-03-28  James Craig  <jcraig@apple.com>
3319
3320         Web Inspector: AXI: support for live regions
3321         https://bugs.webkit.org/show_bug.cgi?id=130725
3322
3323         Reviewed by Timothy Hatcher.
3324
3325         Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
3326                inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html
3327
3328         Initial support for @aria-live, @aria-atomic, and @aria-busy.
3329
3330         * inspector/InspectorDOMAgent.cpp:
3331         (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
3332         * inspector/protocol/DOM.json:
3333
3334 2014-03-28  Darin Adler  <darin@apple.com>
3335
3336         Fix recently-introduced off-by-one error in centerTruncateToBuffer
3337         https://bugs.webkit.org/show_bug.cgi?id=130889
3338         <rdar://problem/16408694>
3339
3340         Reviewed by Alexey Proskuryakov.
3341
3342         * platform/graphics/StringTruncator.cpp:
3343         (WebCore::centerTruncateToBuffer): Simplified expression that computes truncatedLength.
3344         Removed incorrect "+ 1" from computation of where to write characters.
3345
3346 2014-03-28  Benjamin Poulain  <bpoulain@apple.com>
3347
3348         Update the code related to SelectorPseudoTypeMap to reflect its new purpose
3349         https://bugs.webkit.org/show_bug.cgi?id=130620
3350
3351         Reviewed by Andreas Kling.
3352
3353         Since r166094, SelectorPseudoTypeMap only contains PseudoClass instances and the 4 compatibility PseudoElement.
3354
3355         This patch rename SelectorPseudoTypeMap to SelectorPseudoClassAndCompatibilityElementMap and update the parsing
3356         to split PseudoClass and PseudoElement.
3357
3358         * CMakeLists.txt:
3359         * DerivedSources.make:
3360         * WebCore.xcodeproj/project.pbxproj:
3361         * css/CSSGrammar.y.in:
3362         * css/CSSParserValues.cpp:
3363         (WebCore::CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector):
3364         (WebCore::CSSParserSelector::setPseudoClassValue):
3365         * css/CSSParserValues.h:
3366         * css/CSSSelector.cpp:
3367         (WebCore::appendPseudoClassFunctionTail):
3368         (WebCore::CSSSelector::selectorText):
3369         * css/SelectorPseudoClassAndCompatibilityElementMap.in: Renamed from Source/WebCore/css/SelectorPseudoTypeMap.in.
3370         * css/SelectorPseudoTypeMap.h:
3371         * css/makeSelectorPseudoClassAndCompatibilityElementMap.py: Renamed from Source/WebCore/css/makeSelectorPseudoTypeMap.py.
3372         (enumerablePseudoType):
3373         (expand_ifdef_condition):
3374
3375 2014-03-28  Stephanie Lewis  <slewis@apple.com>
3376
3377         Unreviewed build fix.
3378
3379         * platform/audio/AudioHardwareListener.cpp:
3380         (WebCore::AudioHardwareListener::create):
3381         (WebCore::AudioHardwareListener::audioHardwareListenerIsSupported): Deleted.
3382         * platform/audio/AudioHardwareListener.h:
3383
3384 2014-03-28  Lukasz Bialek  <l.bialek@samsung.com>
3385
3386         Refactor cut and copy functions as suggested in FIXME line
3387         https://bugs.webkit.org/show_bug.cgi?id=129867
3388
3389         Reviewed by Darin Adler.
3390
3391         Cut and Copy functions in Editor.cpp use lots of common code.
3392         Those functions are merged into one to share code, several
3393         additional conditions are added to preserve Cut and Copy
3394         functionality.
3395
3396         * editing/Editor.cpp:
3397         (WebCore::Editor::cut):
3398         (WebCore::Editor::copy):
3399         (WebCore::Editor::performCutOrCopy):
3400         * editing/Editor.h:
3401
3402 2014-03-28  Stephanie Lewis  <slewis@apple.com>
3403
3404         Rename pluginDidEvaluate to better represent when it’s called.
3405         Part of <rdar://problem/16061257> PluginProcess should AppNap when no plugins on active tab.
3406
3407         Reviewed by Anders Carlsson.
3408
3409         No new test because it’s just a name change.
3410
3411         * page/PageThrottler.h:
3412         (WebCore::PageThrottler::pluginDidEvaluateWhileAudioIsPlaying):
3413
3414 2014-03-28  Stephanie Lewis  <slewis@apple.com>
3415
3416         Notification handler for telling if audio hardware is active.
3417         https://bugs.webkit.org/show_bug.cgi?id=130743
3418
3419         Reviewed by Jer Noble.
3420
3421         Not web-exposed so no easy way to test.
3422
3423         Listen to CoreAudio to see if audio hardware is active in the current process.
3424
3425         * WebCore.exp.in:
3426         * WebCore.xcodeproj/project.pbxproj:
3427         * platform/audio/AudioHardwareListener.cpp: Added.
3428         (WebCore::AudioHardwareListener::create):
3429         (WebCore::AudioHardwareListener::AudioHardwareListener):
3430         * platform/audio/AudioHardwareListener.h: Added.
3431         (WebCore::AudioHardwareListener::Client::~Client):
3432         (WebCore::AudioHardwareListener::~AudioHardwareListener):
3433         (WebCore::AudioHardwareListener::isHardwareActive):
3434         * platform/audio/mac/AudioHardwareListenerMac.cpp: Added.
3435         (WebCore::isAudioHardwareProcessRunning):
3436         (WebCore::AudioHardwareListener::create):
3437         (WebCore::AudioHardwareListenerMac::create):
3438         (WebCore::AudioHardwareListenerMac::AudioHardwareListenerMac):
3439         (WebCore::AudioHardwareListenerMac::~AudioHardwareListenerMac):
3440         (WebCore::AudioHardwareListenerMac::setHardwareActive):
3441         * platform/audio/mac/AudioHardwareListenerMac.h: Added.
3442
3443 2014-03-28  James Craig  <jcraig@apple.com>
3444
3445         Web Inspector: AXI: expose what elements get generic "clickable" status
3446         https://bugs.webkit.org/show_bug.cgi?id=130721
3447
3448         Reviewed by Timothy Hatcher.
3449
3450         Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html:
3451         Test: inspector-protocol/dom/getAccessibilityPropertiesForNode_mouseEventNodeId.html
3452
3453         Expose ancestor element link to "Click Listener" or generic "Clickable: Yes" if current node has mouse handler.
3454
3455         Update AccessibilityNodeObject::mouseButtonListener() to optionally return body element if 
3456             requested so that Web Inspector can display body event delegate handlers.
3457
3458         * accessibility/AccessibilityNodeObject.cpp:
3459         (WebCore::AccessibilityNodeObject::mouseButtonListener):
3460         * accessibility/AccessibilityNodeObject.h:
3461         * inspector/InspectorDOMAgent.cpp:
3462         (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
3463         * inspector/protocol/DOM.json:
3464
3465 2014-03-28  Joseph Pecoraro  <pecoraro@apple.com>
3466
3467         Web Inspector: Really drop all locks in nested run loop on iOS if WebThread is enabled
3468         https://bugs.webkit.org/show_bug.cgi?id=130912
3469
3470         Reviewed by Geoffrey Garen.
3471
3472         Previously we were calling DropAllLocks inside of a single line if statement,
3473         so the JSLock was getting reaquired very quickly. We really want to DropAllLocks
3474         for the duration of running the nested run loop on iOS if there is a WebThread.
3475
3476         * bindings/js/PageScriptDebugServer.h:
3477         * bindings/js/PageScriptDebugServer.cpp:
3478         (WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
3479         (WebCore::PageScriptDebugServer::runEventLoopWhilePausedInternal):
3480
3481 2014-03-28  Brent Fulgham  <bfulgham@apple.com>
3482
3483         [Win] Enable Media Track testing features on Windows
3484         https://bugs.webkit.org/show_bug.cgi?id=130851
3485
3486         Reviewed by Eric Carlson.
3487
3488         * testing/Internals.cpp:
3489         (WebCore::Internals::resetToConsistentState): Execute code on Windows as well.
3490         (WebCore::Internals::Internals): Ditto.
3491         (WebCore::Internals::captionsStyleSheetOverride): Ditto.
3492         (WebCore::Internals::setCaptionsStyleSheetOverride): Ditto.
3493         (WebCore::Internals::setPrimaryAudioTrackLanguageOverride): Ditto.
3494         (WebCore::Internals::setCaptionDisplayMode): Ditto.
3495
3496 2014-03-28  Brian Burg  <bburg@apple.com>
3497
3498         Web Replay: add page-level setting to bypass the MemoryCache
3499         https://bugs.webkit.org/show_bug.cgi?id=130728
3500
3501         Reviewed by Timothy Hatcher.
3502
3503         When replaying a specific Page we don't want to store its cached resources in the
3504         MemoryCache. This patch adds a page setting to prevent the page's resources from
3505         being saved in the MemoryCache.
3506
3507         If Settings::usesMemoryCache() is false, page resources are given the special
3508         SessionID bypassCacheSessionID(). The cached resource loader and memory cache
3509         act as if the memory cache is disabled if the resource has this special session id.
3510
3511         Hook up ReplayController to override the memory cache setting during capture/replay.
3512
3513         Test: http/tests/cache/bypass-memory-cache-after-reload.html
3514
3515         * loader/cache/CachedResourceLoader.cpp:
3516         (WebCore::CachedResourceLoader::requestResource):
3517         (WebCore::CachedResourceLoader::revalidateResource):
3518         * loader/cache/MemoryCache.cpp:
3519         (WebCore::MemoryCache::add):
3520         * page/Page.cpp:
3521         (WebCore::Page::sessionID):
3522         * page/SessionID.h:
3523         (WebCore::SessionID::bypassCacheSessionID):
3524         * page/Settings.cpp:
3525         (WebCore::Settings::Settings):
3526         * page/Settings.h:
3527         (WebCore::Settings::setUsesMemoryCache):
3528         (WebCore::Settings::usesMemoryCache):
3529         * replay/ReplayController.cpp:
3530         (WebCore::ReplayController::setForceDeterministicSettings):
3531         * replay/ReplayController.h:
3532         * testing/InternalSettings.cpp:
3533         (WebCore::InternalSettings::Backup::Backup):
3534         (WebCore::InternalSettings::Backup::restoreTo):
3535         (WebCore::InternalSettings::setUsesMemoryCache):
3536         * testing/InternalSettings.h:
3537         * testing/InternalSettings.idl:
3538
3539 2014-03-28  Radu Stavila  <stavila@adobe.com>
3540
3541         In some situations, partial layouts of floating elements produce incorrect results.
3542         https://bugs.webkit.org/show_bug.cgi?id=122668
3543
3544         Reviewed by David Hyatt.
3545
3546         When performing partial layout of float elements and checking if other float
3547         elements are encountered, incorrect results were obtained by not checking
3548         the size of the existing floats vector.
3549
3550         Test: fast/block/float/floats-in-clean-line-crash.html
3551
3552         * rendering/RenderBlockLineLayout.cpp:
3553         (WebCore::RenderBlockFlow::checkFloatsInCleanLine):
3554
3555 2014-03-28  Beth Dakin  <bdakin@apple.com>
3556
3557         Build fix.
3558
3559         * rendering/RenderTheme.cpp:
3560         (WebCore::RenderTheme::paint):
3561
3562 2014-03-28  Jer Noble  <jer.noble@apple.com>
3563
3564         [MSE] Implement support for SourceBuffer.remove()
3565         https://bugs.webkit.org/show_bug.cgi?id=121562
3566
3567         Reviewed by Eric Carlson.
3568
3569         Test: media/media-source/media-source-remove.html
3570
3571         Add support for SourceBuffer.remove().
3572
3573         * Modules/mediasource/SourceBuffer.cpp:
3574         (WebCore::SourceBuffer::SourceBuffer): Initialize new member variables.
3575         (WebCore::SourceBuffer::setTimestampOffset): Update comments to match spec.
3576         (WebCore::SourceBuffer::remove): Added; start removeTimer.
3577         (WebCore::SourceBuffer::abortIfUpdating): Cancel removeTimer.
3578         (WebCore::SourceBuffer::removedFromMediaSource): Call abortIfUpdating().
3579         (WebCore::SourceBuffer::stop): Cancel removeTimer.
3580         (WebCore::SourceBuffer::removeCodedFrames): Added.
3581         (WebCore::SourceBuffer::removeTimerFired): Added.
3582         * Modules/mediasource/SourceBuffer.h:
3583         * Modules/mediasource/SourceBuffer.idl:
3584
3585 2014-03-27  Dean Jackson  <dino@apple.com>
3586
3587         Support form controls that may need incremental redraw
3588         https://bugs.webkit.org/show_bug.cgi?id=130736
3589
3590         Reviewed by Beth Dakin.
3591
3592         There are some form controls that change appearance
3593         over time. Expand the ControlStates so that it can
3594         hold a little more information, including a reference
3595         to the native form control. This way the Theme implementation
3596         can repaint the existing native control if necessary. At
3597         least ThemeMac was reusing a single control for painting
3598         all instances before this change.
3599
3600         Since ControlStates is now a class, pass it around by
3601         reference.
3602
3603         The other major change is keeping a timer to trigger a
3604         repaint in RenderBox, which happens if Theme/RenderTheme
3605         update the ControlState to request one.
3606
3607         * WebCore.xcodeproj/project.pbxproj: Add ControlStates.h.
3608         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
3609         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
3610         * dom/Element.cpp:
3611         (WebCore::Element::setActive): States now within ControlStates.
3612         (WebCore::Element::setHovered): Ditto.
3613         * editing/FrameSelection.cpp:
3614         (WebCore::FrameSelection::focusedOrActiveStateChanged): Ditto.
3615         * html/HTMLFormControlElement.cpp:
3616         (WebCore::HTMLFormControlElement::disabledStateChanged): Ditto.
3617         (WebCore::HTMLFormControlElement::readOnlyAttributeChanged): Ditto.
3618         * html/HTMLInputElement.cpp:
3619         (WebCore::HTMLInputElement::setChecked): Ditto.
3620         (WebCore::HTMLInputElement::setIndeterminate): Ditto.
3621         * html/HTMLOptionElement.cpp:
3622         (WebCore::HTMLOptionElement::parseAttribute): Ditto.
3623         * platform/ControlStates.h: New file. Copied the old ControlStates enum,
3624         and added accessors to hold whether or not the state is dirty, and
3625         a reference to a platform control if necessary.
3626         * platform/Theme.h:
3627         (WebCore::Theme::selectionColor): Pass ControlStates pointer.
3628         (WebCore::Theme::paint): Ditto.
3629         (WebCore::Theme::inflateControlPaintRect): Ditto.
3630         * platform/ThemeTypes.h: Remove ControlStates enum.
3631         * platform/efl/RenderThemeEfl.cpp:
3632         (WebCore::RenderThemeEfl::applyEdjeStateFromForm): Pass ControlStates pointer.
3633         (WebCore::RenderThemeEfl::paintThemePart): Ditto.
3634         * platform/efl/RenderThemeEfl.h: Ditto.
3635         * platform/mac/ThemeMac.h: Ditto.
3636         * platform/mac/ThemeMac.mm:
3637         (-[WebCoreThemeView addSubview:]): New method to make sure we don't add CALayer backed
3638         views to the NSView we're using for rendering.
3639         (WebCore::updateStates): Use the private animated setters if necessary.
3640         (WebCore::convertControlStatesToThemeDrawState): Namespacing.
3641         (WebCore::configureCheckbox): Pass ControlStates pointer.
3642         (WebCore::createCheckboxCell): New helper since we're creating non-static cells.
3643         (WebCore::sharedCheckboxCell): The old static provider, renamed.
3644         (WebCore::paintCheckbox): Check if this paint was triggered by a state change
3645         or an animation. Update the ControlStates if we need to be repainted.
3646         (WebCore::radio): Parameter is now ControlStates*.
3647         (WebCore::paintRadio): Ditto.
3648         (WebCore::setUpButtonCell): Ditto.
3649         (WebCore::button): Ditto.
3650         (WebCore::paintButton): Ditto.
3651         (WebCore::paintStepper): Ditto.
3652         (WebCore::ThemeMac::ensuredView): Ditto.
3653         (WebCore::ThemeMac::inflateControlPaintRect): Ditto.
3654         (WebCore::ThemeMac::paint): Ditto.
3655         (WebCore::checkbox): Deleted.
3656         * rendering/RenderBox.cpp:
3657         (WebCore::RenderBox::RenderBox): Initialize timer.
3658         (WebCore::RenderBox::~RenderBox): Stop any pending timers and delete the ControlState if necessary.
3659         (WebCore::RenderBox::paintBoxDecorations): Create a ControlStates if needed. Paint, and start the repaint
3660         timer if the ControlStates say we should.
3661         (WebCore::RenderBox::repaintTimerFired): Call repaint when the timer fires.
3662         * rendering/RenderBox.h: Add a timer for repainting.
3663         * rendering/RenderElement.cpp:
3664         (WebCore::controlStatesRendererMap): A static HashMap that associates renderers with ControlStates.
3665         (WebCore::RenderElement::hasControlStatesForRenderer):
3666         (WebCore::RenderElement::controlStatesForRenderer):
3667         (WebCore::RenderElement::removeControlStatesForRenderer):
3668         (WebCore::RenderElement::addControlStatesForRenderer):
3669         * rendering/RenderElement.h:
3670         * rendering/RenderTheme.cpp:
3671         (WebCore::RenderTheme::paint): Use a pointer to ControlStates.
3672         (WebCore::RenderTheme::adjustRepaintRect): Ditto.
3673         (WebCore::RenderTheme::stateChanged): Ditto.
3674         (WebCore::RenderTheme::updateControlStatesForRenderer): New method that just updates the states part of ControlStates.
3675         (WebCore::RenderTheme::extractControlStatesForRenderer): New method that calculates the state.
3676         (WebCore::RenderTheme::controlStatesForRenderer): Deleted.
3677         * rendering/RenderTheme.h:
3678         * rendering/RenderThemeMac.mm:
3679         (WebCore::RenderThemeMac::documentViewFor): Use a ControlStates pointer.
3680
3681 2014-03-28  Myles C. Maxfield  <mmaxfield@apple.com>
3682
3683         Clear SVGInlineTextBox fragments when the text changes.
3684         https://bugs.webkit.org/show_bug.cgi?id=130879
3685
3686         Reviewed by Darin Adler.
3687
3688         Ported from Blink: https://src.chromium.org/viewvc/blink?revision=150456&view=revision
3689
3690         This patch modifies SVGInlineTextBox::dirtyLineBoxes to clear all
3691         following text boxes when invoked. Typically this method is called
3692         when the underlying text string changes, and that change needs to
3693         be propagated to all the boxes that use the text beyond the point
3694         where the text is first modified.
3695         
3696         Also cleans up final function keywords for SVGRootInlineBox.
3697
3698         Test: svg/custom/unicode-in-tspan-multi-svg-crash.html
3699
3700         * rendering/InlineTextBox.h: Added (non-recursive) dirtyOwnLineBoxes() function
3701         (WebCore::InlineTextBox::dirtyOwnLineBoxes): Calls dirtyLineBoxes()
3702         * rendering/svg/SVGInlineTextBox.h: Added (non-recursive) dirtyOwnLineBoxes() function
3703         (WebCore::SVGInlineTextBox::dirtyOwnLineBoxes):
3704         * rendering/svg/SVGInlineTextBox.cpp:
3705         (WebCore::SVGInlineTextBox::dirtyOwnLineBoxes): Non-recursive part of dirtyLineBoxes()
3706         (WebCore::SVGInlineTextBox::dirtyLineBoxes): Calls dirtyOwnLineBoxes() in a loop
3707         * rendering/svg/SVGRootInlineBox.h:
3708
3709 2014-03-28  Andreas Kling  <akling@apple.com>
3710
3711         Rebaseline bindings tests.
3712
3713 2014-03-28  Michael Saboff  <msaboff@apple.com>
3714
3715         Unreviewed, rolling r166248 back in.
3716
3717         Turns out r166070 didn't cause a 2% performance loss in page load times
3718
3719         Reverted changeset:
3720
3721         Unreviewed, rolling out r166126.
3722         Rollout r166126 in prepartion to roll out prerequisite r166070
3723
3724 2014-03-26  Antonio Gomes  <a1.gomes@sisa.samsung.com>
3725
3726         [Bindings] constants are always typed to 'int'
3727         https://bugs.webkit.org/show_bug.cgi?id=130775
3728
3729         Reviewed by Darin Adler.
3730
3731         Patch fixes a bug where all constant getter generated
3732         methods were returning 'integer' values due to static_cast.
3733
3734         Compilers should be smarth enough to properly infer which
3735         jsNumber class construtor to call given a literal value.
3736
3737         Patch also fixes a bug where values whose representation
3738         is bigger an integer maximum were overflowing. For instance,
3739         NodeFilter.SHOW_ALL (0xFFFFFFFF).
3740
3741         Tests:
3742         Binding tests updated.
3743         Rebaselined fast/dom/constants.html
3744
3745         * bindings/scripts/CodeGeneratorJS.pm:
3746         (GenerateImplementation):
3747         * bindings/scripts/test/JS/JSTestInterface.cpp:
3748         (WebCore::jsTestInterfaceIMPLEMENTSCONSTANT1):
3749         (WebCore::jsTestInterfaceIMPLEMENTSCONSTANT2):
3750         (WebCore::jsTestInterfaceSUPPLEMENTALCONSTANT1):
3751         (WebCore::jsTestInterfaceSUPPLEMENTALCONSTANT2):
3752         * bindings/scripts/test/JS/JSTestObj.cpp:
3753         (WebCore::jsTestObjCONDITIONAL_CONST):
3754         (WebCore::jsTestObjCONST_VALUE_0):
3755         (WebCore::jsTestObjCONST_VALUE_1):
3756         (WebCore::jsTestObjCONST_VALUE_2):
3757         (WebCore::jsTestObjCONST_VALUE_4):
3758         (WebCore::jsTestObjCONST_VALUE_8):
3759         (WebCore::jsTestObjCONST_VALUE_9):
3760         (WebCore::jsTestObjCONST_VALUE_11):
3761         (WebCore::jsTestObjCONST_VALUE_12):
3762         (WebCore::jsTestObjCONST_VALUE_13):
3763         (WebCore::jsTestObjCONST_VALUE_14):
3764         (WebCore::jsTestObjCONST_JAVASCRIPT):
3765         (WebCore::jsTestObjReadonly):
3766
3767 2014-03-28  Myles C. Maxfield  <mmaxfield@apple.com>
3768
3769         A TrailingObject's endpoint might get decremented twice
3770         https://bugs.webkit.org/show_bug.cgi?id=130874
3771
3772         Reviewed by Darin Adler.
3773
3774         There are two places where we might shave off a trailing space from the end
3775         of a line. We don't want to hit both codepaths for a single line.
3776
3777         Fixes fast/block/update-midpoints-for-trailing-boxes-crash.html after r166245.
3778
3779         * rendering/line/BreakingContextInlineHeaders.h:
3780         (WebCore::checkMidpoints):
3781         (WebCore::BreakingContext::handleEndOfLine):
3782
3783 2014-03-28  Andreas Kling  <akling@apple.com>
3784
3785         Inline JSDOMWrapper subclasses' finishCreation().
3786         <https://webkit.org/b/130890>
3787
3788         finishCreation() is really a no-op for JSDOMWrapper subclasses in
3789         release builds. None of the ancestor classes do anything but assert
3790         in their implementations.
3791
3792         Generate the function inline, reducing binary size, and removing
3793         an unnecessary call from the JSFoo::create() helpers.
3794
3795         Reviewed by Sam Weinig.
3796
3797         * bindings/scripts/CodeGeneratorJS.pm:
3798         (GenerateHeader):
3799         (GenerateImplementation):
3800
3801 2014-03-28  Jer Noble  <jer.noble@apple.com>
3802
3803         [Mac] HLS streams will report an incorrect natural size.
3804         https://bugs.webkit.org/show_bug.cgi?id=130859
3805
3806         Reviewed by Eric Carlson.
3807
3808         Some HLS streams will report incorrect naturalSizes due to the asset's preferredTransform
3809         property not being  available at the same time as the track's natural size. Given that
3810         AVFoundation only allows one video track to be selected at a time, simply use the asset's
3811         presentation size, cached in m_cachedPresentation size in all cases.
3812
3813         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3814         (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged):
3815
3816 2014-03-28  Antti Koivisto  <antti@apple.com>
3817
3818         Remove NodeListRootType flag
3819         https://bugs.webkit.org/show_bug.cgi?id=130896
3820
3821         Reviewed by Anders Carlsson.
3822
3823         This can be handled statically (except for the RadioNodeList case) removing
3824         a branch from NodeList traversal.
3825
3826         * dom/ClassNodeList.h:
3827         * dom/Document.cpp:
3828         (WebCore::Document::registerNodeListForInvalidation):
3829         (WebCore::Document::unregisterNodeListForInvalidation):
3830         (WebCore::Document::registerNodeList): Deleted.
3831         (WebCore::Document::unregisterNodeList): Deleted.
3832         
3833             Mark document invalidation registered lists with a bit.
3834             Renamed for clarity.
3835
3836         * dom/Document.h:
3837         * dom/LiveNodeList.cpp:
3838         (WebCore::LiveNodeList::LiveNodeList):
3839         (WebCore::LiveNodeList::rootNode):
3840         
3841             Base class version that invokes virtual isRootedAtDocument. It is needed to support 
3842             LiveNodeList::namedItem.
3843
3844         * dom/LiveNodeList.h:
3845         (WebCore::LiveNodeList::isRegisteredForInvalidationAtDocument):
3846         (WebCore::LiveNodeList::setRegisteredForInvalidationAtDocument):
3847         (WebCore::LiveNodeList::document):
3848         (WebCore::CachedLiveNodeList<NodeListType>::CachedLiveNodeList):
3849         (WebCore::CachedLiveNodeList<NodeListType>::~CachedLiveNodeList):
3850         (WebCore::CachedLiveNodeList<NodeListType>::rootNode):
3851         
3852             Call isRootedAtDocument on the final leaf type. Except for RadioNodeList this
3853             resolves statically.
3854
3855         (WebCore::CachedLiveNodeList<NodeListType>::willValidateIndexCache):
3856         (WebCore::CachedLiveNodeList<NodeListType>::invalidateCache):
3857         (WebCore::LiveNodeList::isRootedAtDocument): Deleted.
3858         (WebCore::LiveNodeList::rootType): Deleted.
3859         (WebCore::LiveNodeList::rootNode): Deleted.
3860         * dom/NameNodeList.h:
3861         * dom/NodeRareData.h:
3862         (WebCore::NodeListsNodeData::adoptDocument):
3863         * dom/TagNodeList.h:
3864         * html/HTMLCollection.cpp:
3865         (WebCore::rootTypeFromCollectionType):
3866         * html/HTMLCollection.h:
3867         (WebCore::HTMLCollection::isRootedAtDocument):
3868         (WebCore::HTMLCollection::rootType):
3869         
3870             HTMLCollections still needs the flag.
3871
3872         * html/LabelsNodeList.cpp:
3873         (WebCore::LabelsNodeList::LabelsNodeList):
3874         * html/LabelsNodeList.h:
3875         * html/RadioNodeList.cpp:
3876         (WebCore::RadioNodeList::RadioNodeList):
3877         * html/RadioNodeList.h:
3878
3879 2014-03-28  Mario Sanchez Prada  <mario.prada@samsung.com>
3880
3881         [GTK] Geoclue2 providers won't work after reloading
3882         https://bugs.webkit.org/show_bug.cgi?id=130898
3883
3884         Reviewed by Martin Robinson.
3885
3886         Don't reuse the Geoclue2 client proxy between different calls to
3887         startPosition(), and create a new client proxy each time instead.
3888
3889         * platform/geoclue/GeolocationProviderGeoclue2.cpp:
3890         (GeolocationProviderGeoclue::startUpdating): Don't reuse the
3891         client proxy, by always calling geoclue_manager_call_get_client().
3892         (GeolocationProviderGeoclue::stopUpdating): Disconnect from the
3893         'location-updated' signal and dispose the client proxy.
3894
3895 2014-03-28  Diego Pino Garcia  <dpino@igalia.com>
3896
3897         [GTK] Too many redirects visiting www.globalforestwatch.org
3898         https://bugs.webkit.org/show_bug.cgi?id=129681
3899
3900         Reviewed by Martin Robinson.
3901
3902         * platform/gtk/UserAgentGtk.cpp:
3903         (WebCore::standardUserAgent): Append Safari version to UserAgent
3904         string.
3905
3906 2014-03-28  Michael Saboff  <msaboff@apple.com>
3907
3908         Unreviewed, rolling r166249 back in.
3909
3910         Turns out r166070 didn't cause a 2% performance loss in page load times
3911
3912         Reverted changeset:
3913
3914         Unreviewed, rolling out r166070.
3915         Rollout r166070 due to 2% performance loss in page load times
3916
3917 2014-03-28  James Craig  <jcraig@apple.com>
3918
3919         Web Inspector: Copy/paste error. EventListener block in DOM.json uses description from Node.
3920         https://bugs.webkit.org/show_bug.cgi?id=130158
3921
3922         Reviewed by Timothy Hatcher.
3923
3924         * inspector/protocol/DOM.json: Fixed a copy/paste annoyance.
3925
3926 2014-03-27  James Craig  <jcraig@apple.com>
3927
3928         Web Inspector: AXI: expose selectedChildNodeIds of list boxes, tree controls, etc., and reconcile UI with childNodeIds
3929         https://bugs.webkit.org/show_bug.cgi?id=130827
3930
3931         Reviewed by Timothy Hatcher.
3932
3933         Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
3934
3935         Support for selectedChildNodeIds in inspector-protocol: DOM.getAccessibilityPropertiesForNode.
3936
3937         * inspector/InspectorDOMAgent.cpp:
3938         (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
3939         * inspector/protocol/DOM.json:
3940
3941 2014-03-27  Brent Fulgham  <bfulgham@apple.com>
3942
3943         Specify Shadow DOM Pseudo IDs in Media Element Constructors
3944         https://bugs.webkit.org/show_bug.cgi?id=130882
3945
3946         Reviewed by Eric Carlson.
3947
3948         * html/shadow/MediaControlElements.cpp:
3949         (WebCore::MediaControlPanelElement::MediaControlPanelElement): Call setPseudoId in constructor.
3950         (WebCore::MediaControlPanelEnclosureElement::MediaControlPanelEnclosureElement): Ditto.
3951         (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement): Ditto.
3952         (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement): Ditto.
3953         (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement): Ditto.
3954         (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement): Ditto.
3955         (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Ditto.
3956         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Ditto.
3957         (WebCore::MediaControlOverlayPlayButtonElement::MediaControlOverlayPlayButtonElement): Ditto.
3958         (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Ditto.
3959         (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Ditto.
3960         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto.
3961         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto.
3962         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Ditto.
3963         (WebCore::MediaControlClosedCaptionsContainerElement::MediaControlClosedCaptionsContainerElement): Ditto.
3964         (WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement): Ditto.
3965         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Ditto.
3966         (WebCore::MediaControlPanelVolumeSliderElement::MediaControlPanelVolumeSliderElement): Ditto.
3967         (WebCore::MediaControlFullscreenVolumeSliderElement::MediaControlFullscreenVolumeSliderElement): Ditto.
3968         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Ditto.
3969         (WebCore::MediaControlFullscreenVolumeMinButtonElement::MediaControlFullscreenVolumeMinButtonElement): Ditto.
3970         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::MediaControlFullscreenVolumeMaxButtonElement): Ditto.
3971         (WebCore::MediaControlTimeRemainingDisplayElement::MediaControlTimeRemainingDisplayElement): Ditto.
3972         (WebCore::MediaControlCurrentTimeDisplayElement::MediaControlCurrentTimeDisplayElement): Ditto.
3973         (WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement): Ditto.
3974
3975 2014-03-27  Benjamin Poulain  <bpoulain@apple.com>
3976
3977         [iOS][WK2] Adjust the tile coverage on the scrollview's edges
3978         https://bugs.webkit.org/show_bug.cgi?id=130884
3979
3980         Reviewed by Dan Bernstein.
3981
3982         * platform/ios/ScrollViewIOS.mm:
3983         (WebCore::ScrollView::computeCoverageRect):
3984         Pull back the future rect inside the contentRect if it goes outside.
3985         There is no point in retiling for rubberbanding and the extra tiles should be always be
3986         on the opposite side to the edges.
3987
3988 2014-03-27  Joseph Pecoraro  <pecoraro@apple.com>
3989
3990         Remove unused LocaleMac::create method
3991         https://bugs.webkit.org/show_bug.cgi?id=130870
3992
3993         Reviewed by Andreas Kling.
3994
3995         * platform/text/mac/LocaleMac.h:
3996         * platform/text/mac/LocaleMac.mm:
3997         (WebCore::LocaleMac::create): Deleted.
3998         (WebCore::LocaleMac::shortDateFormatter): Deleted.
3999
4000 2014-03-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
4001
4002         Clean up unneeded "mutable" keyword
4003         https://bugs.webkit.org/show_bug.cgi?id=130832
4004
4005         Reviewed by Andreas Kling.
4006
4007         As r166350, this patch cleans up unneeded "mutable" keywords.
4008         Additionally, m_validatedSelectionCache is removed because it is not used anywhere else.
4009
4010         * css/CSSFontFaceRule.h:
4011         * css/CSSStyleRule.h:
4012         * editing/FrameSelection.h:
4013
4014 2014-03-27  Enrica Casucci  <enrica@apple.com>
4015
4016         Add support for AirPlay picker in WK2 for iOS.
4017         https://bugs.webkit.org/show_bug.cgi?id=130855
4018         <rdar://problem/15349859>
4019
4020         Reviewed by Eric Carlson, Joseph Pecoraro and Benjamin Poulain.
4021
4022         Adds support in HTMLMediaSession to display the airplay picker
4023         and to monitor presence of available wireless targets.
4024
4025         * html/HTMLMediaSession.cpp:
4026         (WebCore::HTMLMediaSession::showPlaybackTargetPicker):
4027         (WebCore::HTMLMediaSession::hasWirelessPlaybackTargets):
4028         (WebCore::HTMLMediaSession::setHasPlaybackTargetAvailabilityListeners):
4029