Source/WebCore: The IDB backing store get() method shouldn't call IDB callbacks directly
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-01-22  Brady Eidson  <beidson@apple.com>
2
3         The IDB backing store get() method shouldn't call IDB callbacks directly
4         https://bugs.webkit.org/show_bug.cgi?id=127453
5
6         Reviewed by Beth Dakin.
7
8         * Modules/indexeddb/IDBServerConnection.h:
9         (WebCore::IDBGetResult::IDBGetResult): Add a new structure to hold all of the
10           possible results of a get() call.
11
12         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
13         (WebCore::IDBServerConnectionLevelDB::get): Don't call IDBCallbacks directly.
14           Instead, return the GetResult to the GetOperation which will make IDBCallbacks.
15         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
16
17         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
18         (WebCore::GetOperation::perform): Get all of the IDBGetResults in the completion callback
19           make the appropriate IDBCallback.
20         * Modules/indexeddb/IDBTransactionBackendOperations.h:
21
22 2014-01-22  Dean Jackson  <dino@apple.com>
23
24         Unreviewed attempt to fix 32-bit builds.
25
26         Use long long rather than GC3Dintptr.
27
28         * html/canvas/ANGLEInstancedArrays.cpp:
29         (WebCore::ANGLEInstancedArrays::drawElementsInstancedANGLE):
30         * html/canvas/ANGLEInstancedArrays.h:
31         * html/canvas/WebGLRenderingContext.cpp:
32         (WebCore::WebGLRenderingContext::drawElementsInstanced):
33         * html/canvas/WebGLRenderingContext.h:
34
35 2014-01-21  Brady Eidson  <beidson@apple.com>
36
37         IDB: "Put" support
38         <rdar://problem/15779643> and https://bugs.webkit.org/show_bug.cgi?id=127401
39
40         Reviewed by Alexey Proskuryakov.
41
42         Add persistent encode/decode for storage to the database:
43         * Modules/indexeddb/IDBKey.cpp:
44         (WebCore::IDBKey::encode):
45         (WebCore::IDBKey::decode):
46         * Modules/indexeddb/IDBKey.h:
47
48         Add a data class to represent IDBKey suitable for crossing IPC:
49         * Modules/indexeddb/IDBKeyData.cpp: Added.
50         (WebCore::IDBKeyData::IDBKeyData):
51         (WebCore::IDBKeyData::maybeCreateIDBKey):
52         (WebCore::IDBKeyData::isolatedCopy):
53         * Modules/indexeddb/IDBKeyData.h: Added.
54         (WebCore::IDBKeyData::IDBKeyData):
55
56         * platform/CrossThreadCopier.cpp:
57         (WebCore::IDBKeyData>::copy):
58         * platform/CrossThreadCopier.h:
59
60         * WebCore.exp.in:
61         * WebCore.xcodeproj/project.pbxproj:
62
63 2014-01-22  Dean Jackson  <dino@apple.com>
64
65         [WebGL] Implement ANGLE_instanced_arrays
66         https://bugs.webkit.org/show_bug.cgi?id=127257
67
68         Reviewed by Brent Fulgham.
69
70         Implement the instanced drawing WebGL extension,
71         ANGLE_instanced_arrays. This is currently Mac-only,
72         but should be portable to other platforms if their
73         OpenGL exposes the functions. It's also done in a way
74         that will make exposing it to WebGL2 simple.
75
76         Test: fast/canvas/webgl/angle-instanced-arrays.html
77
78         * CMakeLists.txt:
79         * DerivedSources.cpp:
80         * DerivedSources.make:
81         * GNUmakefile.list.am:
82         * WebCore.vcxproj/WebCore.vcxproj:
83         * WebCore.vcxproj/WebCore.vcxproj.filters:
84         * WebCore.xcodeproj/project.pbxproj:
85         Add the new files to all the build systems.
86
87         * bindings/js/JSWebGLRenderingContextCustom.cpp:
88         (WebCore::toJS): Link JS side to C++ side.
89
90         * html/canvas/ANGLEInstancedArrays.cpp: Added.
91         (WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):
92         * html/canvas/ANGLEInstancedArrays.h: Added.
93         * html/canvas/ANGLEInstancedArrays.idl: Added.
94         New boilerplate files that expose the extension methods.
95
96         * html/canvas/WebGLExtension.h: New extension enum.
97
98         * html/canvas/WebGLRenderingContext.cpp:
99         (WebCore::WebGLRenderingContext::validateVertexAttributes): Add an optional
100         parameter representing the number of instance primitives we are asked
101         to draw. Use that for the draw count if looking at an instanced attribute.
102         Also make sure we see at least one non-instanced attribute.
103         (WebCore::WebGLRenderingContext::validateDrawArrays): Update this so it could
104         be used from either drawArrays or drawArraysInstanced.
105         (WebCore::WebGLRenderingContext::drawArrays):
106         (WebCore::WebGLRenderingContext::validateDrawElements): Same here, now can be
107         used by the instanced and non-instanced versions.
108         (WebCore::WebGLRenderingContext::drawElements):
109         (WebCore::WebGLRenderingContext::getExtension): Create and return the new extension.
110         (WebCore::WebGLRenderingContext::getSupportedExtensions): Add new extension to the list.
111         (WebCore::WebGLRenderingContext::getVertexAttrib): Intercept a query to the divisor
112         attribute and return the value we kept in the state.
113         (WebCore::WebGLRenderingContext::drawArraysInstanced): Call the GC3D method.
114         (WebCore::WebGLRenderingContext::drawElementsInstanced): Ditto.
115         (WebCore::WebGLRenderingContext::vertexAttribDivisor): Ditto.
116
117         * html/canvas/WebGLRenderingContext.h: Define the new methods and parameters.
118
119         * html/canvas/WebGLVertexArrayObjectOES.cpp:
120         (WebCore::WebGLVertexArrayObjectOES::setVertexAttribDivisor): Keep a record of the
121         divisor if we set it.
122         * html/canvas/WebGLVertexArrayObjectOES.h:
123         (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::VertexAttribState):
124
125         * platform/graphics/GraphicsContext3D.h: New enum.
126         * platform/graphics/mac/GraphicsContext3DMac.mm:
127         (WebCore::GraphicsContext3D::drawArraysInstanced): The actual calls into OpenGL.
128         (WebCore::GraphicsContext3D::drawElementsInstanced): Ditto.
129         (WebCore::GraphicsContext3D::vertexAttribDivisor): Ditto.
130
131         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Empty implementations
132         for non-mac platforms.
133
134         * platform/graphics/ios/GraphicsContext3DIOS.h: Define the iOS names for the
135         functions.
136
137 2014-01-22  Zalan Bujtas  <zalan@apple.com>
138
139         [CSS Shapes] shape-inside rectangle layout can fail
140         https://bugs.webkit.org/show_bug.cgi?id=124784
141
142         Reviewed by Darin Adler.
143
144         Early subpixel rounding/flooring/ceiling can have unwanted
145         side effect on the final pixel value. Delay pixel
146         conversions as much as possible.
147
148         Existing test is changed to reflect subpixel functionality.
149
150         * rendering/shapes/RectangleShape.cpp:
151         (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
152
153 2014-01-22  Jochen Eisinger  <jochen@chromium.org>
154
155         Add protocolIsInHTTPFamily for strings and use it where appropriate
156         https://bugs.webkit.org/show_bug.cgi?id=127336
157
158         Reviewed by Alexey Proskuryakov.
159
160         * html/HTMLAnchorElement.cpp:
161         (WebCore::HTMLAnchorElement::parseAttribute):
162         * page/ContentSecurityPolicy.cpp:
163         (WebCore::CSPSource::schemeMatches):
164         * page/SecurityPolicy.cpp:
165         (WebCore::SecurityPolicy::generateReferrerHeader):
166         * platform/URL.cpp:
167         (WebCore::protocolIsInHTTPFamily):
168         * platform/URL.h:
169
170 2014-01-22  Zalan Bujtas  <zalan@apple.com>
171
172         Subpixel Layout: SimpleLineLayout needs more position rounding to match InlineFlowBox layout.
173         https://bugs.webkit.org/show_bug.cgi?id=127404
174
175         Reviewed by Antti Koivisto.
176
177         In order to produce a CSS pixel perfect layout, SimpleLineLayout needs to
178         round line positions to CSS (integral) position similarly to InlineFlowBox.
179
180         Existing tests cover it.
181
182         * rendering/SimpleLineLayoutResolver.h:
183         (WebCore::SimpleLineLayout::RunResolver::Run::rect):
184         (WebCore::SimpleLineLayout::RunResolver::Run::baseline):
185
186 2014-01-22  Joseph Pecoraro  <pecoraro@apple.com>
187
188         Unreviewed rollout of r162534, this caused inspector test failures.
189
190         * bindings/js/PageScriptDebugServer.cpp:
191         (WebCore::PageScriptDebugServer::addListener):
192         (WebCore::PageScriptDebugServer::removeListener):
193         (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
194         (WebCore::PageScriptDebugServer::didRemoveLastListener):
195         * bindings/js/PageScriptDebugServer.h:
196         * bindings/js/ScriptDebugServer.cpp:
197         (WebCore::ScriptDebugServer::ScriptDebugServer):
198         (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
199         (WebCore::ScriptDebugServer::recompileAllJSFunctionsTimerFired):
200         * bindings/js/ScriptDebugServer.h:
201         * bindings/js/WorkerScriptDebugServer.cpp:
202         (WebCore::WorkerScriptDebugServer::addListener):
203         (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
204         (WebCore::WorkerScriptDebugServer::removeListener):
205         * inspector/InspectorProfilerAgent.cpp:
206
207 2014-01-22  peavo@outlook.com  <peavo@outlook.com>
208
209         Crashes in setTextForIterator
210         https://bugs.webkit.org/show_bug.cgi?id=127424
211
212         Reviewed by Brent Fulgham.
213
214         * platform/text/icu/UTextProviderLatin1.cpp:
215         (WebCore::uTextLatin1Clone): Provide correct buffer size in utext_setup function call.
216         (WebCore::uTextLatin1Access): Give correct buffer size to memset call.
217         (WebCore::openLatin1UTextProvider): Ditto.
218
219 2014-01-22  Jer Noble  <jer.noble@apple.com>
220
221         [Mac] MediaPlayerPrivateMediaSourceAVFObjC::load ASSERTs on lots of tests
222         https://bugs.webkit.org/show_bug.cgi?id=127430
223
224         Reviewed by Eric Carlson.
225
226         When other registered media engines cannot load a URL, the engine selection
227         will eventually pick MediaPlayerPrivateMediaSourceAVFObjC and ask it to load
228         the URL. Instead of ASSERTing here, simply reject the URL by setting the
229         network state to FormatError.
230
231         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
232         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):
233
234 2014-01-22  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
235
236         [EFL][GTK] Get EFL and GTK compiling with ACCESSIBILITY disabled
237         https://bugs.webkit.org/show_bug.cgi?id=127119
238
239         Reviewed by Mario Sanchez Prada.
240
241         At build time, the compiler was not able to determine which Timer's constructor to call in AXObjectCache when
242         ACCESSIBILITY is not enabled, fixing that.
243         Also guarding some members in AccessibilityObject that are only being used by EFL and GTK with ACCESSIBILITY.
244
245         * accessibility/AXObjectCache.h:
246         (WebCore::AXObjectCache::AXObjectCache):
247         * accessibility/AccessibilityObject.h:
248
249 2014-01-22  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
250
251         Refactor calculation of hasRx and hasRy values in SVGPathData
252         https://bugs.webkit.org/show_bug.cgi?id=127423
253
254         Reviewed by Darin Adler.
255
256         This is a follow-up on https://bugs.webkit.org/show_bug.cgi?id=127337
257
258         * rendering/svg/SVGPathData.cpp:
259         (WebCore::updatePathFromRectElement):
260
261 2014-01-21  Joseph Pecoraro  <pecoraro@apple.com>
262
263         Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
264         https://bugs.webkit.org/show_bug.cgi?id=127409
265
266         Reviewed by Timothy Hatcher.
267
268         * bindings/js/ScriptDebugServer.h:
269         * bindings/js/ScriptDebugServer.cpp:
270         (WebCore::ScriptDebugServer::ScriptDebugServer):
271         Remove m_recompileTimer and the recompile soon function.
272         We can just recompile immediately in all existing cases.
273
274         * bindings/js/PageScriptDebugServer.h:
275         * bindings/js/PageScriptDebugServer.cpp:
276         (WebCore::PageScriptDebugServer::addListener):
277         (WebCore::PageScriptDebugServer::removeListener):
278         (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
279         (WebCore::PageScriptDebugServer::didAddFirstListener):
280         (WebCore::PageScriptDebugServer::didRemoveLastListener):
281         Add a "didAddFirstListener" to match "didRemoveLastListener".
282         Only recompile functions when we attach the debugger and when
283         we detach the last listener.
284
285         * bindings/js/WorkerScriptDebugServer.cpp:
286         (WebCore::WorkerScriptDebugServer::addListener):
287         (WebCore::WorkerScriptDebugServer::removeListener):
288         (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
289         Same thing. Also rearrange the functions to read better.
290
291         * inspector/InspectorProfilerAgent.cpp:
292         Use the direct recompile function instead of the removed "soon" version.
293
294 2014-01-22  Robert Sipka  <sipka@inf.u-szeged.hu>
295
296         [curl] Improve detecting and handling of SSL client certificate
297         https://bugs.webkit.org/show_bug.cgi?id=125006
298
299         Reviewed by Brent Fulgham.
300
301         Add client certificate handling.
302
303         * platform/network/ResourceHandle.h:
304         * platform/network/curl/ResourceError.h:
305         (WebCore::ResourceError::hasSSLConnectError):
306         * platform/network/curl/ResourceHandleCurl.cpp:
307         (WebCore::ResourceHandle::setClientCertificateInfo):
308         * platform/network/curl/ResourceHandleManager.cpp:
309         (WebCore::ResourceHandleManager::initializeHandle):
310         * platform/network/curl/SSLHandle.cpp:
311         (WebCore::addAllowedClientCertificate):
312         (WebCore::setSSLClientCertificate):
313         * platform/network/curl/SSLHandle.h:
314
315 2014-01-22  Mihai Maerean  <mmaerean@adobe.com>
316
317         [CSS Regions] layerOwner in RenderNamedFlowFragment cannot return null
318         https://bugs.webkit.org/show_bug.cgi?id=127343
319
320         Reviewed by Sam Weinig.
321
322         RenderNamedFlowFragment::layerOwner cannot return null because regions create stacking
323         contexts which create layers.
324
325         No new tests, no functional change.
326
327         * rendering/RenderFlowThread.cpp:
328         (WebCore::RenderFlowThread::hasCompositingRegionDescendant):
329         * rendering/RenderLayer.cpp:
330         (WebCore::RenderLayer::calculateClipRects):
331         * rendering/RenderLayerBacking.cpp:
332         (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread):
333         * rendering/RenderLayerCompositor.cpp:
334         (WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):
335         * rendering/RenderNamedFlowFragment.h:
336
337 2014-01-22  Antti Koivisto  <antti@apple.com>
338
339         Avoid unthrottled layer flushes triggered by RenderLayerCompositor::ensureRootLayer
340         https://bugs.webkit.org/show_bug.cgi?id=127426
341
342         Reviewed by Anders Carlsson.
343         
344         * rendering/RenderLayerCompositor.cpp:
345         (WebCore::RenderLayerCompositor::updateScrollLayerPosition):
346         (WebCore::RenderLayerCompositor::frameViewDidScroll):
347
348             Factor scroll layer position update to a function.
349
350         (WebCore::RenderLayerCompositor::ensureRootLayer):
351         
352             Stop calling frameViewDidChangeSize/frameViewDidScroll. Instead call the relevent functions
353             directly. This avoid unthrottled layer flush that is done when the view actually scrolls.
354
355         * rendering/RenderLayerCompositor.h:
356
357 2014-01-22  Mihai Tica  <mitica@adobe.com>
358
359         [CSS Background Blending] -webkit-background-blend-mode fails for certain SVG files
360         https://bugs.webkit.org/show_bug.cgi?id=127350
361
362         Reviewed by Dirk Schulze.
363
364         The graphics context of the SVG inherits the blend mode set
365         on the background layer. Fix consists in drawing the SVG
366         in a transparency layer.
367
368         Test: css3/compositing/background-blend-mode-svg.html
369
370         * svg/graphics/SVGImage.cpp:
371         (WebCore::SVGImage::draw): Begin a transparency layer if a blend mode is set.
372
373 2014-01-22  Antti Koivisto  <antti@apple.com>
374
375         Update overlay scrollbars in single pass
376         https://bugs.webkit.org/show_bug.cgi?id=127289
377
378         Reviewed by Anders Carlsson.
379
380         * platform/ScrollView.cpp:
381         (WebCore::ScrollView::updateScrollbars):
382         
383             Multi-pass scrollbar resolution is only needed for traditional scrollbars. Overlay scrollbars don't affect layout.
384
385 2014-01-22  Mihnea Ovidenie  <mihnea@adobe.com>
386
387         [CSSRegions] Incorrect layout of a region pseudo children
388         https://bugs.webkit.org/show_bug.cgi?id=126146
389
390         Reviewed by David Hyatt.
391
392         Test: fast/regions/collapse-anonymous-region.html
393
394         A region behaviour, styled using -webkit-flow-from, is modeled using an anonymous
395         block created to fragment the named flow content inside the region. We have to prevent
396         the behaviour of anonymous children collapsing for this block to make sure that the
397         region element children are still laid out properly when the region element becomes an ordinary
398         element.
399
400         * rendering/RenderBlockFlow.h:
401
402 2014-01-21  Ryuan Choi  <ryuan.choi@samsung.com>
403
404         Remove unused "acceleratedCompositingForScrollableFramesEnabled" setting
405         https://bugs.webkit.org/show_bug.cgi?id=127402
406
407         Reviewed by Anders Carlsson.
408
409         compositing/iframes/iframe-composited-scrolling.html is updated because
410         there are no usages in WebCore.
411
412         * page/Settings.in:
413
414 2014-01-21  Alex Christensen  <achristensen@webkit.org>
415
416         Compile fix for using libsoup on Windows.
417         https://bugs.webkit.org/show_bug.cgi?id=127377
418
419         Reviewed by Daniel Bates.
420
421         * platform/network/soup/ProxyResolverSoup.cpp:
422         (soupProxyResolverWkSetProperty):
423         (soupProxyResolverWkGetProperty):
424         (soupProxyResolverWkGetProxyURISync):
425         Replaced uint with unsigned.
426
427 2014-01-21  Daniel Bates  <dabates@apple.com>
428
429         Break up single assertion into two assertions in HTMLMediaElement::returnPlatformLayer()
430
431         Following up after <http://trac.webkit.org/changeset/162473>, we should break up
432         the assertion into two assertions as suggested by Darin Adler. Separating the single
433         assertion into two assertions makes it straightforward to determine the conjunct that
434         failed among other benefits.
435
436         * html/HTMLMediaElement.cpp:
437         (WebCore::HTMLMediaElement::parseAttribute):
438
439 2014-01-21  Brady Eidson  <beidson@apple.com>
440
441         The IDB backing store put() method shouldn't call IDB callbacks directly
442         https://bugs.webkit.org/show_bug.cgi?id=127399
443
444         Reviewed by Beth Dakin.
445
446         Refactor the put() callback to take a resulting key or an error.
447         * Modules/indexeddb/IDBServerConnection.h:
448
449         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
450         (WebCore::PutOperation::perform): Call to the backing store, then perform the
451           appropriate IDB callback whether a key or an error was returned.
452         * Modules/indexeddb/IDBTransactionBackendOperations.h:
453
454         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
455         (WebCore::IDBServerConnectionLevelDB::put): Don’t call IDB callbacks directly.
456           Instead, pass the resulting key/error back to the PutOperation.
457         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
458
459 2014-01-21  Jae Hyun Park  <jae.park@company100.net>
460
461         Use nullptr in HTMLCanvasElement
462         https://bugs.webkit.org/show_bug.cgi?id=127388
463
464         Reviewed by Gyuyoung Kim.
465
466         * html/HTMLCanvasElement.cpp:
467         (WebCore::HTMLCanvasElement::getContext):
468         (WebCore::HTMLCanvasElement::drawingContext):
469         (WebCore::HTMLCanvasElement::existingDrawingContext):
470
471 2014-01-21  László Langó  <llango.u-szeged@partner.samsung.com>
472
473         Assertion failure in Range::nodeWillBeRemoved
474         https://bugs.webkit.org/show_bug.cgi?id=121694
475
476         Reviewed by Ryosuke Niwa.
477
478         Based on Blink a change: https://chromium.googlesource.com/chromium/blink/+/407c1d7b2c45974aa614b3f847ffe9e8fce205fa
479
480         This patch fix an assertion failure. Range::nodeWillBeRemoved() might
481         be called with removed node in ContainerNode, when DOMNodeRemovedFromDocument
482         event handler calls removeChild(), for node being removed.
483
484         Test: fast/dom/Range/remove-twice-crash.html
485
486         * dom/ContainerNode.cpp:
487         (WebCore::ContainerNode::willRemoveChild):
488         * dom/ContainerNode.h:
489
490 2014-01-21  Tim Horton  <timothy_horton@apple.com>
491
492         REGRESSION (r161580): Some PDFs render outside their <img>
493         https://bugs.webkit.org/show_bug.cgi?id=127381
494         <rdar://problem/15872168>
495
496         Reviewed by Simon Fraser.
497
498         * platform/graphics/cg/PDFDocumentImage.cpp:
499         (WebCore::transformContextForPainting):
500         Only try to make the scale uniform if it isn't already, and use the minimum
501         of the two original scales when doing so, so that it is absolutely certain
502         to fit inside space allocated for the image during layout.
503
504 2014-01-21  Simon Fraser  <simon.fraser@apple.com>
505
506         Remove #if PLATFORM(IOS) in various places around customFixedPositionLayoutRect() code
507         https://bugs.webkit.org/show_bug.cgi?id=127373
508
509         Reviewed by Beth Dakin.
510
511         Instead of PLATFORM(IOS) #idefs at every call site for viewportConstrainedVisibleContentRect(),
512         move the #ifdef inside viewportConstrainedVisibleContentRect().
513         
514         The one call site that needs special handling is RenderLayerBacking::updateCompositedBounds(),
515         which needs to avoid clipping fixed layers to the custom fixed position rect, but instead to
516         visibleContentRect() (which is really the document bounds on iOS). This ensures that the
517         fixed layers aren't clipped when zooming out.
518
519         * page/FrameView.cpp:
520         (WebCore::FrameView::viewportConstrainedVisibleContentRect):
521         * rendering/RenderBoxModelObject.cpp:
522         (WebCore::RenderBoxModelObject::stickyPositionOffset):
523         * rendering/RenderLayerBacking.cpp:
524         (WebCore::RenderLayerBacking::updateCompositedBounds):
525         * rendering/RenderLayerCompositor.cpp:
526         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
527         (WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
528         (WebCore::RenderLayerCompositor::computeStickyViewportConstraints):
529
530 2014-01-21  Andy Estes  <aestes@apple.com>
531
532         [iOS] Allow all clients to link against WebCore
533         https://bugs.webkit.org/show_bug.cgi?id=127372
534         
535         Reviewed by Dan Bernstein.
536
537         * Configurations/WebCore.xcconfig:
538
539 2014-01-21  Bear Travis  <betravis@adobe.com>
540
541         [CSS Shapes] Preserve box-shape order when serializing shape values
542         https://bugs.webkit.org/show_bug.cgi?id=127200
543
544         Reviewed by Dirk Schulze.
545
546         Convert the parsed shape-box pair to a CSSValueList rather than directly
547         adding the box value to BasicShape. The CSSValueList preserves the
548         shape-box ordering, and cleans up a little bit of the code shared between
549         clip and shape values.
550
551         Modifying existing parsing tests.
552
553         * css/CSSComputedStyleDeclaration.cpp:
554         (WebCore::shapePropertyValue): Factor out code common to generating shape
555         values.
556         (WebCore::ComputedStyleExtractor::propertyValue): Generate a CSSValueList when
557         you have both a shape and a box.
558         * css/CSSParser.cpp:
559         (WebCore::CSSParser::parseBasicShapeAndOrBox): Factor out code common to clip
560         paths and shape properties that parses the [basic-shape || box] syntax from
561         the CSS Shapes spec.
562         (WebCore::CSSParser::parseShapeProperty): Parse shape-box pairs as a CSSValueList.
563         * css/DeprecatedStyleBuilder.cpp:
564         (WebCore::ApplyPropertyShape::applyValue): Use the CSSValueList for shape-box pairs.
565         * css/CSSValueList.h:
566         (WebCore::CSSValueList::itemWithoutBoundsCheck): Add a const version.
567         * page/animation/CSSPropertyAnimation.cpp:
568         (WebCore::blendFunc): Specify a box when blending.
569         * rendering/style/ShapeValue.h:
570         (WebCore::ShapeValue::createShapeValue): Add a box parameter.
571         (WebCore::ShapeValue::ShapeValue): Ditto.
572
573 2014-01-21  Daniel Bates  <dabates@apple.com>
574
575         Fix the iOS Simulator release build
576
577         Substitute ASSERT_UNUSED() for ASSERT() to resolve a compiler warning
578         that the argument platformLayer is unused. The argument platformLayer
579         is only used in the asserted condition, which isn't compiled in a
580         release build; => the argument is unused in a release build.
581
582         * html/HTMLMediaElement.cpp:
583         (WebCore::HTMLMediaElement::parseAttribute):
584
585 2014-01-21  Zoltan Horvath  <zoltan@webkit.org>
586
587         Since MidpointState is a class, it should behave like a class
588         https://bugs.webkit.org/show_bug.cgi?id=127154
589
590         Reviewed by David Hyatt.
591
592         I modified MidpointState to behave like a class, updated the call sites also.
593
594         No new tests, no behavior change.
595
596         * platform/text/BidiResolver.h:
597         (WebCore::MidpointState::reset):
598         (WebCore::MidpointState::startIgnoringSpaces):
599         (WebCore::MidpointState::stopIgnoringSpaces):
600         (WebCore::MidpointState::midpoints):
601         (WebCore::MidpointState::numMidpoints):
602         (WebCore::MidpointState::currentMidpoint):
603         (WebCore::MidpointState::incrementCurrentMidpoint):
604         (WebCore::MidpointState::decreaseNumMidpoints):
605         (WebCore::MidpointState::betweenMidpoints):
606         (WebCore::MidpointState::setBetweenMidpoints):
607         (WebCore::MidpointState::addMidpoint): Renamed from deprecatedAddMidpoint, since now
608         its private, we no longer need to discourage callers from using it.
609         * rendering/InlineIterator.h:
610         (WebCore::IsolateTracker::addFakeRunIfNecessary):
611         * rendering/RenderBlockLineLayout.cpp:
612         (WebCore::RenderBlockFlow::appendRunsForObject):
613         (WebCore::constructBidiRunsForLine):
614         * rendering/line/BreakingContextInlineHeaders.h:
615         (WebCore::checkMidpoints):
616         * rendering/line/TrailingObjects.cpp:
617         (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
618
619 2014-01-21  Commit Queue  <commit-queue@webkit.org>
620
621         Unreviewed, rolling out r162452.
622         http://trac.webkit.org/changeset/162452
623         https://bugs.webkit.org/show_bug.cgi?id=127366
624
625         broke a few tests on all Mac WebKit1 bots (Requested by
626         thorton on #webkit).
627
628         * WebCore.exp.in:
629         * page/FocusController.cpp:
630         (WebCore::FocusController::FocusController):
631         (WebCore::FocusController::setFocused):
632         (WebCore::FocusController::setActive):
633         (WebCore::FocusController::setContentIsVisible):
634         * page/FocusController.h:
635         (WebCore::FocusController::isActive):
636         (WebCore::FocusController::isFocused):
637         * page/Page.cpp:
638         (WebCore::Page::Page):
639         (WebCore::Page::setIsInWindow):
640         (WebCore::Page::setIsVisuallyIdle):
641         (WebCore::Page::setIsVisible):
642         (WebCore::Page::visibilityState):
643         (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
644         * page/Page.h:
645         (WebCore::Page::isVisible):
646         (WebCore::Page::isInWindow):
647
648 2014-01-21  Chris Fleizach  <cfleizach@apple.com>
649
650         AX: Mac: Expose the visible text of a password field to AX
651         https://bugs.webkit.org/show_bug.cgi?id=127353
652
653         Reviewed by Brent Fulgham.
654
655         The Mac platform should now expose the rendered value of password fields through AX.
656
657         Test: accessibility/password-field-value.html
658
659         * accessibility/AccessibilityRenderObject.cpp:
660         (WebCore::AccessibilityRenderObject::textLength):
661         (WebCore::AccessibilityRenderObject::passwordFieldValue):
662
663 2014-01-21  Robert Sipka  <sipka@inf.u-szeged.hu>
664
665         Support SSL error handling in case of synchronous job.
666         https://bugs.webkit.org/show_bug.cgi?id=125301
667
668         Reviewed by Brent Fulgham.
669
670         Set ssl error informations for the users.
671
672         * platform/network/curl/ResourceHandleManager.cpp:
673         (WebCore::ResourceHandleManager::dispatchSynchronousJob):
674
675 2014-01-21  Simon Fraser  <simon.fraser@apple.com>
676
677         Export systemTotalMemory() and systemMemoryLevel() for MobileSafari
678         https://bugs.webkit.org/show_bug.cgi?id=127360
679
680         Reviewed by Andy Estes.
681         
682         MobileSafari inappropriately calls these WebCore functions directly,
683         so export them.
684
685         * WebCore.exp.in:
686
687 2014-01-21  Simon Fraser  <simon.fraser@apple.com>
688
689         Clean up PLATFORM(IOS) code related to the custom fixed position layout rect
690         https://bugs.webkit.org/show_bug.cgi?id=127362
691
692         Reviewed by Dave Hyatt.
693
694         Various platforms customize the rect used to layout position:fixed elements,
695         and each modified RenderBox::availableLogicalHeight/WidthUsing() in different
696         ways.
697         
698         Clean this up by adding RenderView::clientLogicalWidth/HeightForFixedPosition(),
699         and moving the platform hacks into it.
700
701         * rendering/RenderBox.cpp:
702         (WebCore::RenderBox::availableLogicalHeightUsing):
703         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
704         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
705         * rendering/RenderView.cpp:
706         (WebCore::RenderView::clientLogicalWidthForFixedPosition):
707         (WebCore::RenderView::clientLogicalHeightForFixedPosition):
708         * rendering/RenderView.h:
709
710 2014-01-21  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
711
712         ASSERT(time.isFinite()) in SVGSMILElement::createInstanceTimesFromSyncbase
713         <https://webkit.org/b/108184>
714
715         Reviewed by Philip Rogers.
716
717         In the case a SMILElement timing had a syncbase dependency on an indefinite value
718         the assert were raised. The assert has been removed and a check has been added
719         instead that prevents the addition of indefinite times to the time list.
720
721         Test: svg/animations/smil-syncbase-self-dependency.svg
722
723         * svg/animation/SVGSMILElement.cpp:
724         (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
725           ASSERT removed.
726
727 2014-01-21  Tim Horton  <timothy_horton@apple.com>
728
729         Address late review naming comments after r162453.
730
731         * WebCore.xcodeproj/project.pbxproj:
732         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
733         * platform/graphics/mac/CALayerWebAdditions.h: Removed.
734         * platform/graphics/mac/CALayerWebAdditions.mm: Removed.
735         * platform/graphics/mac/WebCoreCALayerExtras.h: Added.
736         * platform/graphics/mac/WebCoreCALayerExtras.mm: Added.
737         (-[CALayer web_disableAllActions]):
738
739 2014-01-21  Tim Horton  <timothy_horton@apple.com>
740
741         Keep CALayer implicit animation disabling code in a single place
742         https://bugs.webkit.org/show_bug.cgi?id=127355
743
744         Reviewed by Simon Fraser.
745
746         * WebCore.xcodeproj/project.pbxproj:
747         Add CALayerWebAdditions.{h,mm}.
748
749         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
750         (PlatformCALayerMac::commonInit):
751         Remove nullActionsDictionary() and use [CALayer(WebAdditions) web_disableAllActions] instead.
752
753         * platform/graphics/mac/CALayerWebAdditions.h: Added.
754         * platform/graphics/mac/CALayerWebAdditions.mm: Added.
755         (-[CALayer web_disableAllActions]):
756         Added. Disable all implicit actions on the layer.
757
758 2014-01-21  Gavin Barraclough  <barraclough@apple.com>
759
760         Change Page, FocusController to use ViewState
761         https://bugs.webkit.org/show_bug.cgi?id=126533
762
763         Reviewed by Tim Horton.
764
765         These classes currently maintain a set of separate fields to represent the view state;
766         combine these into a single field, and allow WebPage to send the combined update rather
767         than individual changes.
768
769         Maintain existing interface for WebKit1 clients.
770
771         * WebCore.exp.in:
772             - Added WebCore::setViewState, removed WebCore::setIsVisuallyIdle.
773         * page/FocusController.cpp:
774         (WebCore::FocusController::FocusController):
775             - Initialize combined m_viewState.
776         (WebCore::FocusController::setFocused):
777             - Calls setViewState.
778         (WebCore::FocusController::setFocusedInternal):
779             - setFocused -> setFocusedInternal.
780         (WebCore::FocusController::setViewState):
781             - Added, update all ViewState flags.
782         (WebCore::FocusController::setActive):
783             - Calls setViewState.
784         (WebCore::FocusController::setActiveInternal):
785             - setActive -> setActiveInternal.
786         (WebCore::FocusController::setContentIsVisible):
787             - Calls setViewState.
788         (WebCore::FocusController::setContentIsVisibleInternal):
789             - setContentIsVisible -> setContentIsVisibleInternal.
790         * page/FocusController.h:
791         (WebCore::FocusController::isActive):
792         (WebCore::FocusController::isFocused):
793         (WebCore::FocusController::contentIsVisible):
794             - Implemented in terms of ViewState.
795         * page/Page.cpp:
796         (WebCore::Page::Page):
797             - Initialize using PageInitialViewState.
798         (WebCore::Page::setIsInWindow):
799             - Calls setViewState.
800         (WebCore::Page::setIsInWindowInternal):
801             - setIsInWindow -> setIsInWindowInternal.
802         (WebCore::Page::setIsVisuallyIdleInternal):
803             - setIsVisuallyIdle -> setIsVisuallyIdleInternal.
804         (WebCore::Page::setViewState):
805             - Added, update all ViewState flags, including FocusController.
806         (WebCore::Page::setIsVisible):
807             - Calls setViewState.
808         (WebCore::Page::setIsVisibleInternal):
809             - setIsVisible -> setIsVisibleInternal.
810         (WebCore::Page::visibilityState):
811             - m_isVisible -> isVisible()
812         (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
813             - m_isVisible -> isVisible()
814         * page/Page.h:
815         (WebCore::Page::isVisible):
816         (WebCore::Page::isInWindow):
817             - Implemented in terms of ViewState.
818         (WebCore::Page::scriptedAnimationsSuspended):
819             - Combined member fields into ViewState::Flags.
820
821 2014-01-21  Lauro Neto  <lauro.neto@openbossa.org>
822
823         Remove PLATFORM(NIX) from WebCore
824         https://bugs.webkit.org/show_bug.cgi?id=127299
825
826         Reviewed by Anders Carlsson.
827
828         * editing/Editor.cpp:
829         (WebCore::Editor::cut):
830         (WebCore::Editor::copy):
831         (WebCore::Editor::copyImage):
832         * editing/Editor.h:
833         * html/HTMLCanvasElement.h:
834         * loader/EmptyClients.h:
835         * loader/FrameLoader.cpp:
836         (WebCore::FrameLoader::defaultObjectContentType):
837         * page/ChromeClient.h:
838         * page/DragController.cpp:
839         (WebCore::DragController::startDrag):
840         * platform/Cursor.h:
841         * platform/DragData.h:
842         * platform/DragImage.h:
843         * platform/FileSystem.h:
844         * platform/LocalizedStrings.h:
845         * platform/Widget.h:
846         * platform/audio/FFTFrame.h:
847         * platform/audio/HRTFElevation.cpp:
848         * platform/cairo/WidgetBackingStore.h:
849         * platform/graphics/ANGLEWebKitBridge.h:
850         * platform/graphics/FontPlatformData.h:
851         * platform/graphics/GLContext.cpp:
852         (WebCore::GLContext::createContextForWindow):
853         * platform/graphics/GLContext.h:
854         * platform/graphics/GraphicsContext3D.h:
855         * platform/graphics/GraphicsContext3DPrivate.cpp:
856         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
857         * platform/graphics/OpenGLESShims.h:
858         * platform/graphics/OpenGLShims.cpp:
859         (WebCore::getProcAddress):
860         * platform/graphics/OpenGLShims.h:
861         * platform/graphics/PlatformLayer.h:
862         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
863         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
864         (WebCore::Extensions3DOpenGL::createVertexArrayOES):
865         (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
866         (WebCore::Extensions3DOpenGL::isVertexArrayOES):
867         (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
868         (WebCore::Extensions3DOpenGL::supportsExtension):
869         * platform/graphics/opengl/Extensions3DOpenGL.h:
870         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
871         * platform/graphics/opengl/Extensions3DOpenGLES.h:
872         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
873         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
874         (WebCore::GraphicsContext3D::reshape):
875         * platform/graphics/opengl/TemporaryOpenGLSetting.cpp:
876         * platform/graphics/texmap/TextureMapper.h:
877         * platform/network/ResourceHandle.h:
878         * plugins/PluginPackage.cpp:
879         * plugins/PluginView.cpp:
880         (WebCore::PluginView::PluginView):
881         * plugins/PluginView.h:
882         * plugins/PluginViewNone.cpp:
883         * rendering/SimpleLineLayout.cpp:
884         (WebCore::SimpleLineLayout::canUseFor):
885
886 2014-01-21  Eric Carlson  <eric.carlson@apple.com>
887
888         Add &lrm; &rlm; and &nbsp; to WebVTT parser
889         https://bugs.webkit.org/show_bug.cgi?id=85112
890
891         Reviewed by Jer Noble.
892
893         No new tests, track-webvtt-tc022-entities.html was updated to test this.
894
895         * html/track/WebVTTTokenizer.cpp:
896         (WebCore::WebVTTTokenizer::nextToken): Support RLM, LRM, and NBSP entities.
897
898 2014-01-21  Commit Queue  <commit-queue@webkit.org>
899
900         Unreviewed, rolling out r162354.
901         http://trac.webkit.org/changeset/162354
902         https://bugs.webkit.org/show_bug.cgi?id=127354
903
904         Appears to have broken accessibility in a non-trivial way
905         (Requested by ap on #webkit).
906
907         * platform/ScrollView.cpp:
908         (WebCore::ScrollView::updateScrollbars):
909
910 2014-01-21  Commit Queue  <commit-queue@webkit.org>
911
912         Unreviewed, rolling out r162445.
913         http://trac.webkit.org/changeset/162445
914         https://bugs.webkit.org/show_bug.cgi?id=127351
915
916         It broke the 32 bit GTK build (Requested by Ossy on #webkit).
917
918         * rendering/style/StyleRareInheritedData.cpp:
919
920 2014-01-21  László Langó  <llango.u-szeged@partner.samsung.com>
921
922         Wrong struct size when CSS_IMAGE_ORIENTATION and CSS3_TEXT_DECORATION are enabled.
923         https://bugs.webkit.org/show_bug.cgi?id=127346
924
925         Efl build fix.
926
927         Reviewed by Csaba Osztrogonác.
928
929         * rendering/style/StyleRareInheritedData.cpp:
930
931 2014-01-21  Antti Koivisto  <antti@apple.com>
932
933         Delay initial layer flush during loading on all platforms
934         https://bugs.webkit.org/show_bug.cgi?id=127347
935
936         Reviewed by Andreas Kling.
937
938         To reduce unnecessary repaints enable the same behaviour as iOS already has.
939
940         * rendering/RenderLayerCompositor.cpp:
941         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
942         
943             Set the initial state of m_layerFlushThrottlingEnabled correctly.
944
945         (WebCore::RenderLayerCompositor::scheduleLayerFlush):
946         (WebCore::RenderLayerCompositor::startInitialLayerFlushTimerIfNeeded):
947         * rendering/RenderLayerCompositor.h:
948         
949             Enable initial layer flush delay on all platforms.
950
951 2014-01-21  Mihai Tica  <mitica@adobe.com>
952
953         If you set a tiled cross-faded-image or a tiled gradient as
954         a background layer, -webkit-background-blend-mode doesn't work.
955         The problem consists in the blendMode parameter not being set
956         for these specific drawing paths.
957
958         https://bugs.webkit.org/show_bug.cgi?id=126888
959         Reviewed by Dirk Schulze.
960
961         Test: css3/compositing/background-blend-mode-tiled-layers.html
962
963         * platform/graphics/CrossfadeGeneratedImage.cpp:
964         (WebCore::CrossfadeGeneratedImage::drawPattern): Add the blendMode parameter and pass it to ImageBuffer::drawPattern.
965         * platform/graphics/GradientImage.cpp:
966         (WebCore::GradientImage::drawPattern): Add the blendMode parameter and pass it to ImageBuffer::drawPattern.
967         * platform/graphics/ImageBuffer.h: Add a BlendMode parameter to the drawPattern method.
968         * platform/graphics/cairo/ImageBufferCairo.cpp:
969         (WebCore::ImageBuffer::drawPattern): Add the default BlendMode parameter to the method declaration.
970         * platform/graphics/cg/ImageBufferCG.cpp:
971         (WebCore::ImageBuffer::drawPattern): Add and use the blendMode parameter for all the code paths.
972         * platform/graphics/wince/ImageBufferWinCE.cpp:
973         (WebCore::BufferedImage::drawPattern): Add the default BlendMode parameter to the method declaration.
974
975 2014-01-21  Gurpreet Kaur  <k.gurpreet@samsung.com>
976
977         The WebCore.vcxproj.filters doesnot apply
978         https://bugs.webkit.org/show_bug.cgi?id=127338
979
980         Reviewed by Csaba Osztrogonác.
981
982         * WebCore.vcxproj/WebCore.vcxproj.filters:
983         Modified the WebCore.vcxproj.filters so that it is applied when loading
984         WebCore.vcxproj file.
985
986 2014-01-21  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
987
988         Fix SVG animations which set rx or ry attributes
989         https://bugs.webkit.org/show_bug.cgi?id=127337
990
991         Reviewed by Dirk Schulze.
992
993         Test: svg/stroke/animated-non-scaling-rxry.html
994
995         Merged from Blink: https://src.chromium.org/viewvc/blink?revision=152376&view=revision
996
997         * rendering/svg/RenderSVGRect.cpp:
998         (WebCore::RenderSVGRect::updateShapeFromElement):
999         * rendering/svg/SVGPathData.cpp:
1000         (WebCore::updatePathFromRectElement):
1001
1002 2014-01-21  Krzysztof Czech  <k.czech@samsung.com>
1003
1004         [ATK] Expose aria-flowto through ATK_RELATION_FLOWS_TO
1005         https://bugs.webkit.org/show_bug.cgi?id=127291
1006
1007         Reviewed by Mario Sanchez Prada.
1008
1009         Test: accessibility/aria-flowto.html
1010
1011         Expose aria-flowto through ATK_RELATION_FLOWS_TO according to
1012         http://www.w3.org/TR/wai-aria-implementation/#mapping_state-property
1013
1014         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1015         (setAtkRelationSetFromCoreObject):
1016
1017 2014-01-20  Ryuan Choi  <ryuan.choi@samsung.com>
1018
1019         [CMAKE] Remove Nix from CMake scripts
1020         https://bugs.webkit.org/show_bug.cgi?id=127264
1021
1022         Reviewed by Anders Carlsson.
1023
1024         * CMakeLists.txt:
1025
1026 2014-01-20  Anders Carlsson  <andersca@apple.com>
1027
1028         Remove an unused PageGroup function
1029         https://bugs.webkit.org/show_bug.cgi?id=127327
1030
1031         Reviewed by Andreas Kling.
1032
1033         * WebCore.exp.in:
1034         * page/PageGroup.cpp:
1035         * page/PageGroup.h:
1036
1037 2014-01-20  Anders Carlsson  <andersca@apple.com>
1038
1039         Move user style sheet handling to UserContentController
1040         https://bugs.webkit.org/show_bug.cgi?id=127322
1041         <rdar://problem/15861296>
1042
1043         Reviewed by Andreas Kling.
1044
1045         * dom/DocumentStyleSheetCollection.cpp:
1046         (WebCore::DocumentStyleSheetCollection::updateInjectedStyleSheetCache):
1047         * page/PageGroup.cpp:
1048         (WebCore::PageGroup::addUserStyleSheetToWorld):
1049         (WebCore::PageGroup::removeUserStyleSheetFromWorld):
1050         (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
1051         (WebCore::PageGroup::removeAllUserContent):
1052         * page/PageGroup.h:
1053         * page/UserContentController.cpp:
1054         (WebCore::UserContentController::addUserStyleSheet):
1055         (WebCore::UserContentController::removeUserStyleSheet):
1056         (WebCore::UserContentController::removeUserStyleSheets):
1057         (WebCore::UserContentController::removeAllUserContent):
1058         (WebCore::UserContentController::invalidateInjectedStyleSheetCacheInAllFrames):
1059         * page/UserContentController.h:
1060         (WebCore::UserContentController::userStyleSheets):
1061
1062 2014-01-20  Benjamin Poulain  <benjamin@webkit.org>
1063
1064         Add a nicer way to iterate over all the attributes of an element
1065         https://bugs.webkit.org/show_bug.cgi?id=127266
1066
1067         Reviewed by Geoffrey Garen.
1068
1069         When using Element::attributeAt() in a loop, the compiler had to generate two kinds of
1070         accessor:
1071         -If the element data is unique, the length and data comes from the attribute Vector.
1072         -If the element data is shared, the data comes from the tail of elementData itself.
1073
1074         The choice was done for every access, which caused the assembly to be a little
1075         hard to follow.
1076         This patch unify the data access by doing everything as a array pointer with offset (getting
1077         that data from Vector when necessary).
1078
1079         To make it easier to do the right thing, a new iterator was added so that range-based loops
1080         can replace all the faulty cases.
1081
1082         * css/SelectorChecker.cpp:
1083         (WebCore::anyAttributeMatches):
1084         * css/SelectorChecker.h:
1085         (WebCore::SelectorChecker::checkExactAttribute):
1086         * dom/DatasetDOMStringMap.cpp:
1087         (WebCore::DatasetDOMStringMap::getNames):
1088         (WebCore::DatasetDOMStringMap::item):
1089         (WebCore::DatasetDOMStringMap::contains):
1090         * dom/Element.cpp:
1091         (WebCore::Element::normalizeAttributes):
1092         (WebCore::Element::detachAllAttrNodesFromElement):
1093         (WebCore::Element::cloneAttributesFromElement):
1094         * dom/Element.h:
1095         (WebCore::Element::attributesIterator):
1096         * dom/ElementData.cpp:
1097         (WebCore::ElementData::isEquivalent):
1098         (WebCore::ElementData::findAttributeIndexByNameSlowCase):
1099         * dom/ElementData.h:
1100         (WebCore::AttributeConstIterator::AttributeConstIterator):
1101         (WebCore::AttributeConstIterator::operator*):
1102         (WebCore::AttributeConstIterator::operator->):
1103         (WebCore::AttributeConstIterator::operator++):
1104         (WebCore::AttributeConstIterator::operator==):
1105         (WebCore::AttributeConstIterator::operator!=):
1106         (WebCore::AttributeIteratorAccessor::AttributeIteratorAccessor):
1107         (WebCore::AttributeIteratorAccessor::begin):
1108         (WebCore::AttributeIteratorAccessor::end):
1109         (WebCore::ElementData::attributesIterator):
1110         * dom/Node.cpp:
1111         (WebCore::Node::isDefaultNamespace):
1112         (WebCore::Node::lookupNamespaceURI):
1113         (WebCore::Node::lookupNamespacePrefix):
1114         (WebCore::Node::compareDocumentPosition):
1115         * dom/StyledElement.cpp:
1116         (WebCore::StyledElement::makePresentationAttributeCacheKey):
1117         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
1118         * editing/MarkupAccumulator.cpp:
1119         (WebCore::MarkupAccumulator::appendElement):
1120         * editing/markup.cpp:
1121         (WebCore::completeURLs):
1122         (WebCore::StyledMarkupAccumulator::appendElement):
1123         * html/HTMLEmbedElement.cpp:
1124         (WebCore::HTMLEmbedElement::parametersForPlugin):
1125         * html/HTMLObjectElement.cpp:
1126         (WebCore::HTMLObjectElement::parametersForPlugin):
1127         * inspector/DOMPatchSupport.cpp:
1128         (WebCore::DOMPatchSupport::innerPatchNode):
1129         (WebCore::DOMPatchSupport::createDigest):
1130         * inspector/InspectorDOMAgent.cpp:
1131         (WebCore::InspectorDOMAgent::setAttributesAsText):
1132         (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
1133         * inspector/InspectorNodeFinder.cpp:
1134         (WebCore::InspectorNodeFinder::matchesElement):
1135         * page/PageSerializer.cpp:
1136         (WebCore::isCharsetSpecifyingNode):
1137         * xml/XPathNodeSet.cpp:
1138         (WebCore::XPath::NodeSet::traversalSort):
1139         * xml/XPathStep.cpp:
1140         (WebCore::XPath::Step::nodesInAxis):
1141         * xml/parser/XMLDocumentParserLibxml2.cpp:
1142         (WebCore::XMLDocumentParser::XMLDocumentParser):
1143
1144 2014-01-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1145
1146         Do refactor in collectGradientAttributes() and renderStyleForLengthResolve()
1147         https://bugs.webkit.org/show_bug.cgi?id=126869
1148
1149         Reviewed by Dirk Schulze.
1150
1151         Some SVG functions have done a first iteration by using a boolean flag. This is
1152         one of poor implementations. This patch fix it by extracting a logic into a new method.
1153         Additionally it would be good to use do-while() loop instead of using while() in
1154         renderStyleForLengthResolving() because a first condition is always true.
1155
1156         Merge r165358 from blink.
1157
1158         * svg/SVGLengthContext.cpp:
1159         (WebCore::renderStyleForLengthResolving):
1160         * svg/SVGLinearGradientElement.cpp:
1161         (WebCore::setGradientAttributes):
1162         (WebCore::SVGLinearGradientElement::collectGradientAttributes):
1163         * svg/SVGRadialGradientElement.cpp:
1164         (WebCore::setGradientAttributes):
1165         (WebCore::SVGRadialGradientElement::collectGradientAttributes):
1166
1167 2014-01-20  Anders Carlsson  <andersca@apple.com>
1168
1169         UserContentController should keep track of user scripts
1170         https://bugs.webkit.org/show_bug.cgi?id=127317
1171         <rdar://problem/15861296>
1172
1173         Reviewed by Andreas Kling.
1174
1175         Move handling of user scripts from PageGroup to UserContentController.
1176
1177         * page/Frame.cpp:
1178         (WebCore::Frame::injectUserScripts):
1179         * page/PageGroup.cpp:
1180         (WebCore::PageGroup::addUserScriptToWorld):
1181         (WebCore::PageGroup::removeUserScriptFromWorld):
1182         (WebCore::PageGroup::removeUserScriptsFromWorld):
1183         (WebCore::PageGroup::removeAllUserContent):
1184         * page/PageGroup.h:
1185         * page/UserContentController.cpp:
1186         (WebCore::UserContentController::addUserScript):
1187         (WebCore::UserContentController::removeUserScript):
1188         (WebCore::UserContentController::removeUserScripts):
1189         (WebCore::UserContentController::removeAllUserContent):
1190         * page/UserContentController.h:
1191         (WebCore::UserContentController::userScripts):
1192
1193 2014-01-20  Anders Carlsson  <andersca@apple.com>
1194
1195         Give each page a UserContentController
1196         https://bugs.webkit.org/show_bug.cgi?id=127315
1197         <rdar://problem/15861296>
1198
1199         Reviewed by Andreas Kling.
1200
1201         Add a UserContentController object to PageGroup and have the page group set it on any
1202         pages that are added to the page group.
1203
1204         This is another step towards moving handling of user content away from PageGroup and make it
1205         possible for each page to have different user content.
1206
1207         * page/Page.cpp:
1208         (WebCore::Page::~Page):
1209         (WebCore::Page::setUserContentController):
1210         * page/Page.h:
1211         (WebCore::Page::userContentController):
1212         * page/PageGroup.cpp:
1213         (WebCore::PageGroup::PageGroup):
1214         (WebCore::PageGroup::addPage):
1215         (WebCore::PageGroup::removePage):
1216         * page/PageGroup.h:
1217         * page/UserContentController.cpp:
1218         (WebCore::UserContentController::addPage):
1219         (WebCore::UserContentController::removePage):
1220         * page/UserContentController.h:
1221
1222 2014-01-20  Jeremy Jones  <jeremyj@apple.com>
1223
1224         Add AVKit fullscreen video interface.
1225         https://bugs.webkit.org/show_bug.cgi?id=126818
1226
1227         Reviewed by Eric Carlson.
1228
1229         No new tests, no observable change in functionality.
1230
1231         * WebCore.exp.in:
1232         * WebCore.xcodeproj/project.pbxproj:
1233         * html/HTMLMediaElement.cpp:
1234         (WebCore::HTMLMediaElement::parseAttribute):
1235         * html/HTMLMediaElement.h:
1236         Add ability for fullscreen to borrow the AVPlayerLayer.
1237         * page/Settings.cpp:
1238         * page/Settings.h:
1239         (WebCore::Settings::setMediaPlaybackFullscreenAVKit):
1240         (WebCore::Settings::mediaPlaybackFullscreenAVKit):
1241         Add a disabled setting.
1242         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1243         (WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen):
1244         Enabled fullscreen for iOS.
1245         * platform/ios/WebVideoFullscreenControllerAVKit.h: Added.
1246         * platform/ios/WebVideoFullscreenControllerAVKit.mm: Added.
1247         (-[WebAVPlayerController init]):
1248         (-[WebAVPlayerController dealloc]):
1249         (-[WebAVPlayerController forwardingTargetForSelector:]):
1250         (-[WebAVPlayerController shouldDismissForDone]):
1251         (-[WebAVPlayerController play:]):
1252         (-[WebAVPlayerController pause:]):
1253         (-[WebAVPlayerController togglePlayback:]):
1254         (-[WebAVPlayerController isPlaying]):
1255         (-[WebAVPlayerController setPlaying:]):
1256         (+[WebAVPlayerController keyPathsForValuesAffectingPlaying]):
1257         (-[WebAVPlayerController seekToTime:]):
1258         (-[WebAVPlayerController updateTimingWithCurrentTime:]):
1259         (-[WebAVPlayerController effectiveRate]):
1260         (-[WebAVPlayerController setMediaElement:]):
1261         (-[WebAVPlayerController handleEvent:]):
1262         (-[WebVideoFullscreenController init]):
1263         (-[WebVideoFullscreenController dealloc]):
1264         (-[WebVideoFullscreenController setMediaElement:]):
1265         (-[WebVideoFullscreenController mediaElement]):
1266         (-[WebVideoFullscreenController enterFullscreen:]):
1267         (-[WebVideoFullscreenController exitFullscreen]):
1268         Add WebAVPlayerController for HTMLMediaElememt to interface with AVPlayerViewController.
1269
1270 2014-01-20  Zan Dobersek  <zdobersek@igalia.com>
1271
1272         Replace uses of std::forward<T>(), std::unique_ptr<T>::clear() that landed in r162368
1273         https://bugs.webkit.org/show_bug.cgi?id=127306
1274
1275         Reviewed by Darin Adler.
1276
1277         Address the post-landing reviews of the r162368 commit that moved WebAudio source code to using std::unique_ptr.
1278         std::move() should be used instead of std::forward<T>() in HRTFKernel::create().
1279         Instead of calling std::unique_ptr<T>::reset(), nullptr should be assigned to that smart pointer to reset it.
1280
1281         * Modules/webaudio/ConvolverNode.cpp:
1282         (WebCore::ConvolverNode::uninitialize):
1283         * Modules/webaudio/DynamicsCompressorNode.cpp:
1284         (WebCore::DynamicsCompressorNode::uninitialize):
1285         * Modules/webaudio/MediaElementAudioSourceNode.cpp:
1286         (WebCore::MediaElementAudioSourceNode::setFormat):
1287         * Modules/webaudio/PannerNode.cpp:
1288         (WebCore::PannerNode::uninitialize):
1289         * platform/audio/AudioChannel.h:
1290         (WebCore::AudioChannel::set):
1291         * platform/audio/HRTFDatabaseLoader.cpp:
1292         (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
1293         * platform/audio/HRTFKernel.h:
1294         (WebCore::HRTFKernel::create):
1295
1296 2014-01-20  Joseph Pecoraro  <pecoraro@apple.com>
1297
1298         Modernize WebCore/inspector with nullptr
1299         https://bugs.webkit.org/show_bug.cgi?id=127303
1300
1301         Reviewed by Anders Carlsson.
1302
1303         Ran clang-modernize -use-nullptr over WebCore/inspector.
1304
1305         * inspector/ConsoleMessage.cpp:
1306         (WebCore::ConsoleMessage::ConsoleMessage):
1307         * inspector/ConsoleMessage.h:
1308         * inspector/ContentSearchUtils.cpp:
1309         (WebCore::ContentSearchUtils::findMagicComment):
1310         * inspector/DOMEditor.cpp:
1311         (WebCore::DOMEditor::SetOuterHTMLAction::SetOuterHTMLAction):
1312         * inspector/DOMPatchSupport.cpp:
1313         (WebCore::DOMPatchSupport::patchDocument):
1314         (WebCore::DOMPatchSupport::patchNode):
1315         (WebCore::DOMPatchSupport::diff):
1316         (WebCore::DOMPatchSupport::innerPatchChildren):
1317         * inspector/InspectorApplicationCacheAgent.cpp:
1318         (WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
1319         (WebCore::InspectorApplicationCacheAgent::assertFrameWithDocumentLoader):
1320         * inspector/InspectorCanvasAgent.cpp:
1321         (WebCore::InspectorCanvasAgent::disable):
1322         (WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
1323         (WebCore::InspectorCanvasAgent::frameNavigated):
1324         * inspector/InspectorConsoleAgent.cpp:
1325         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
1326         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
1327         (WebCore::InspectorConsoleAgent::clearMessages):
1328         (WebCore::InspectorConsoleAgent::didFinishXHRLoading):
1329         (WebCore::InspectorConsoleAgent::didReceiveResponse):
1330         (WebCore::InspectorConsoleAgent::didFailLoading):
1331         * inspector/InspectorConsoleAgent.h:
1332         * inspector/InspectorController.cpp:
1333         (WebCore::InspectorController::inspectedPageDestroyed):
1334         * inspector/InspectorDOMDebuggerAgent.cpp:
1335         (WebCore::InspectorDOMDebuggerAgent::disable):
1336         (WebCore::InspectorDOMDebuggerAgent::discardAgent):
1337         * inspector/InspectorDOMStorageAgent.cpp:
1338         (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
1339         (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
1340         (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
1341         (WebCore::InspectorDOMStorageAgent::findStorageArea):
1342         * inspector/InspectorDatabaseAgent.cpp:
1343         (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
1344         (WebCore::InspectorDatabaseAgent::findByFileName):
1345         (WebCore::InspectorDatabaseAgent::databaseForId):
1346         * inspector/InspectorDebuggerAgent.cpp:
1347         (WebCore::InspectorDebuggerAgent::addMessageToConsole):
1348         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
1349         (WebCore::InspectorDebuggerAgent::didParseSource):
1350         (WebCore::InspectorDebuggerAgent::didContinue):
1351         (WebCore::InspectorDebuggerAgent::clearBreakDetails):
1352         * inspector/InspectorFrontendHost.cpp:
1353         (WebCore::FrontendMenuProvider::disconnect):
1354         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
1355         (WebCore::InspectorFrontendHost::disconnectClient):
1356         * inspector/InspectorHeapProfilerAgent.cpp:
1357         (WebCore::InspectorHeapProfilerAgent::~InspectorHeapProfilerAgent):
1358         * inspector/InspectorIndexedDBAgent.cpp:
1359         (WebCore::assertDocument):
1360         (WebCore::assertIDBFactory):
1361         (WebCore::InspectorIndexedDBAgent::requestData):
1362         * inspector/InspectorInstrumentation.cpp:
1363         (WebCore::frameForScriptExecutionContext):
1364         (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
1365         (WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl):
1366         (WebCore::InspectorInstrumentation::consoleAgentEnabled):
1367         (WebCore::InspectorInstrumentation::unregisterInstrumentingAgents):
1368         (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
1369         (WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
1370         (WebCore::InspectorInstrumentation::instrumentingAgentsForWorkerGlobalScope):
1371         (WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext):
1372         * inspector/InspectorInstrumentation.h:
1373         (WebCore::InspectorInstrumentation::instrumentingAgentsForContext):
1374         (WebCore::InspectorInstrumentation::instrumentingAgentsForFrame):
1375         (WebCore::InspectorInstrumentation::instrumentingAgentsForDocument):
1376         * inspector/InspectorLayerTreeAgent.cpp:
1377         (WebCore::InspectorLayerTreeAgent::disable):
1378         * inspector/InspectorNodeFinder.cpp:
1379         (WebCore::InspectorNodeFinder::searchUsingXPath):
1380         * inspector/InspectorOverlay.cpp:
1381         (WebCore::buildObjectForElementInfo):
1382         * inspector/InspectorPageAgent.cpp:
1383         (WebCore::InspectorPageAgent::cachedResourceContent):
1384         (WebCore::InspectorPageAgent::sharedBufferContent):
1385         (WebCore::InspectorPageAgent::disable):
1386         (WebCore::InspectorPageAgent::frameForId):
1387         (WebCore::InspectorPageAgent::findFrameWithSecurityOrigin):
1388         * inspector/InspectorProfilerAgent.cpp:
1389         (WebCore::InspectorProfilerAgent::~InspectorProfilerAgent):
1390         * inspector/InspectorProfilerAgent.h:
1391         * inspector/InspectorResourceAgent.cpp:
1392         (WebCore::buildObjectForResourceResponse):
1393         (WebCore::InspectorResourceAgent::willSendRequest):
1394         (WebCore::InspectorResourceAgent::didReceiveResponse):
1395         (WebCore::InspectorResourceAgent::didFinishLoading):
1396         (WebCore::InspectorResourceAgent::didFailLoading):
1397         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
1398         (WebCore::InspectorResourceAgent::disable):
1399         * inspector/InspectorRuntimeAgent.cpp:
1400         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
1401         * inspector/InspectorStyleSheet.cpp:
1402         (ParsedStyleSheet::ruleSourceDataAt):
1403         (WebCore::buildSourceRangeObject):
1404         (WebCore::asCSSRuleList):
1405         (WebCore::fillMediaListChain):
1406         (WebCore::InspectorStyle::setPropertyText):
1407         (WebCore::InspectorStyle::populateAllProperties):
1408         (WebCore::InspectorStyle::extractSourceData):
1409         (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):
1410         (WebCore::InspectorStyleSheet::addRule):
1411         (WebCore::InspectorStyleSheet::ruleForId):
1412         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
1413         (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
1414         (WebCore::InspectorStyleSheet::buildObjectForRule):
1415         (WebCore::InspectorStyleSheet::styleForId):
1416         (WebCore::InspectorStyleSheet::inspectorStyleForId):
1417         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
1418         * inspector/InspectorStyleSheet.h:
1419         (WebCore::InspectorCSSId::asProtocolValue):
1420         * inspector/InspectorTimelineAgent.cpp:
1421         (WebCore::InspectorTimelineAgent::stop):
1422         (WebCore::InspectorTimelineAgent::willComposite):
1423         (WebCore::InspectorTimelineAgent::page):
1424         * inspector/InspectorWorkerAgent.cpp:
1425         (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
1426         * inspector/InstrumentingAgents.cpp:
1427         (WebCore::InstrumentingAgents::InstrumentingAgents):
1428         (WebCore::InstrumentingAgents::reset):
1429         * inspector/NetworkResourcesData.cpp:
1430         (WebCore::NetworkResourcesData::ResourceData::ResourceData):
1431         (WebCore::NetworkResourcesData::xhrReplayData):
1432         (WebCore::NetworkResourcesData::removeCachedResource):
1433         (WebCore::NetworkResourcesData::resourceDataForRequestId):
1434         * inspector/PageConsoleAgent.cpp:
1435         (WebCore::PageConsoleAgent::~PageConsoleAgent):
1436         * inspector/PageDebuggerAgent.cpp:
1437         (WebCore::PageDebuggerAgent::disable):
1438         * inspector/PageRuntimeAgent.cpp:
1439         (WebCore::PageRuntimeAgent::~PageRuntimeAgent):
1440         (WebCore::PageRuntimeAgent::didCreateMainWorldContext):
1441         (WebCore::PageRuntimeAgent::reportExecutionContextCreation):
1442         * inspector/ScriptArguments.cpp:
1443         (WebCore::ScriptArguments::globalState):
1444         * inspector/WorkerRuntimeAgent.cpp:
1445         (WebCore::WorkerRuntimeAgent::~WorkerRuntimeAgent):
1446
1447 2014-01-20  Anders Carlsson  <andersca@apple.com>
1448
1449         Add empty UserContentController class
1450         https://bugs.webkit.org/show_bug.cgi?id=127300
1451         <rdar://problem/15861296>
1452
1453         Reviewed by Dan Bernstein.
1454
1455         This is the first step towards moving handling of user scripts and style sheets from
1456         the page group to a separate objects and ultimately make them be settable per page instead of per page group.
1457
1458         * CMakeLists.txt:
1459         * GNUmakefile.list.am:
1460         * WebCore.vcxproj/WebCore.vcxproj:
1461         * WebCore.vcxproj/WebCore.vcxproj.filters:
1462         * WebCore.xcodeproj/project.pbxproj:
1463         * page/UserContentController.cpp: Added.
1464         (WebCore::UserContentController::create):
1465         (WebCore::UserContentController::UserContentController):
1466         (WebCore::UserContentController::~UserContentController):
1467         * page/UserContentController.h: Added.
1468
1469 2014-01-20  Joseph Pecoraro  <pecoraro@apple.com>
1470
1471         Run clang-modernize and let it add a bunch of missing overrides in WebCore/inspector
1472         https://bugs.webkit.org/show_bug.cgi?id=127206
1473
1474         Reviewed by Anders Carlsson.
1475
1476         Let clang-modernize add overrides.
1477
1478         * inspector/DOMEditor.cpp:
1479         * inspector/InspectorApplicationCacheAgent.h:
1480         * inspector/InspectorCSSAgent.h:
1481         * inspector/InspectorCanvasAgent.h:
1482         * inspector/InspectorConsoleAgent.h:
1483         * inspector/InspectorDOMAgent.h:
1484         * inspector/InspectorDOMDebuggerAgent.h:
1485         * inspector/InspectorDOMStorageAgent.h:
1486         * inspector/InspectorDatabaseAgent.cpp:
1487         * inspector/InspectorDatabaseAgent.h:
1488         * inspector/InspectorDebuggerAgent.h:
1489         * inspector/InspectorFrontendHost.cpp:
1490         * inspector/InspectorHeapProfilerAgent.cpp:
1491         (WebCore::InspectorHeapProfilerAgent::getHeapSnapshot):
1492         (WebCore::InspectorHeapProfilerAgent::takeHeapSnapshot):
1493         * inspector/InspectorHeapProfilerAgent.h:
1494         * inspector/InspectorHistory.cpp:
1495         * inspector/InspectorIndexedDBAgent.cpp:
1496         * inspector/InspectorIndexedDBAgent.h:
1497         * inspector/InspectorInputAgent.h:
1498         * inspector/InspectorLayerTreeAgent.h:
1499         * inspector/InspectorMemoryAgent.h:
1500         * inspector/InspectorPageAgent.h:
1501         * inspector/InspectorProfilerAgent.cpp:
1502         * inspector/InspectorProfilerAgent.h:
1503         * inspector/InspectorResourceAgent.h:
1504         * inspector/InspectorRuntimeAgent.h:
1505         * inspector/InspectorStyleSheet.h:
1506         * inspector/InspectorTimelineAgent.h:
1507         * inspector/InspectorWorkerAgent.cpp:
1508         * inspector/InspectorWorkerAgent.h:
1509         * inspector/PageConsoleAgent.h:
1510         * inspector/PageDebuggerAgent.h:
1511         * inspector/PageRuntimeAgent.h:
1512         * inspector/WorkerConsoleAgent.h:
1513         * inspector/WorkerDebuggerAgent.cpp:
1514         * inspector/WorkerInspectorController.cpp:
1515         * inspector/WorkerRuntimeAgent.h:
1516
1517 2014-01-20  Zan Dobersek  <zdobersek@igalia.com>
1518
1519         Move WebAudio source code to std::unique_ptr
1520         https://bugs.webkit.org/show_bug.cgi?id=127274
1521
1522         Reviewed by Eric Carlson.
1523
1524         Move from using OwnPtr and PassOwnPtr to using std::unique_ptr and move semantics
1525         in the WebAudio module and the WebAudio code in the platform layer.
1526
1527         * Modules/webaudio/AsyncAudioDecoder.cpp:
1528         * Modules/webaudio/AsyncAudioDecoder.h:
1529         * Modules/webaudio/AudioBasicInspectorNode.cpp:
1530         (WebCore::AudioBasicInspectorNode::AudioBasicInspectorNode):
1531         * Modules/webaudio/AudioBasicProcessorNode.cpp:
1532         (WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
1533         * Modules/webaudio/AudioBasicProcessorNode.h:
1534         * Modules/webaudio/AudioBufferSourceNode.cpp:
1535         (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
1536         * Modules/webaudio/AudioContext.cpp:
1537         * Modules/webaudio/AudioContext.h:
1538         * Modules/webaudio/AudioDestinationNode.cpp:
1539         (WebCore::AudioDestinationNode::AudioDestinationNode):
1540         * Modules/webaudio/AudioNode.cpp:
1541         (WebCore::AudioNode::addInput):
1542         (WebCore::AudioNode::addOutput):
1543         (WebCore::AudioNode::checkNumberOfChannelsForInput):
1544         * Modules/webaudio/AudioNode.h:
1545         * Modules/webaudio/BiquadFilterNode.cpp:
1546         (WebCore::BiquadFilterNode::BiquadFilterNode):
1547         * Modules/webaudio/BiquadProcessor.cpp:
1548         (WebCore::BiquadProcessor::createKernel):
1549         (WebCore::BiquadProcessor::getFrequencyResponse):
1550         * Modules/webaudio/BiquadProcessor.h:
1551         * Modules/webaudio/ChannelMergerNode.cpp:
1552         (WebCore::ChannelMergerNode::ChannelMergerNode):
1553         * Modules/webaudio/ChannelSplitterNode.cpp:
1554         (WebCore::ChannelSplitterNode::ChannelSplitterNode):
1555         * Modules/webaudio/ConvolverNode.cpp:
1556         (WebCore::ConvolverNode::ConvolverNode):
1557         (WebCore::ConvolverNode::uninitialize):
1558         (WebCore::ConvolverNode::setBuffer):
1559         * Modules/webaudio/ConvolverNode.h:
1560         * Modules/webaudio/DefaultAudioDestinationNode.h:
1561         * Modules/webaudio/DelayNode.cpp:
1562         (WebCore::DelayNode::DelayNode):
1563         * Modules/webaudio/DelayProcessor.cpp:
1564         (WebCore::DelayProcessor::createKernel):
1565         * Modules/webaudio/DelayProcessor.h:
1566         * Modules/webaudio/DynamicsCompressorNode.cpp:
1567         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
1568         (WebCore::DynamicsCompressorNode::initialize):
1569         (WebCore::DynamicsCompressorNode::uninitialize):
1570         * Modules/webaudio/DynamicsCompressorNode.h:
1571         * Modules/webaudio/GainNode.cpp:
1572         (WebCore::GainNode::GainNode):
1573         * Modules/webaudio/MediaElementAudioSourceNode.cpp:
1574         (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
1575         (WebCore::MediaElementAudioSourceNode::setFormat):
1576         * Modules/webaudio/MediaElementAudioSourceNode.h:
1577         * Modules/webaudio/MediaStreamAudioDestinationNode.h:
1578         * Modules/webaudio/MediaStreamAudioSource.cpp:
1579         * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
1580         (WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
1581         * Modules/webaudio/MediaStreamAudioSourceNode.h:
1582         * Modules/webaudio/OscillatorNode.cpp:
1583         (WebCore::OscillatorNode::OscillatorNode):
1584         * Modules/webaudio/PannerNode.cpp:
1585         (WebCore::PannerNode::PannerNode):
1586         (WebCore::PannerNode::uninitialize):
1587         (WebCore::PannerNode::setPanningModel):
1588         * Modules/webaudio/PannerNode.h:
1589         * Modules/webaudio/PeriodicWave.cpp:
1590         (WebCore::PeriodicWave::createBandLimitedTables):
1591         * Modules/webaudio/PeriodicWave.h:
1592         * Modules/webaudio/RealtimeAnalyser.cpp:
1593         (WebCore::RealtimeAnalyser::RealtimeAnalyser):
1594         (WebCore::RealtimeAnalyser::setFftSize):
1595         * Modules/webaudio/RealtimeAnalyser.h:
1596         * Modules/webaudio/ScriptProcessorNode.cpp:
1597         (WebCore::ScriptProcessorNode::ScriptProcessorNode):
1598         * Modules/webaudio/WaveShaperDSPKernel.cpp:
1599         (WebCore::WaveShaperDSPKernel::lazyInitializeOversampling):
1600         * Modules/webaudio/WaveShaperDSPKernel.h:
1601         * Modules/webaudio/WaveShaperNode.cpp:
1602         (WebCore::WaveShaperNode::WaveShaperNode):
1603         * Modules/webaudio/WaveShaperProcessor.cpp:
1604         (WebCore::WaveShaperProcessor::createKernel):
1605         * Modules/webaudio/WaveShaperProcessor.h:
1606         * platform/audio/AudioBus.cpp:
1607         (WebCore::AudioBus::AudioBus):
1608         (WebCore::AudioBus::copyWithGainFrom):
1609         * platform/audio/AudioBus.h:
1610         * platform/audio/AudioChannel.cpp:
1611         * platform/audio/AudioChannel.h:
1612         (WebCore::AudioChannel::AudioChannel):
1613         (WebCore::AudioChannel::set):
1614         * platform/audio/AudioDSPKernelProcessor.h:
1615         * platform/audio/AudioDestination.h:
1616         * platform/audio/AudioResampler.cpp:
1617         (WebCore::AudioResampler::AudioResampler):
1618         (WebCore::AudioResampler::configureChannels):
1619         * platform/audio/AudioResampler.h:
1620         * platform/audio/AudioSession.h:
1621         * platform/audio/DynamicsCompressor.cpp:
1622         (WebCore::DynamicsCompressor::setNumberOfChannels):
1623         * platform/audio/DynamicsCompressor.h:
1624         * platform/audio/DynamicsCompressorKernel.cpp:
1625         (WebCore::DynamicsCompressorKernel::setNumberOfChannels):
1626         * platform/audio/DynamicsCompressorKernel.h:
1627         * platform/audio/FFTFrame.cpp:
1628         (WebCore::FFTFrame::createInterpolatedFrame):
1629         * platform/audio/FFTFrame.h:
1630         * platform/audio/HRTFDatabase.cpp:
1631         (WebCore::HRTFDatabase::HRTFDatabase):
1632         * platform/audio/HRTFDatabase.h:
1633         * platform/audio/HRTFDatabaseLoader.cpp:
1634         (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
1635         (WebCore::HRTFDatabaseLoader::load):
1636         * platform/audio/HRTFDatabaseLoader.h:
1637         * platform/audio/HRTFElevation.cpp:
1638         (WebCore::HRTFElevation::createForSubject):
1639         (WebCore::HRTFElevation::createByInterpolatingSlices):
1640         * platform/audio/HRTFElevation.h:
1641         (WebCore::HRTFElevation::HRTFElevation):
1642         * platform/audio/HRTFKernel.cpp:
1643         (WebCore::HRTFKernel::HRTFKernel):
1644         (WebCore::HRTFKernel::createImpulseResponse):
1645         (WebCore::HRTFKernel::createInterpolatedKernel):
1646         * platform/audio/HRTFKernel.h:
1647         (WebCore::HRTFKernel::create):
1648         (WebCore::HRTFKernel::HRTFKernel):
1649         * platform/audio/MultiChannelResampler.cpp:
1650         (WebCore::MultiChannelResampler::MultiChannelResampler):
1651         * platform/audio/MultiChannelResampler.h:
1652         * platform/audio/Panner.cpp:
1653         (WebCore::Panner::create):
1654         * platform/audio/Panner.h:
1655         * platform/audio/Reverb.cpp:
1656         (WebCore::Reverb::initialize):
1657         * platform/audio/Reverb.h:
1658         * platform/audio/ReverbConvolver.h:
1659         * platform/audio/ReverbConvolverStage.cpp:
1660         (WebCore::ReverbConvolverStage::ReverbConvolverStage):
1661         * platform/audio/ReverbConvolverStage.h:
1662         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
1663         (WebCore::AudioDestination::create):
1664         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
1665         * platform/audio/ios/AudioDestinationIOS.cpp:
1666         (WebCore::AudioDestination::create):
1667         * platform/audio/ios/AudioSessionIOS.mm:
1668         (WebCore::AudioSession::AudioSession):
1669         * platform/audio/mac/AudioDestinationMac.cpp:
1670         (WebCore::AudioDestination::create):
1671         * platform/audio/mac/AudioDestinationMac.h:
1672         * platform/audio/mac/AudioSessionMac.cpp:
1673         (WebCore::AudioSession::AudioSession):
1674
1675 2014-01-20  Morten Stenshorne  <mstensho@opera.com>
1676
1677         Region based multicol: support explicit column breaks
1678         https://bugs.webkit.org/show_bug.cgi?id=123993
1679
1680         Reviewed by David Hyatt.
1681
1682         Merely supporting insertion of explicit (forced) column breaks in
1683         the region based multicol implementation is really simple: just
1684         hook up with what the CSS regions code is already doing.
1685
1686         However, there is one complication: column balancing. In order to
1687         balance columns as nicely as possible when there are explicit
1688         breaks, we need to figure out between which explicit breaks the
1689         implicit breaks will occur (if there's room for any at all).
1690
1691         Tests: fast/multicol/newmulticol/break-after.html
1692                fast/multicol/newmulticol/break-before.html
1693                fast/multicol/newmulticol/breaks-2-columns-3-no-balancing.html
1694                fast/multicol/newmulticol/breaks-2-columns-3.html
1695                fast/multicol/newmulticol/breaks-3-columns-3.html
1696                fast/multicol/newmulticol/fixed-height-fill-balance-2.html
1697
1698         * rendering/RenderBlockFlow.cpp:
1699         (WebCore::RenderBlockFlow::applyBeforeBreak):
1700         (WebCore::RenderBlockFlow::applyAfterBreak): Use the already
1701         existing region breaking code when inserting breaks in region
1702         based multicol.
1703         * rendering/RenderFlowThread.h:
1704         * rendering/RenderMultiColumnBlock.cpp:
1705         (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
1706         (WebCore::RenderMultiColumnBlock::relayoutForPagination): Avoid
1707         re-balancing if the multicol's contents were not laid out. Apart
1708         from being good for performance, this is now necessary because of
1709         how explicit breaks are implemented.
1710         (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
1711         Detect if the contents are going to be laid out, or skipped, so
1712         that we can tell if we need to (re-)balance the columns
1713         afterwards.
1714         * rendering/RenderMultiColumnBlock.h:
1715         * rendering/RenderMultiColumnFlowThread.cpp:
1716         (WebCore::RenderMultiColumnFlowThread::addForcedRegionBreak):
1717         Locate the appropriate multi-column set and call its
1718         addForcedBreak().
1719         * rendering/RenderMultiColumnFlowThread.h:
1720         * rendering/RenderMultiColumnSet.cpp:
1721         (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
1722         (WebCore::RenderMultiColumnSet::findRunWithTallestColumns):
1723         (WebCore::RenderMultiColumnSet::distributeImplicitBreaks): Figure
1724         out how many implicit breaks each single "content run" should
1725         contain. The taller the content run, the more implicit breaks.
1726         (WebCore::RenderMultiColumnSet::calculateBalancedHeight): This is
1727         now a const method that only does half of what the old
1728         calculateBalancedHeight() did. The rest (such as actually storing
1729         the new column height) is done by recalculateBalancedHeight().
1730         (WebCore::RenderMultiColumnSet::clearForcedBreaks): Needs to be
1731         called between each layout pass, to clear the list of "content
1732         runs".
1733         (WebCore::RenderMultiColumnSet::addForcedBreak): Only useful when
1734         columns are to be balanced. It receives explicit (forced) breaks
1735         and stores them as "content runs". When layout is done, we'll go
1736         through the list of content runs, and see where implicit breaks
1737         should be inserted (if there's room for any). The goal is to
1738         insert implicit breaks in such a way that the final columns become
1739         as short as possible.
1740         (WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
1741         Calculates and sets a new balanced column height. This used to be
1742         done directly in calculateBalancedHeight(), but that method is now
1743         const and it now only calculates the new height and returns it.
1744         (WebCore::RenderMultiColumnSet::prepareForLayout):
1745         * rendering/RenderMultiColumnSet.h: Remove old data members
1746         intended for forced breaks (they were unused), and introduce a
1747         "content run" vector instead. A new content run is triggered by an
1748         explicit break. This is only used when column balancing is
1749         enabled. When not balanced, RenderMultiColumnSet doesn't need to
1750         do anything when explicit breaks are inserted.
1751
1752 2014-01-20  Eric Carlson  <eric.carlson@apple.com>
1753
1754         Allow MediaSessionManager to restrict 'preload' behavior
1755         https://bugs.webkit.org/show_bug.cgi?id=127297
1756
1757         Reviewed by Jer Noble.
1758
1759         Tests: media/video-restricted-no-preload-auto.html
1760                media/video-restricted-no-preload-metadata.html
1761
1762         * html/HTMLMediaElement.cpp:
1763         (WebCore::HTMLMediaElement::parseAttribute): Apply restrictions to preload attribute before
1764             passing to media engine.
1765         (WebCore::HTMLMediaElement::loadResource): Ditto.
1766
1767         * html/HTMLMediaSession.cpp:
1768         (WebCore::HTMLMediaSession::effectivePreloadForElement): New, limit preload according to restrictions.
1769         * html/HTMLMediaSession.h:
1770
1771         * platform/audio/MediaSessionManager.h:
1772         * platform/audio/ios/MediaSessionManagerIOS.mm:
1773         (WebCore::MediaSessionManageriOS::resetRestrictions): Limit preload to metadata only. Drive-by
1774             static deviceClass initialization cleanup.
1775
1776         * testing/Internals.cpp:
1777         (WebCore::Internals::setMediaSessionRestrictions): Support MetadataPreloadingNotPermitted and
1778             AutoPreloadingNotPermitted.
1779
1780 2014-01-20  Andreas Kling  <akling@apple.com>
1781
1782         Let RenderImage construct its RenderImageResource.
1783         <https://webkit.org/b/127290>
1784
1785         Everyone who creates a RenderImage immediately follows up with
1786         creating a RenderImageResource and assigning it to the image.
1787
1788         Let the RenderImage constructor do this instead, and make the
1789         imageResource() accessors return references. This exposed a
1790         number of unnecessary null checks.
1791
1792         Also modernized the touched code with std::unique_ptr.
1793
1794         Reviewed by Antti Koivisto.
1795
1796         * html/HTMLImageElement.cpp:
1797         (WebCore::HTMLImageElement::createElementRenderer):
1798         (WebCore::HTMLImageElement::didAttachRenderers):
1799         * html/HTMLPlugInImageElement.cpp:
1800         (WebCore::HTMLPlugInImageElement::createElementRenderer):
1801         * html/HTMLVideoElement.cpp:
1802         (WebCore::HTMLVideoElement::didAttachRenderers):
1803         (WebCore::HTMLVideoElement::parseAttribute):
1804         * html/ImageInputType.cpp:
1805         (WebCore::ImageInputType::createInputRenderer):
1806         (WebCore::ImageInputType::attach):
1807         * loader/ImageLoader.cpp:
1808         (WebCore::ImageLoader::renderImageResource):
1809         * rendering/RenderElement.cpp:
1810         (WebCore::RenderElement::createFor):
1811         * rendering/RenderImage.cpp:
1812         (WebCore::RenderImage::RenderImage):
1813         (WebCore::RenderImage::~RenderImage):
1814         (WebCore::RenderImage::styleDidChange):
1815         (WebCore::RenderImage::imageChanged):
1816         (WebCore::RenderImage::updateIntrinsicSizeIfNeeded):
1817         (WebCore::RenderImage::updateInnerContentRect):
1818         (WebCore::RenderImage::imageDimensionsChanged):
1819         (WebCore::RenderImage::notifyFinished):
1820         (WebCore::RenderImage::paintReplaced):
1821         (WebCore::RenderImage::paintIntoRect):
1822         (WebCore::RenderImage::foregroundIsKnownToBeOpaqueInRect):
1823         (WebCore::RenderImage::minimumReplacedHeight):
1824         (WebCore::RenderImage::computeIntrinsicRatioInformation):
1825         (WebCore::RenderImage::embeddedContentBox):
1826         * rendering/RenderImage.h:
1827         (WebCore::RenderImage::imageResource):
1828         (WebCore::RenderImage::cachedImage):
1829         * rendering/RenderImageResource.h:
1830         * rendering/RenderImageResourceStyleImage.h:
1831         * rendering/RenderMedia.cpp:
1832         (WebCore::RenderMedia::RenderMedia):
1833         * rendering/RenderSnapshottedPlugIn.cpp:
1834         (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
1835         * rendering/RenderSnapshottedPlugIn.h:
1836         * rendering/RenderVideo.cpp:
1837         (WebCore::RenderVideo::calculateIntrinsicSize):
1838         * rendering/style/ContentData.cpp:
1839         (WebCore::ImageContentData::createContentRenderer):
1840         * rendering/svg/RenderSVGImage.cpp:
1841         (WebCore::RenderSVGImage::RenderSVGImage):
1842         (WebCore::RenderSVGImage::~RenderSVGImage):
1843         (WebCore::RenderSVGImage::updateImageViewport):
1844         (WebCore::RenderSVGImage::paint):
1845         (WebCore::RenderSVGImage::paintForeground):
1846         * rendering/svg/RenderSVGImage.h:
1847         * svg/SVGImageElement.cpp:
1848         (WebCore::SVGImageElement::didAttachRenderers):
1849
1850 2014-01-20  Antti Koivisto  <antti@apple.com>
1851
1852         Update overlay scrollbars in single pass
1853         https://bugs.webkit.org/show_bug.cgi?id=127289
1854
1855         Reviewed by Anders Carlsson.
1856
1857         * platform/ScrollView.cpp:
1858         (WebCore::ScrollView::updateScrollbars):
1859         
1860             Multi-pass scrollbar resolution is only needed for traditional scrollbars. Overlay scrollbars don't affect layout.
1861
1862 2014-01-20  Jochen Eisinger  <jochen@chromium.org>
1863
1864         Never send a non-http(s) referrer header even with a referrer policy
1865         https://bugs.webkit.org/show_bug.cgi?id=127172
1866
1867         Reviewed by Alexey Proskuryakov.
1868
1869         This mirrors the code SecurityPolicy::shouldHideReferrer which is used
1870         for ReferrerPolicyDefault.
1871
1872         No new tests, only affects an embedder that registers other schemes,
1873         e.g. chrome://
1874
1875         * page/SecurityPolicy.cpp:
1876         (WebCore::SecurityPolicy::generateReferrerHeader):
1877
1878 2014-01-20  Mihai Tica  <mitica@adobe.com>
1879
1880         [CSS Background Blending] Background layer with -webkit-cross-fade doesn't blend
1881         when having -webkit-background-blending applied. Turns out the problem was
1882         the blending parameter not being passed to WebCore::CrossfadeGeneratedImage::draw
1883
1884         https://bugs.webkit.org/show_bug.cgi?id=126887
1885
1886         Reviewed by Dirk Schulze.
1887
1888         Test: css3/compositing/background-blend-mode-crossfade-image.html
1889
1890         * platform/graphics/CrossfadeGeneratedImage.cpp:
1891         (WebCore::CrossfadeGeneratedImage::draw): set blendMode on context.
1892
1893 2013-11-22  Sergio Villar Senin  <svillar@igalia.com>
1894
1895         Null-pointer dereference in WebCore::CSSValue::isPrimitiveValue
1896         https://bugs.webkit.org/show_bug.cgi?id=124769
1897
1898         Reviewed by Andreas Kling.
1899
1900         Test: fast/gradients/crash-on-no-position-separator.html
1901
1902         The function parseFillPosition() may not return valid values for
1903         centerX and centerY if the input data is malformed. We need to
1904         check that we get a valid pair of positions before checking that
1905         they're actually valid primitive values in the assertions.
1906
1907         * css/CSSParser.cpp:
1908         (WebCore::CSSParser::parseRadialGradient):
1909
1910 2014-01-20  Mihai Tica  <mitica@adobe.com>
1911
1912         Background-blend-mode doesn't work for an element with an
1913         SVG image as background and border-style or padding set.
1914         The problem consisted in the drawing path using the default
1915         blending parameter at all times.
1916         https://bugs.webkit.org/show_bug.cgi?id=118894
1917
1918         Reviewed by Dirk Schulze.
1919
1920         Test: css3/compositing/background-blend-mode-data-uri-svg-image.html
1921
1922         * svg/graphics/SVGImage.cpp:
1923         (WebCore::SVGImage::drawPatternForContainer): Pass blendMode to Image::drawPattern.
1924         * svg/graphics/SVGImage.h: Add a blendMode parameter to drawPatternForContainer.
1925         * svg/graphics/SVGImageForContainer.cpp:
1926         (WebCore::SVGImageForContainer::drawPattern): Pass blendMode to drawPatternForContainer call.
1927
1928 2014-01-20  Zalan Bujtas  <zalan@apple.com>
1929
1930         Subpixel layout: setSimpleLineLayoutEnabled() produces different layout when line position has CSS px fractions.
1931         https://bugs.webkit.org/show_bug.cgi?id=126892
1932
1933         Reviewed by Antti Koivisto.
1934
1935         SimpleLineLayout needs to copy normal linebox layout's subpixel rounding strategy to produce
1936         the same layout.
1937
1938         Covered by existing tests.
1939
1940         * rendering/SimpleLineLayoutFunctions.cpp:
1941         (WebCore::SimpleLineLayout::paintFlow):
1942
1943 2014-01-20  Gurpreet Kaur  <k.gurpreet@samsung.com>
1944
1945         Col width is not honored when dynamically updated and it would make table narrower
1946         https://bugs.webkit.org/show_bug.cgi?id=104711
1947
1948         Reviewed by Antti Koivisto.
1949
1950         Increasing the table width by increasing the colgroup width
1951         was working but decreasing the table width by decreasing the
1952         colgroup width is not working.
1953
1954         Test: fast/dom/HTMLTableColElement/resize-table-width-using-col-width.html
1955
1956         * rendering/RenderTableCol.cpp:
1957         (WebCore::RenderTableCol::styleDidChange):
1958         When colgroup width is defined table cell should adjust according to
1959         that. On decreasing colgroup width the cells maxPreferredLogicalWidth
1960         was still set to the earlier value. Setting the
1961         setPreferredLogicalWidthsDirty to true so that cells pref width is
1962         calculated again.
1963
1964 2014-01-20  Edit Balint  <edbalint@inf.u-szeged.hu>
1965
1966         [CoordinatedGraphics] Segmentation fault at  CoordinatedGraphicsScene::clearImageBackingContents
1967
1968         https://bugs.webkit.org/show_bug.cgi?id=125776
1969
1970         Reviewed by Csaba Osztrogonác.
1971
1972         Unexpected behavior occurs in some test cases which leads to segmentation fault.
1973
1974         * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
1975         (WebCore::CompositingCoordinator::removeImageBacking):
1976
1977 2014-01-20  Morten Stenshorne  <mstensho@opera.com>
1978
1979         Region based multicol: tall line causes taller multicol container than necessary
1980         https://bugs.webkit.org/show_bug.cgi?id=122550
1981
1982         Detect and report all column breaks, also when there's no pagination strut involved.
1983
1984         This may end up becoming the overall smallest space shortage in some cases,
1985         so we need to report it, to avoid column height over-stretching.
1986
1987         Reviewed by David Hyatt.
1988
1989         Test: fast/multicol/newmulticol/balance10.html
1990
1991         * rendering/RenderBlockFlow.cpp:
1992         (WebCore::RenderBlockFlow::adjustLinePositionForPagination):
1993
1994 2014-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
1995
1996         [GLIB] GVariant floating references are not correctly handled by GRefPtr
1997         https://bugs.webkit.org/show_bug.cgi?id=127246
1998
1999         Reviewed by Martin Robinson.
2000
2001         Do not adopt GVariant floating references, they will be converted
2002         to a full reference by GRefPtr.
2003
2004         * platform/gtk/PasteboardHelper.cpp:
2005         (WebCore::PasteboardHelper::fillSelectionData):
2006         (WebCore::PasteboardHelper::fillDataObjectFromDropData):
2007
2008 2014-01-19  Jinwoo Song  <jinwoo7.song@samsung.com>
2009
2010         Use unsigned type for the size of CSSParserValueList
2011         https://bugs.webkit.org/show_bug.cgi?id=127211
2012
2013         Reviewed by Andreas Kling.
2014
2015         * css/CSSParser.cpp: Changed variable type from int to unsigned.
2016         (WebCore::CSSParser::parseValue):
2017
2018 2014-01-19  Jaehun Lim  <ljaehun.lim@samsung.com>
2019
2020         Unreviewed build fix after r162293
2021
2022         Fix debug build.
2023
2024         [ 13%] Building CXX object Source/WebCore/CMakeFiles/WebCore.dir/html/parser/HTMLTreeBuilder.cpp.o
2025         /source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp: In member function ‘void WebCore::HTMLTreeBuilder::processStartTagForInTable(WebCore::AtomicHTMLToken*)’:
2026         /source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: error: no match for ‘operator!’ in ‘!(WebCore::HTMLTreeBuilder::InsertionMode)12’
2027         /source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: note: candidate is:
2028         /source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: note: operator!(bool) <built-in>
2029         /source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: note:   no known conversion for argument 1 from ‘WebCore::HTMLTreeBuilder::InsertionMode’ to ‘bool’
2030         make[2]: *** [Source/WebCore/CMakeFiles/WebCore.dir/html/parser/HTMLTreeBuilder.cpp.o] Error 1
2031         make[1]: *** [Source/WebCore/CMakeFiles/WebCore.dir/all] Error 2
2032         make: *** [all] Error 2
2033
2034         * html/parser/HTMLTreeBuilder.cpp:
2035         (WebCore::HTMLTreeBuilder::processStartTagForInTable): Fix ASSERT.
2036
2037 2014-01-19  Anders Carlsson  <andersca@apple.com>
2038
2039         Stop using MutexTryLocker in WebCore
2040         https://bugs.webkit.org/show_bug.cgi?id=127254
2041
2042         Reviewed by Andreas Kling.
2043
2044         Instead use std::mutex and std::unique_lock with the std::try_to_lock constructor.
2045
2046         * Modules/webaudio/AudioBufferSourceNode.cpp:
2047         (WebCore::AudioBufferSourceNode::process):
2048         (WebCore::AudioBufferSourceNode::setBuffer):
2049         * Modules/webaudio/AudioBufferSourceNode.h:
2050         * Modules/webaudio/AudioParamTimeline.cpp:
2051         (WebCore::AudioParamTimeline::insertEvent):
2052         (WebCore::AudioParamTimeline::cancelScheduledValues):
2053         (WebCore::AudioParamTimeline::valueForContextTime):
2054         (WebCore::AudioParamTimeline::valuesForTimeRange):
2055         (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
2056         * Modules/webaudio/AudioParamTimeline.h:
2057         * Modules/webaudio/ConvolverNode.cpp:
2058         (WebCore::ConvolverNode::process):
2059         (WebCore::ConvolverNode::reset):
2060         (WebCore::ConvolverNode::setBuffer):
2061         * Modules/webaudio/ConvolverNode.h:
2062         * Modules/webaudio/MediaElementAudioSourceNode.cpp:
2063         (WebCore::MediaElementAudioSourceNode::setFormat):
2064         (WebCore::MediaElementAudioSourceNode::process):
2065         (WebCore::MediaElementAudioSourceNode::lock):
2066         (WebCore::MediaElementAudioSourceNode::unlock):
2067         * Modules/webaudio/MediaElementAudioSourceNode.h:
2068         * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
2069         (WebCore::MediaStreamAudioSourceNode::setFormat):
2070         (WebCore::MediaStreamAudioSourceNode::process):
2071         * Modules/webaudio/MediaStreamAudioSourceNode.h:
2072         * Modules/webaudio/OscillatorNode.cpp:
2073         (WebCore::OscillatorNode::process):
2074         (WebCore::OscillatorNode::setPeriodicWave):
2075         * Modules/webaudio/OscillatorNode.h:
2076         * Modules/webaudio/PannerNode.cpp:
2077         (WebCore::PannerNode::process):
2078         (WebCore::PannerNode::setPanningModel):
2079         * Modules/webaudio/PannerNode.h:
2080         * Modules/webaudio/WaveShaperProcessor.cpp:
2081         (WebCore::WaveShaperProcessor::setCurve):
2082         (WebCore::WaveShaperProcessor::setOversample):
2083         (WebCore::WaveShaperProcessor::process):
2084         * Modules/webaudio/WaveShaperProcessor.h:
2085
2086 2014-01-19  Alberto Garcia  <berto@igalia.com>
2087
2088         Does not build with SVG disabled
2089         https://bugs.webkit.org/show_bug.cgi?id=127248
2090
2091         Reviewed by Sam Weinig.
2092
2093         Add missing #if ENABLE(SVG) guard.
2094
2095         * dom/ElementData.h:
2096
2097 2014-01-19  Anders Carlsson  <andersca@apple.com>
2098
2099         Use a strong enum for HTMLTreeBuilder::InsertionMode
2100         https://bugs.webkit.org/show_bug.cgi?id=127252
2101
2102         Reviewed by Antti Koivisto.
2103
2104         * html/parser/HTMLTreeBuilder.cpp:
2105         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
2106         (WebCore::HTMLTreeBuilder::constructTree):
2107         (WebCore::HTMLTreeBuilder::processDoctypeToken):
2108         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
2109         (WebCore::HTMLTreeBuilder::processTemplateStartTag):
2110         (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
2111         (WebCore::HTMLTreeBuilder::closeTheCell):
2112         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
2113         (WebCore::HTMLTreeBuilder::processStartTag):
2114         (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
2115         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
2116         (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
2117         (WebCore::HTMLTreeBuilder::processEndTagForInRow):
2118         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
2119         (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
2120         (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
2121         (WebCore::HTMLTreeBuilder::processEndTag):
2122         (WebCore::HTMLTreeBuilder::processComment):
2123         (WebCore::HTMLTreeBuilder::processCharacterBuffer):
2124         (WebCore::HTMLTreeBuilder::processEndOfFile):
2125         (WebCore::HTMLTreeBuilder::defaultForInitial):
2126         (WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
2127         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
2128         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
2129         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
2130         (WebCore::HTMLTreeBuilder::processScriptStartTag):
2131         * html/parser/HTMLTreeBuilder.h:
2132
2133 2014-01-19  Anders Carlsson  <andersca@apple.com>
2134
2135         Convert LoaderRunLoopCF.cpp and WebCoreThreadRun.cpp over to modern threading primitives
2136         https://bugs.webkit.org/show_bug.cgi?id=127251
2137
2138         Reviewed by Antti Koivisto.
2139
2140         Also add a condition to the loaderRunLoop() function to protect against spurious wake-ups.
2141
2142         * platform/ios/wak/WebCoreThreadRun.cpp:
2143         * platform/network/cf/LoaderRunLoopCF.cpp:
2144         (WebCore::loaderRunLoopMutex):
2145         (WebCore::loaderRunLoopConditionVariable):
2146         (WebCore::runLoaderThread):
2147         (WebCore::loaderRunLoop):
2148
2149 2014-01-19  Anders Carlsson  <andersca@apple.com>
2150
2151         Modernize ReverbConvolver
2152         https://bugs.webkit.org/show_bug.cgi?id=127250
2153
2154         Reviewed by Andreas Kling.
2155
2156         Use std::unique_ptr instead of OwnPtr and the STL threading primitives instead of the WTF ones.
2157
2158         * platform/audio/ReverbConvolver.cpp:
2159         (WebCore::ReverbConvolver::ReverbConvolver):
2160         (WebCore::ReverbConvolver::~ReverbConvolver):
2161         (WebCore::ReverbConvolver::backgroundThreadEntry):
2162         (WebCore::ReverbConvolver::process):
2163         * platform/audio/ReverbConvolver.h:
2164
2165 2014-01-18  Andy Estes  <aestes@apple.com>
2166
2167         [iOS] Rename GestureEventIOS.{cpp,h} to GestureEvent.{cpp,h} to fix the build
2168
2169         InFilesCompiler.pm assumes that <interface name>.h exists for each
2170         interface it processes. We renamed GestureEvent.h to GestureEventIOS.h
2171         but kept the interface named GestureEvent, so a non-existant file was
2172         being referenced by InFilesCompiler.pm (this was hard to detect since
2173         GestureEvent.h still existed in the SDK due to not having submitted
2174         WebKitAdditions recently).
2175
2176         Since we cannot rename the GestureEvent interface, and since there is
2177         no conflicting GestureEvent in open source, we can just rename
2178         GestureEventIOS.{cpp,h} back to GestureEvent.{cpp,h}.
2179
2180         * dom/ios/TouchEvents.cpp: Updated to include GestureEvent.cpp.
2181
2182 2014-01-18  Alexey Proskuryakov  <ap@apple.com>
2183
2184         Memory leak in JSSubtleCrypto::wrapKey
2185         https://bugs.webkit.org/show_bug.cgi?id=127241
2186
2187         Reviewed by Sam Weinig.
2188
2189         * bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::wrapKey):
2190         Delete algorithmPtr and parametersPtr that aren't smart pointers because of lambdas.
2191
2192 2014-01-18  Andy Estes  <aestes@apple.com>
2193
2194         Fix the iOS Production build.
2195
2196         * Configurations/WebCore.xcconfig:
2197
2198 2014-01-18  Alberto Garcia  <berto@igalia.com>
2199
2200         [CodeGeneratorJS] Sort output of StructureFlags and function parameters
2201
2202         https://bugs.webkit.org/show_bug.cgi?id=127226
2203
2204         Reviewed by Alexey Proskuryakov.
2205
2206         The order of the keys in a hash is undefined and subject to change
2207         between different Perl versions, so we have to sort them to make
2208         sure that the output is always the same.
2209
2210         * bindings/scripts/CodeGeneratorJS.pm:
2211         (GenerateHeader):
2212         (GenerateParametersCheckExpression):
2213         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
2214         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
2215         * bindings/scripts/test/JS/JSTestEventConstructor.h:
2216         * bindings/scripts/test/JS/JSTestEventTarget.h:
2217         * bindings/scripts/test/JS/JSTestException.h:
2218         * bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
2219         * bindings/scripts/test/JS/JSTestInterface.h:
2220         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
2221         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
2222         * bindings/scripts/test/JS/JSTestNode.h:
2223         * bindings/scripts/test/JS/JSTestObj.cpp:
2224         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
2225         * bindings/scripts/test/JS/JSTestObj.h:
2226         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
2227         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2228         * bindings/scripts/test/JS/JSTestTypedefs.h:
2229         * bindings/scripts/test/JS/JSattribute.h:
2230         * bindings/scripts/test/JS/JSreadonly.h:
2231
2232 2014-01-18  Anders Carlsson  <andersca@apple.com>
2233
2234         Replace a couple of uses of WTF::Function with std::function
2235         https://bugs.webkit.org/show_bug.cgi?id=127218
2236
2237         Reviewed by Andreas Kling.
2238
2239         * WebCore.exp.in:
2240         * page/scrolling/ScrollingThread.cpp:
2241         (WebCore::ScrollingThread::dispatch):
2242         (WebCore::ScrollingThread::dispatchBarrier):
2243         (WebCore::ScrollingThread::shared):
2244         (WebCore::ScrollingThread::createThreadIfNeeded):
2245         (WebCore::ScrollingThread::dispatchFunctionsFromScrollingThread):
2246         * page/scrolling/ScrollingThread.h:
2247         * page/scrolling/mac/ScrollingThreadMac.mm:
2248         (WebCore::ScrollingThread::initializeRunLoop):
2249
2250 2014-01-18  Anders Carlsson  <andersca@apple.com>
2251
2252         Modernize HTML parser code
2253         https://bugs.webkit.org/show_bug.cgi?id=127236
2254
2255         Reviewed by Andreas Kling.
2256
2257         * html/parser/AtomicHTMLToken.h:
2258         * html/parser/CSSPreloadScanner.cpp:
2259         (WebCore::CSSPreloadScanner::emitRule):
2260         * html/parser/HTMLDocumentParser.cpp:
2261         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
2262         (WebCore::HTMLDocumentParser::detach):
2263         (WebCore::HTMLDocumentParser::stopParsing):
2264         (WebCore::HTMLDocumentParser::pumpTokenizer):
2265         (WebCore::HTMLDocumentParser::insert):
2266         (WebCore::HTMLDocumentParser::append):
2267         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
2268         * html/parser/HTMLDocumentParser.h:
2269         * html/parser/HTMLElementStack.cpp:
2270         (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
2271         (WebCore::HTMLElementStack::insertAbove):
2272         (WebCore::HTMLElementStack::pushCommon):
2273         * html/parser/HTMLElementStack.h:
2274         (WebCore::HTMLElementStack::ElementRecord::releaseNext):
2275         (WebCore::HTMLElementStack::ElementRecord::setNext):
2276         * html/parser/HTMLMetaCharsetParser.cpp:
2277         (WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser):
2278         * html/parser/HTMLMetaCharsetParser.h:
2279         * html/parser/HTMLParserScheduler.h:
2280         * html/parser/HTMLPreloadScanner.cpp:
2281         (WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
2282         (WebCore::TokenPreloadScanner::scan):
2283         (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
2284         * html/parser/HTMLPreloadScanner.h:
2285         * html/parser/HTMLResourcePreloader.cpp:
2286         (WebCore::HTMLResourcePreloader::takeAndPreload):
2287         (WebCore::HTMLResourcePreloader::preload):
2288         * html/parser/HTMLResourcePreloader.h:
2289         (WebCore::PreloadRequest::PreloadRequest):
2290         * html/parser/HTMLScriptRunner.h:
2291         * html/parser/HTMLToken.h:
2292         (WebCore::HTMLToken::beginDOCTYPE):
2293         (WebCore::HTMLToken::releaseDoctypeData):
2294         * html/parser/HTMLTokenizer.h:
2295         * html/parser/HTMLTreeBuilder.h:
2296         * html/parser/HTMLViewSourceParser.cpp:
2297         (WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
2298         * html/parser/HTMLViewSourceParser.h:
2299         * html/parser/XSSAuditor.cpp:
2300         (WebCore::XSSAuditor::init):
2301         (WebCore::XSSAuditor::filterToken):
2302         * html/parser/XSSAuditor.h:
2303         * html/parser/XSSAuditorDelegate.h:
2304         (WebCore::XSSInfo::XSSInfo):
2305         * loader/TextResourceDecoder.cpp:
2306         (WebCore::TextResourceDecoder::checkForHeadCharset):
2307         (WebCore::TextResourceDecoder::checkForMetaCharset):
2308         * loader/TextResourceDecoder.h:
2309
2310 2014-01-18  Benjamin Poulain  <benjamin@webkit.org>
2311
2312         Make ElementData JIT friendly
2313         https://bugs.webkit.org/show_bug.cgi?id=127209
2314
2315         Reviewed by Geoffrey Garen.
2316
2317         The offsets of ElementData's flags were not accessible by the JIT. This patch
2318         refactor ElementData to use explicit flags so that they can be used from
2319         the code generators.
2320
2321         * dom/Element.cpp:
2322         (WebCore::Element::synchronizeAllAttributes):
2323         (WebCore::Element::synchronizeAttribute):
2324         (WebCore::Element::attributeChanged):
2325         (WebCore::Element::removeAttribute):
2326         * dom/ElementData.cpp:
2327         (WebCore::ElementData::destroy):
2328         (WebCore::ElementData::ElementData):
2329         (WebCore::ShareableElementData::ShareableElementData):
2330         (WebCore::ShareableElementData::~ShareableElementData):
2331         (WebCore::ElementData::arraySizeAndFlagsFromOther):
2332         * dom/ElementData.h:
2333         (WebCore::ElementData::hasName):
2334         (WebCore::ElementData::isUnique):
2335         (WebCore::ElementData::updateFlag):
2336         (WebCore::ElementData::arraySize):
2337         (WebCore::ElementData::setHasNameAttribute):
2338         (WebCore::ElementData::styleAttributeIsDirty):
2339         (WebCore::ElementData::setStyleAttributeIsDirty):
2340         (WebCore::ElementData::presentationAttributeStyleIsDirty):
2341         (WebCore::ElementData::setPresentationAttributeStyleIsDirty):
2342         (WebCore::ElementData::animatedSVGAttributesAreDirty):
2343         (WebCore::ElementData::setAnimatedSVGAttributesAreDirty):
2344         (WebCore::ElementData::length):
2345         (WebCore::ElementData::attributeBase):
2346         (WebCore::ElementData::presentationAttributeStyle):
2347         * dom/StyledElement.cpp:
2348         (WebCore::StyledElement::synchronizeStyleAttributeInternal):
2349         (WebCore::StyledElement::attributeChanged):
2350         (WebCore::StyledElement::styleAttributeChanged):
2351         (WebCore::StyledElement::inlineStyleChanged):
2352         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
2353         * dom/StyledElement.h:
2354         (WebCore::StyledElement::invalidateStyleAttribute):
2355         (WebCore::StyledElement::presentationAttributeStyle):
2356         * svg/SVGElement.cpp:
2357         (WebCore::SVGElement::synchronizeAnimatedSVGAttribute):
2358         * svg/SVGElement.h:
2359         (WebCore::SVGElement::invalidateSVGAttributes):
2360
2361 2014-01-18  Zalan Bujtas  <zalan@apple.com>
2362
2363         Subpixel layout: IntRect::infiniteRect() overflows when subpixel layout is enabled.
2364         https://bugs.webkit.org/show_bug.cgi?id=126899
2365
2366         Reviewed by Tim Horton.
2367
2368         Use LayoutUnits when setting the infinite values on IntRect::infiniteRect() to ensure
2369         it won't overflow later when the IntRect gets converted to LayoutRect.
2370
2371         Covered by existing tests.
2372
2373         * platform/graphics/IntRect.h:
2374         (WebCore::IntRect::infiniteRect):
2375
2376 2014-01-18  Anders Carlsson  <andersca@apple.com>
2377
2378         Remove support for the viewsource attribute
2379         https://bugs.webkit.org/show_bug.cgi?id=127232
2380
2381         Reviewed by Andreas Kling.
2382
2383         The 'viewsource' attribute on frames is nonstandard, not used by anyone (the inspector has
2384         its own syntax highlighting) and not audited.
2385
2386         This patch removes parsing of the viewsource attribute and the associated tests. A subsequent
2387         patch will remove the code as well.
2388
2389         * html/HTMLFrameElementBase.cpp:
2390         (WebCore::HTMLFrameElementBase::parseAttribute):
2391
2392 2014-01-18  Anders Carlsson  <andersca@apple.com>
2393
2394         XMLTreeViewer shouldn't use the view source mode
2395         https://bugs.webkit.org/show_bug.cgi?id=127229
2396
2397         Reviewed by Andreas Kling.
2398
2399         Add the relevant styles from view-source.css to XMLViewer.css.
2400
2401         * xml/XMLTreeViewer.cpp:
2402         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
2403         * xml/XMLViewer.css:
2404         (body):
2405         (.comment):
2406         (.tag):
2407         (.attribute-name):
2408         (.attribute-value):
2409         * xml/XMLViewer.js:
2410         (createComment):
2411         (createTag):
2412         (createAttribute):
2413
2414 2014-01-18  Andreas Kling  <akling@apple.com>
2415
2416         Remove unused "touchDragDropEnabled" setting.
2417         <https://webkit.org/b/127227>
2418
2419         Reviewed by Sam Weinig.
2420
2421         * page/Settings.in:
2422
2423 2014-01-18  Brian Burg  <bburg@apple.com>
2424
2425         Web Inspector: Page should use std::unique_ptr for InspectorController
2426         https://bugs.webkit.org/show_bug.cgi?id=127068
2427
2428         Reviewed by Joseph Pecoraro.
2429
2430         Make Page and WorkerGlobalScope keep a std::unique_ptr to InspectorController
2431         and WorkerInspectorController. Store page references and return controller
2432         references where possible.
2433
2434         Convert call sites to use an InspectorController reference.
2435         Convert instantiations of InspectorFrontendClient to use std::unique_ptr.
2436         Convert InspectorOverlay to keep Page references.
2437
2438         * WebCore.exp.in:
2439         * bindings/js/JSDOMWindowBase.cpp:
2440         (WebCore::JSDOMWindowBase::supportsProfiling):
2441         (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
2442         * dom/Node.cpp:
2443         (WebCore::Node::inspect):
2444         * inspector/InspectorController.cpp:
2445         (WebCore::InspectorController::InspectorController):
2446         (WebCore::InspectorController::inspectedPageDestroyed):
2447         (WebCore::InspectorController::setInspectorFrontendClient):
2448         (WebCore::InspectorController::hasInspectorFrontendClient):
2449         (WebCore::InspectorController::connectFrontend):
2450         (WebCore::InspectorController::disconnectFrontend):
2451         (WebCore::InspectorController::inspectedPage):
2452         (WebCore::InspectorController::developerExtrasEnabled):
2453         * inspector/InspectorController.h:
2454         * inspector/InspectorFrontendClientLocal.cpp:
2455         (WebCore::InspectorFrontendClientLocal::canAttachWindow):
2456         (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
2457         (WebCore::InspectorFrontendClientLocal::changeAttachedWindowWidth):
2458         (WebCore::InspectorFrontendClientLocal::openInNewTab):
2459         (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
2460         * inspector/InspectorOverlay.cpp:
2461         (WebCore::InspectorOverlay::InspectorOverlay):
2462         (WebCore::InspectorOverlay::getHighlight):
2463         (WebCore::InspectorOverlay::highlightQuad):
2464         (WebCore::InspectorOverlay::update):
2465         (WebCore::InspectorOverlay::buildObjectForHighlightedNode):
2466         (WebCore::InspectorOverlay::drawQuadHighlight):
2467         (WebCore::InspectorOverlay::overlayPage):
2468         (WebCore::InspectorOverlay::reset):
2469         * inspector/InspectorOverlay.h:
2470         * inspector/InstrumentingAgents.cpp:
2471         (WebCore::instrumentationForPage): remove null checks.
2472         (WebCore::instrumentationForWorkerGlobalScope): remove null checks.
2473         * inspector/WorkerInspectorController.cpp:
2474         (WebCore::WorkerInspectorController::WorkerInspectorController):
2475         (WebCore::WorkerInspectorController::connectFrontend):
2476         (WebCore::WorkerInspectorController::disconnectFrontend):
2477         * inspector/WorkerInspectorController.h:
2478         * loader/FrameLoader.cpp:
2479         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
2480         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
2481         * page/ContextMenuController.cpp:
2482         (WebCore::ContextMenuController::showContextMenu):
2483         (WebCore::ContextMenuController::contextMenuItemSelected):
2484         (WebCore::ContextMenuController::populate):
2485         (WebCore::ContextMenuController::addInspectElementItem):
2486         * page/FrameView.cpp:
2487         (WebCore::FrameView::sendResizeEventIfNeeded):
2488         * page/Page.cpp:
2489         (WebCore::Page::Page):
2490         * page/Page.h:
2491         (WebCore::Page::inspectorController):
2492         * page/PageDebuggable.cpp:
2493         (WebCore::PageDebuggable::hasLocalDebugger):
2494         (WebCore::PageDebuggable::parentProcessIdentifier):
2495         (WebCore::PageDebuggable::connect):
2496         (WebCore::PageDebuggable::disconnect):
2497         (WebCore::PageDebuggable::dispatchMessageFromRemoteFrontend):
2498         (WebCore::PageDebuggable::setIndicating):
2499         * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
2500         (WebCore::CompositingCoordinator::syncDisplayState):
2501         * testing/Internals.cpp:
2502         (WebCore::Internals::resetToConsistentState):
2503         (WebCore::Internals::inspectorHighlightRects):
2504         (WebCore::Internals::inspectorHighlightObject):
2505         (WebCore::Internals::emitInspectorDidBeginFrame):
2506         (WebCore::Internals::emitInspectorDidCancelFrame):
2507         (WebCore::Internals::openDummyInspectorFrontend):
2508         (WebCore::Internals::closeDummyInspectorFrontend):
2509         (WebCore::Internals::setInspectorResourcesDataSizeLimits):
2510         (WebCore::Internals::setJavaScriptProfilingEnabled):
2511         * workers/WorkerGlobalScope.cpp:
2512         (WebCore::WorkerGlobalScope::WorkerGlobalScope):
2513         * workers/WorkerGlobalScope.h: remove clearInspector(). 
2514         (WebCore::WorkerGlobalScope::workerInspectorController):
2515         * workers/WorkerMessagingProxy.cpp:
2516         (WebCore::connectToWorkerGlobalScopeInspectorTask):
2517         (WebCore::disconnectFromWorkerGlobalScopeInspectorTask):
2518         (WebCore::dispatchOnInspectorBackendTask):
2519         * workers/WorkerThread.cpp:
2520         (WebCore::WorkerThreadShutdownFinishTask::performTask):
2521
2522 2014-01-18  Anders Carlsson  <andersca@apple.com>
2523
2524         Remove ENABLE_THREADED_HTML_PARSER defines everywhere
2525         https://bugs.webkit.org/show_bug.cgi?id=127225
2526
2527         Reviewed by Andreas Kling.
2528
2529         This concludes the removal of over 8.8 million lines of threaded parser code.
2530
2531         * Configurations/FeatureDefines.xcconfig:
2532
2533 2014-01-18  Anders Carlsson  <andersca@apple.com>
2534
2535         Remove the remaining threaded parser code
2536         https://bugs.webkit.org/show_bug.cgi?id=127224
2537
2538         Reviewed by Andreas Kling.
2539
2540         * dom/Document.cpp:
2541         (WebCore::Document::decrementActiveParserCount):
2542         * html/parser/AtomicHTMLToken.h:
2543         * html/parser/HTMLDocumentParser.cpp:
2544         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
2545         (WebCore::HTMLDocumentParser::detach):
2546         (WebCore::HTMLDocumentParser::stopParsing):
2547         (WebCore::HTMLDocumentParser::prepareToStopParsing):
2548         (WebCore::HTMLDocumentParser::resumeParsingAfterYield):
2549         (WebCore::HTMLDocumentParser::forcePlaintextForTextDocument):
2550         (WebCore::HTMLDocumentParser::insert):
2551         (WebCore::HTMLDocumentParser::append):
2552         (WebCore::HTMLDocumentParser::end):
2553         (WebCore::HTMLDocumentParser::finish):
2554         (WebCore::HTMLDocumentParser::textPosition):
2555         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
2556         * html/parser/HTMLDocumentParser.h:
2557         * html/parser/HTMLParserIdioms.cpp:
2558         * html/parser/HTMLParserIdioms.h:
2559         * html/parser/HTMLTokenizer.cpp:
2560         * html/parser/HTMLTokenizer.h:
2561         * loader/DocumentLoader.cpp:
2562         (WebCore::DocumentLoader::isLoading):
2563         (WebCore::DocumentLoader::checkLoadComplete):
2564         * page/Settings.in:
2565
2566 2014-01-18  Anders Carlsson  <andersca@apple.com>
2567
2568         Remove threaded parser code from the preload scanners
2569         https://bugs.webkit.org/show_bug.cgi?id=127222
2570
2571         Reviewed by Andreas Kling.
2572
2573         * html/parser/CSSPreloadScanner.cpp:
2574         (WebCore::CSSPreloadScanner::CSSPreloadScanner):
2575         Use nullptr.
2576
2577         (WebCore::CSSPreloadScanner::scan):
2578         Move scanCommon here and simplify the code.
2579
2580         * html/parser/CSSPreloadScanner.h:
2581         Remove scanCommon.
2582
2583         * html/parser/HTMLPreloadScanner.cpp:
2584         (WebCore::TokenPreloadScanner::tagIdFor):
2585         TagId is a strong enum now, update enum values.
2586
2587         (WebCore::TokenPreloadScanner::initiatorFor):
2588         Ditto.
2589
2590         (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
2591         Ditto.
2592
2593         (WebCore::TokenPreloadScanner::StartTagScanner::match):
2594         Indent this.
2595
2596         (WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
2597         TagId is a strong enum now, update enum values.
2598
2599         (WebCore::TokenPreloadScanner::StartTagScanner::charset):
2600         Ditto.
2601
2602         (WebCore::TokenPreloadScanner::StartTagScanner::resourceType):
2603         Ditto.
2604
2605         (WebCore::TokenPreloadScanner::StartTagScanner::shouldPreload):
2606         Ditto.
2607
2608         (WebCore::TokenPreloadScanner::scan):
2609         Merge scan and scanCommon.
2610
2611         * html/parser/HTMLPreloadScanner.h:
2612
2613 2014-01-18  Lauro Neto  <lauro.neto@openbossa.org>
2614
2615         Remove Nix files from WebCore
2616         https://bugs.webkit.org/show_bug.cgi?id=127176
2617
2618         Reviewed by Anders Carlsson.
2619
2620         * PlatformNix.cmake: Removed.
2621         * css/mediaControlsNix.css: Removed.
2622         * css/mediaControlsNixFullscreen.css: Removed.
2623         * editing/nix/EditorNix.cpp: Removed.
2624         * page/nix/EventHandlerNix.cpp: Removed.
2625         * platform/audio/nix/AudioBusNix.cpp: Removed.
2626         * platform/audio/nix/AudioDestinationNix.cpp: Removed.
2627         * platform/audio/nix/AudioDestinationNix.h: Removed.
2628         * platform/audio/nix/FFTFrameNix.cpp: Removed.
2629         * platform/graphics/nix/IconNix.cpp: Removed.
2630         * platform/graphics/nix/ImageNix.cpp: Removed.
2631         * platform/nix/CursorNix.cpp: Removed.
2632         * platform/nix/DragDataNix.cpp: Removed.
2633         * platform/nix/DragImageNix.cpp: Removed.
2634         * platform/nix/ErrorsNix.cpp: Removed.
2635         * platform/nix/ErrorsNix.h: Removed.
2636         * platform/nix/FileSystemNix.cpp: Removed.
2637         * platform/nix/GamepadsNix.cpp: Removed.
2638         * platform/nix/LanguageNix.cpp: Removed.
2639         * platform/nix/LocalizedStringsNix.cpp: Removed.
2640         * platform/nix/MIMETypeRegistryNix.cpp: Removed.
2641         * platform/nix/NixKeyboardUtilities.cpp: Removed.
2642         * platform/nix/NixKeyboardUtilities.h: Removed.
2643         * platform/nix/PasteboardNix.cpp: Removed.
2644         * platform/nix/PlatformKeyboardEventNix.cpp: Removed.
2645         * platform/nix/PlatformScreenNix.cpp: Removed.
2646         * platform/nix/RenderThemeNix.cpp: Removed.
2647         * platform/nix/RenderThemeNix.h: Removed.
2648         * platform/nix/ScrollbarThemeNix.cpp: Removed.
2649         * platform/nix/ScrollbarThemeNix.h: Removed.
2650         * platform/nix/SharedTimerNix.cpp: Removed.
2651         * platform/nix/SoundNix.cpp: Removed.
2652         * platform/nix/TemporaryLinkStubs.cpp: Removed.
2653         * platform/nix/WidgetNix.cpp: Removed.
2654         * platform/nix/support/MultiChannelPCMData.cpp: Removed.
2655         * platform/text/nix/TextBreakIteratorInternalICUNix.cpp: Removed.
2656
2657 2014-01-18  Anders Carlsson  <andersca@apple.com>
2658
2659         Remove DocumentParser::pinToMainThread() and related code
2660         https://bugs.webkit.org/show_bug.cgi?id=127221
2661
2662         Reviewed by Andreas Kling.
2663
2664         * dom/Document.cpp:
2665         (WebCore::Document::setContent):
2666         * dom/DocumentParser.h:
2667         * html/parser/HTMLDocumentParser.cpp:
2668         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
2669         * html/parser/HTMLDocumentParser.h:
2670         * html/parser/HTMLParserOptions.cpp:
2671         (WebCore::HTMLParserOptions::HTMLParserOptions):
2672         * html/parser/HTMLParserOptions.h:
2673         * html/parser/HTMLTreeBuilder.cpp:
2674         (WebCore::HTMLTreeBuilder::processEndTag):
2675         * loader/DocumentWriter.cpp:
2676         (WebCore::DocumentWriter::replaceDocument):
2677
2678 2014-01-18  Anders Carlsson  <andersca@apple.com>
2679
2680         Remove HTMLParserThread
2681         https://bugs.webkit.org/show_bug.cgi?id=127220
2682
2683         Reviewed by Andreas Kling.
2684
2685         * CMakeLists.txt:
2686         * GNUmakefile.list.am:
2687         * WebCore.vcxproj/WebCore.vcxproj:
2688         * WebCore.vcxproj/WebCore.vcxproj.filters:
2689         * WebCore.xcodeproj/project.pbxproj:
2690         * html/parser/HTMLDocumentParser.cpp:
2691         * html/parser/HTMLParserThread.cpp: Removed.
2692         * html/parser/HTMLParserThread.h: Removed.
2693
2694 2014-01-17  Andreas Kling  <akling@apple.com>
2695
2696         GC soon after responding to fake memory pressure.
2697         <https://webkit.org/b/127210>
2698
2699         Ask JSC to garbage collect "soon" after handling the fake memory
2700         pressure signal on Mac. This seems to stabilize the post-pressure
2701         numbers on Membuster3 a bit on my laptop. The difference is mostly
2702         made up of JSC::CodeBlock objects.
2703
2704         Reviewed by Geoffrey Garen.
2705
2706         * platform/mac/MemoryPressureHandlerMac.mm:
2707         (WebCore::MemoryPressureHandler::install):
2708
2709 2014-01-18  Anders Carlsson  <andersca@apple.com>
2710
2711         Remove files only used by the threaded HTML parser
2712         https://bugs.webkit.org/show_bug.cgi?id=127219
2713         <rdar://problem/13331277>
2714
2715         Reviewed by Andreas Kling.
2716
2717         * CMakeLists.txt:
2718         * GNUmakefile.list.am:
2719         * WebCore.vcxproj/WebCore.vcxproj:
2720         * WebCore.vcxproj/WebCore.vcxproj.filters:
2721         * WebCore.xcodeproj/project.pbxproj:
2722         * html/parser/AtomicHTMLToken.h:
2723         * html/parser/BackgroundHTMLInputStream.cpp: Removed.
2724         * html/parser/BackgroundHTMLInputStream.h: Removed.
2725         * html/parser/BackgroundHTMLParser.cpp: Removed.
2726         * html/parser/BackgroundHTMLParser.h: Removed.
2727         * html/parser/CompactHTMLToken.cpp: Removed.
2728         * html/parser/CompactHTMLToken.h: Removed.
2729         * html/parser/HTMLDocumentParser.cpp:
2730         * html/parser/HTMLDocumentParser.h:
2731         * html/parser/HTMLIdentifier.cpp: Removed.
2732         * html/parser/HTMLIdentifier.h: Removed.
2733         * html/parser/HTMLParserIdioms.h:
2734         * html/parser/HTMLPreloadScanner.h:
2735         * html/parser/HTMLTreeBuilderSimulator.cpp: Removed.
2736         * html/parser/HTMLTreeBuilderSimulator.h: Removed.
2737
2738 2014-01-17  Andreas Kling  <akling@apple.com>
2739
2740         Micro-optimize RenderBoxModelObject::computedCSSPadding().
2741         <https://webkit.org/b/127208>
2742
2743         Make computedCSSPadding() take the Length as a const reference
2744         to avoid creating a temporary copy. This was showing up (0.2%)
2745         on DoYouEvenBench.
2746
2747         Reviewed by Anders Carlsson.
2748
2749         * rendering/RenderBoxModelObject.h:
2750         * rendering/RenderBoxModelObject.cpp:
2751         (WebCore::RenderBoxModelObject::computedCSSPadding):
2752
2753 2014-01-17  Anders Carlsson  <andersca@apple.com>
2754
2755         Add a callOnMainThreadAndWait variant in SocketStreamHandle
2756         https://bugs.webkit.org/show_bug.cgi?id=127180
2757
2758         Reviewed by Geoffrey Garen.
2759
2760         WTF::callOnMainThreadAndWait was only used inside SocketStreamHandleCFNet.cpp, 
2761         so add an improved version there which is implemented in terms of callOnMainThread and
2762         with the bonus of handling spurious wake-ups correctly (the old version didn't).
2763
2764         * platform/network/cf/SocketStreamHandle.h:
2765         * platform/network/cf/SocketStreamHandleCFNet.cpp:
2766         (WebCore::callOnMainThreadAndWait):
2767         (WebCore::SocketStreamHandle::pacExecutionCallback):
2768         (WebCore::SocketStreamHandle::readStreamCallback):
2769         (WebCore::SocketStreamHandle::writeStreamCallback):
2770
2771 2014-01-17  Anders Carlsson  <andersca@apple.com>
2772
2773         Clean up PageCache classes
2774         https://bugs.webkit.org/show_bug.cgi?id=127202
2775
2776         Reviewed by Andreas Kling.
2777
2778         * WebCore.exp.in:
2779         * history/CachedFrame.cpp:
2780         (WebCore::CachedFrameBase::~CachedFrameBase):
2781         (WebCore::CachedFrame::CachedFrame):
2782         (WebCore::CachedFrame::clear):
2783         (WebCore::CachedFrame::setCachedFramePlatformData):
2784         * history/CachedFrame.h:
2785         * history/CachedPage.cpp:
2786         (WebCore::CachedPage::CachedPage):
2787         * history/CachedPage.h:
2788         * history/HistoryItem.h:
2789         (WebCore::HistoryItem::isInPageCache):
2790         * history/PageCache.cpp:
2791         (WebCore::PageCache::add):
2792         (WebCore::PageCache::take):
2793         (WebCore::PageCache::remove):
2794         * history/PageCache.h:
2795         * loader/FrameLoader.cpp:
2796         (WebCore::FrameLoader::commitProvisionalLoad):
2797         * loader/HistoryController.cpp:
2798         (WebCore::HistoryController::invalidateCurrentItemCachedPage):
2799
2800 2014-01-17  Andy Estes  <aestes@apple.com>
2801
2802         Work around a preprocessor warning in mediaControlsApple.js
2803         https://bugs.webkit.org/show_bug.cgi?id=127204
2804
2805         Reviewed by Dan Bernstein.
2806
2807         * Modules/mediacontrols/mediaControlsApple.js: Changed '' to String().
2808
2809 2014-01-17  Daniel Bates  <dabates@apple.com>
2810
2811         Fix the iOS build after <http://trac.webkit.org/changeset/162184>
2812         (https://bugs.webkit.org/show_bug.cgi?id=126856)
2813
2814         Remove symbol for WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator(unsigned short const*, int).
2815         Add symbol for WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator(WTF::StringView).
2816
2817         * WebCore.exp.in:
2818
2819 2014-01-17  Andreas Kling  <akling@apple.com>
2820
2821         Remove unused TOUCH_ADJUSTMENT code.
2822         <https://webkit.org/b/127181>
2823
2824         There are no ports using the ENABLE(TOUCH_ADJUSTMENT) feature
2825         anymore, so nuke it from orbit.
2826
2827         Reviewed by Anders Carlsson.
2828
2829         * page/EventHandler.cpp:
2830         * page/EventHandler.h:
2831         * page/Settings.in:
2832         * page/TouchAdjustment.cpp: Removed.
2833         * page/TouchAdjustment.h: Removed.
2834         * testing/Internals.cpp:
2835         * testing/Internals.h:
2836         * testing/Internals.idl:
2837
2838 2014-01-17  Beth Dakin  <bdakin@apple.com>
2839
2840         Need a way to test the tile cache with margins enabled
2841         https://bugs.webkit.org/show_bug.cgi?id=127194
2842         -and corresponding-
2843         <rdar://problem/15571327>
2844
2845         Reviewed by Tim Horton.
2846
2847         This patch adds a new function to InternalSettings that will allow layout tests to 
2848         flip the setting Settings::setBackgroundShouldExtendBeyondPage(). This patch also         
2849         makes changing that setting take effect immediately. 
2850
2851         To make this setting dynamic, we can no longer generate the Setting function, so 
2852         we have to export the symbol manually.
2853         * WebCore.exp.in:
2854
2855         This new function on FrameView will call into RenderLayerBacking to add or remove 
2856         margins.
2857         * page/FrameView.cpp:
2858         (WebCore::FrameView::setBackgroundExtendsBeyondPage):
2859         * page/FrameView.h:
2860
2861         Again, we’re no longer using the boiler-plate generated Setting functions, so now 
2862         we can call into FrameView to make the background extend.
2863         * page/Settings.cpp:
2864         (WebCore::Settings::Settings):
2865         (WebCore::Settings::setBackgroundShouldExtendBeyondPage):
2866         * page/Settings.h:
2867         (WebCore::Settings::backgroundShouldExtendBeyondPage):
2868         * page/Settings.in:
2869
2870         Whenever tile margins are set, call setNeedsRevalidateTiles() to make the change 
2871         dynamic.
2872         * platform/graphics/ca/mac/TileController.mm:
2873         (WebCore::TileController::setTileMargins):
2874
2875         Move the call to TiledBacking::setTileMargins() into a helper function so that the 
2876         same code can be used for FrameView.
2877         * rendering/RenderLayerBacking.cpp:
2878         (WebCore::RenderLayerBacking::RenderLayerBacking):
2879         (WebCore::RenderLayerBacking::setTiledBackingHasMargins):
2880         * rendering/RenderLayerBacking.h:
2881
2882         New InternalSetting.
2883         * testing/InternalSettings.cpp:
2884         (WebCore::InternalSettings::setBackgroundShouldExtendBeyondPage):
2885         * testing/InternalSettings.h:
2886         * testing/InternalSettings.idl:
2887
2888 2014-01-17  Anders Carlsson  <andersca@apple.com>
2889
2890         Remove another unused FrameLoaderClient callback
2891         https://bugs.webkit.org/show_bug.cgi?id=127192
2892
2893         Reviewed by Dan Bernstein.
2894
2895         FrameLoaderClient::dispatchDocumentElementAvailable() was only used by the Chromium port, so remove it.
2896
2897         * html/ImageDocument.cpp:
2898         (WebCore::ImageDocument::createDocumentStructure):
2899         * html/MediaDocument.cpp:
2900         (WebCore::MediaDocumentParser::createDocumentStructure):
2901         * html/PluginDocument.cpp:
2902         (WebCore::PluginDocumentParser::createDocumentStructure):
2903         * html/parser/HTMLConstructionSite.cpp:
2904         (WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
2905         * loader/EmptyClients.h:
2906         * loader/FrameLoader.cpp:
2907         * loader/FrameLoader.h:
2908         * loader/FrameLoaderClient.h:
2909         * xml/parser/XMLDocumentParserLibxml2.cpp:
2910         (WebCore::XMLDocumentParser::startElementNs):
2911
2912 2014-01-17  Anders Carlsson  <andersca@apple.com>
2913
2914         Remove FrameLoaderClient::didPerformFirstNavigation()
2915         https://bugs.webkit.org/show_bug.cgi?id=127191
2916
2917         Reviewed by Dan Bernstein.
2918
2919         * loader/EmptyClients.h:
2920         * loader/FrameLoader.cpp:
2921         (WebCore::FrameLoader::FrameLoader):
2922         * loader/FrameLoader.h:
2923         * loader/FrameLoaderClient.h:
2924         * loader/HistoryController.cpp:
2925         (WebCore::HistoryController::updateBackForwardListClippedAtTarget):
2926
2927 2014-01-17  Anders Carlsson  <andersca@apple.com>
2928
2929         Move didPerformFirstNavigation() logic to -[WebView _didCommitLoadForFrame:]
2930         https://bugs.webkit.org/show_bug.cgi?id=127189
2931
2932         Reviewed by Dan Bernstein.
2933
2934         * loader/FrameLoaderClient.h:
2935         (WebCore::FrameLoaderClient::didPerformFirstNavigation):
2936         Add an empty implementation of didPerformFirstNavigation() to make it easier to remove it from subclasses.
2937
2938 2014-01-17  Eric Carlson  <eric.carlson@apple.com>
2939
2940         [iOS] HTMLMediaSession should set AudioSession category
2941         https://bugs.webkit.org/show_bug.cgi?id=127137
2942
2943         Reviewed by Sam Weinig.
2944
2945         * html/HTMLMediaSession.cpp:
2946         (WebCore::initializeAudioSession): New, set the audio session to "media" on iOS.
2947         (WebCore::HTMLMediaSession::HTMLMediaSession): Call initializeAudioSession.
2948
2949 2014-01-17  Daniel Bates  <dabates@apple.com>
2950
2951         Fix the iOS build after <http://trac.webkit.org/changeset/162178>
2952         (https://bugs.webkit.org/show_bug.cgi?id=127147)
2953
2954         Declare WebMediaSessionHelper outside of namespace WebCore to resolve error that
2955         "Objective-C declarations may only appear in global scope".
2956
2957         * platform/audio/ios/MediaSessionManagerIOS.mm:
2958
2959 2014-01-17  Bem Jones-Bey  <bjonesbe@adobe.com>
2960
2961         [CSS Shapes] Stacked floats with shape-outside should allow inline content to interact with the non-outermost float
2962         https://bugs.webkit.org/show_bug.cgi?id=122576
2963
2964         Reviewed by David Hyatt.
2965
2966         Make inline content interact with stacked floats with shape-outside
2967         per the spec. This means that content can interact with floats on the
2968         line that are not the outermost float.
2969
2970         This refactors ComputeFloatOffsetAdapter into a superclass and two
2971         subclasses: one adaptor for determining the offset for float layout,
2972         and one for determining the offset for inline layout.
2973
2974         The logic in LineWidth::shrinkAvailableWidthForNewFloatIfNeeded has
2975         been updated to handle stacked floats with shape-outside properly and
2976         has been considerably simplified in the process. It was previously
2977         doing a whole bunch of unnecessary work.
2978
2979         Tests: fast/shapes/shape-outside-floats/shape-outside-floats-stacked-000.html
2980                fast/shapes/shape-outside-floats/shape-outside-floats-stacked-001.html
2981                fast/shapes/shape-outside-floats/shape-outside-floats-stacked-002.html
2982
2983         * rendering/FloatingObjects.cpp:
2984         (WebCore::ComputeFloatOffsetAdapter::~ComputeFloatOffsetAdapter):
2985         (WebCore::ComputeFloatOffsetForFloatLayoutAdapter::ComputeFloatOffsetForFloatLayoutAdapter):
2986         (WebCore::ComputeFloatOffsetForFloatLayoutAdapter::~ComputeFloatOffsetForFloatLayoutAdapter):
2987         (WebCore::ComputeFloatOffsetForLineLayoutAdapter::ComputeFloatOffsetForLineLayoutAdapter):
2988         (WebCore::ComputeFloatOffsetForLineLayoutAdapter::~ComputeFloatOffsetForLineLayoutAdapter):
2989         (WebCore::FloatingObjects::logicalLeftOffsetForPositioningFloat):
2990         (WebCore::FloatingObjects::logicalRightOffsetForPositioningFloat):
2991         (WebCore::FloatingObjects::logicalLeftOffset):
2992         (WebCore::FloatingObjects::logicalRightOffset):
2993         (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatingObject::FloatLeft>::updateOffsetIfNeeded):
2994         (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatingObject::FloatRight>::updateOffsetIfNeeded):
2995         (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatTypeValue>::heightRemaining):
2996         (WebCore::shapeInfoForFloat):
2997         (WebCore::ComputeFloatOffsetForLineLayoutAdapter<FloatingObject::FloatLeft>::updateOffsetIfNeeded):
2998         (WebCore::ComputeFloatOffsetForLineLayoutAdapter<FloatingObject::FloatRight>::updateOffsetIfNeeded):
2999         * rendering/line/LineWidth.cpp:
3000         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
3001         * rendering/shapes/ShapeOutsideInfo.cpp:
3002         (WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):
3003         * rendering/shapes/ShapeOutsideInfo.h:
3004
3005 2014-01-17  Zoltan Horvath  <zoltan@webkit.org>
3006
3007         [CSS3] Add rendering support for -webkit-text-align-last
3008         https://bugs.webkit.org/show_bug.cgi?id=99584
3009
3010         Reviewed by David Hyatt.
3011
3012         Add support for the text-align-last CSS3 property, according to the latest specification:
3013         http://dev.w3.org/csswg/css-text-3/#text-align-last-property
3014
3015         Tests: fast/css3-text/css3-text-align-last/text-align-last-with-text-align-justify.html
3016                fast/css3-text/css3-text-align-last/text-align-last-with-text-align-non-justify.html
3017
3018         * rendering/RenderBlockLineLayout.cpp:
3019         (WebCore::RenderBlockFlow::textAlignmentForLine):
3020         * rendering/style/RenderStyle.cpp:
3021         (WebCore::RenderStyle::changeRequiresLayout):
3022
3023 2014-01-17  Daniel Bates  <dabates@apple.com>
3024
3025         Fix the iOS build after <http://trac.webkit.org/changeset/162208>
3026         (https://bugs.webkit.org/show_bug.cgi?id=127139)
3027
3028         __MAC_OS_X_VERSION_MIN_REQUIRED isn't defined when building for iOS. Instead, explicitly
3029         check that we're not PLATFORM(IOS) to avoid defining the enum value CFHTTPCookieStorageAcceptPolicyExclusivelyFromMainDocumentDomain.
3030
3031         * platform/network/cf/CookieJarCFNet.cpp:
3032
3033 2014-01-17  Bear Travis  <betravis@adobe.com>
3034
3035         [CSS Shapes] Basic shapes' computed position should be a horizontal and vertical offset
3036         https://bugs.webkit.org/show_bug.cgi?id=127010
3037
3038         Reviewed by Rob Buis.
3039
3040         This patch updates the computed position values used for blending to be a horizontal
3041         left offset and a vertical top offset. When positions include a center, bottom, or
3042         right position offset, it is converted to the appropriate top/left coordinate as
3043         a calc expression. Serialized values still use the original bottom/right directions
3044         when present, and also omit the top/left keywords where possible.
3045
3046         Updated parsing and animation tests.
3047
3048         * css/BasicShapeFunctions.cpp:
3049         (WebCore::valueForCenterCoordinate): Use the simplified BasicShapeCenterCoordinate,
3050         which includes an offset and whether the direction is from the top/left or bottom/right.
3051         (WebCore::valueForBasicShape): Ditto.
3052         (WebCore::convertToCenterCoordinate): Ditto.
3053         (WebCore::basicShapeForValue): Ditto.
3054         (WebCore::floatValueForCenterCoordinate): Ditto.
3055         * page/animation/CSSPropertyAnimation.cpp:
3056         (WebCore::blendFunc): Remove the RenderBox parameter, which is no longer needed.
3057         * rendering/style/BasicShapes.cpp:
3058         (WebCore::BasicShapeCenterCoordinate::updateComputedLength): Calculate the computed
3059         position offset for this center coordinate.
3060         (WebCore::BasicShapeRectangle::blend): Remove the RenderBox parameter.
3061         (WebCore::DeprecatedBasicShapeCircle::blend): Ditto.
3062         (WebCore::BasicShapeCircle::blend): Ditto.
3063         (WebCore::DeprecatedBasicShapeEllipse::blend): Ditto.
3064         (WebCore::BasicShapeEllipse::blend): Ditto.
3065         (WebCore::BasicShapePolygon::blend): Ditto.
3066         (WebCore::BasicShapeInsetRectangle::blend): Ditto.
3067         (WebCore::BasicShapeInset::blend): Ditto.
3068         * rendering/style/BasicShapes.h:
3069         (WebCore::BasicShapeCenterCoordinate::BasicShapeCenterCoordinate): Simplify
3070         BasicShapeCenterCoordinate to contain an offset and a direction. Also add a
3071         computed length, which is an offset from the top/left direction.
3072         (WebCore::BasicShapeCenterCoordinate::direction):
3073         (WebCore::BasicShapeCenterCoordinate::computedLength):
3074         (WebCore::BasicShapeCenterCoordinate::blend):
3075
3076 2014-01-17  Alexey Proskuryakov  <ap@apple.com>
3077
3078         More non-Mac build fix.
3079
3080         * platform/network/cf/CookieJarCFNet.cpp:
3081
3082 2014-01-16  Myles C. Maxfield  <mmaxfield@apple.com>
3083
3084         Unprefix text-emphasis CSS properties
3085         https://bugs.webkit.org/show_bug.cgi?id=127160
3086
3087         Reviewed by Sam Weinig.
3088
3089         Add synonym CSS properties. We don't want to delete the old ones because
3090         we've shipped with them included.
3091
3092         Test: fast/css3-text/css3-text-decoration/text-decoration-unprefix.html
3093
3094         * css/CSSPropertyNames.in:
3095
3096 2014-01-17  Alberto Garcia  <berto@igalia.com>
3097
3098         [GTK] WebKitGtk/testcopyandpaste fails in debug builds
3099         https://bugs.webkit.org/show_bug.cgi?id=127173
3100
3101         Reviewed by Carlos Garcia Campos.
3102
3103         Remove duplicate "PasteGlobalSelection" entry.
3104
3105         * editing/EditorCommand.cpp:
3106         (WebCore::createCommandMap):
3107
3108 2014-01-14  Andreas Kling  <akling@apple.com>
3109
3110         Pack ResourceRequest harder.
3111         <https://webkit.org/b/126982>
3112
3113         Re-arrange the members of ResourceRequest to reduce padding,
3114         shrinking it by 8 bytes.
3115
3116         Reviewed by Anders Carlsson.
3117
3118         * platform/network/ResourceRequestBase.h:
3119         (WebCore::ResourceRequestBase::ResourceRequestBase):
3120
3121 2014-01-17  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
3122
3123         Remove workaround for compilers not supporting deleted functions
3124         https://bugs.webkit.org/show_bug.cgi?id=127166
3125
3126         Reviewed by Andreas Kling.
3127
3128         * bindings/js/JSLazyEventListener.h:
3129         * dom/ContainerNode.h:
3130         * dom/Document.h:
3131         * dom/Element.h:
3132         * rendering/InlineFlowBox.h:
3133         * rendering/InlineTextBox.h:
3134         * rendering/RenderButton.h:
3135         * rendering/RenderCombineText.h:
3136         * rendering/RenderElement.h:
3137         * rendering/RenderFieldset.h:
3138         * rendering/RenderFileUploadControl.h:
3139         * rendering/RenderFrame.h:
3140         * rendering/RenderFrameBase.h:
3141         * rendering/RenderFrameSet.h:
3142         * rendering/RenderHTMLCanvas.h:
3143         * rendering/RenderIFrame.h:
3144         * rendering/RenderLineBreak.h:
3145         * rendering/RenderListBox.h:
3146         * rendering/RenderListMarker.h:
3147         * rendering/RenderMedia.h:
3148         * rendering/RenderMenuList.h:
3149         * rendering/RenderSnapshottedPlugIn.h:
3150         * rendering/RenderTableCell.h:
3151         * rendering/RenderTableRow.h:
3152         * rendering/RenderTableSection.h:
3153         * rendering/RenderText.h:
3154         * rendering/RenderTextControl.h:
3155         * rendering/RenderTextControlMultiLine.h:
3156         * rendering/RenderTextControlSingleLine.h:
3157         * rendering/RenderVideo.h:
3158         * rendering/RenderWidget.h:
3159         * rendering/svg/RenderSVGBlock.h:
3160         * rendering/svg/RenderSVGForeignObject.h:
3161         * rendering/svg/RenderSVGImage.h:
3162         * rendering/svg/RenderSVGInline.h:
3163         * rendering/svg/RenderSVGRect.h:
3164         * rendering/svg/RenderSVGResourceClipper.h:
3165         * rendering/svg/RenderSVGResourceFilter.h:
3166         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
3167         * rendering/svg/RenderSVGResourceGradient.h:
3168         * rendering/svg/RenderSVGResourceLinearGradient.h:
3169         * rendering/svg/RenderSVGResourceMarker.h:
3170         * rendering/svg/RenderSVGResourceMasker.h:
3171         * rendering/svg/RenderSVGResourcePattern.h:
3172         * rendering/svg/RenderSVGResourceRadialGradient.h:
3173         * rendering/svg/RenderSVGRoot.h:
3174         * rendering/svg/RenderSVGShape.h:
3175         * rendering/svg/RenderSVGTSpan.h:
3176         * rendering/svg/RenderSVGText.h:
3177         * rendering/svg/RenderSVGTextPath.h:
3178         * rendering/svg/RenderSVGTransformableContainer.h:
3179         * rendering/svg/RenderSVGViewportContainer.h:
3180         * xml/XPathValue.h:
3181
3182 2014-01-17  Zan Dobersek  <zdobersek@igalia.com>
3183
3184         [ATK] Modernize the for loops in ATK AX code
3185         https://bugs.webkit.org/show_bug.cgi?id=127120
3186
3187         Reviewed by Mario Sanchez Prada.
3188
3189         Update the for loops to be range-based in ATK accessibility code.
3190         This work is complementary to r161979.
3191
3192         * accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp:
3193         (webkitAccessibleHypertextGetLink):
3194         * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
3195         (webkitAccessibleTableGetColumnHeader):
3196         (webkitAccessibleTableGetRowHeader):
3197         * accessibility/atk/WebKitAccessibleUtil.cpp:
3198         (accessibilityTitle):
3199         (accessibilityDescription):
3200         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3201         (getNChildrenForTable):
3202         (getChildForTable):
3203         (getIndexInParentForCellInRow):
3204
3205 2014-01-17  Zan Dobersek  <zdobersek@igalia.com>
3206
3207         [Soup] Remove unnecessary using-directives for the std namespace
3208         https://bugs.webkit.org/show_bug.cgi?id=127122
3209
3210         Reviewed by Martin Robinson.
3211
3212         * platform/network/soup/ResourceRequestSoup.cpp: Remove the unnecessary using-directive for the std namespace
3213         as no symbols from that namespace are in use in this implementation file.
3214         * platform/network/soup/ResourceResponseSoup.cpp: Ditto.
3215
3216 2014-01-16  Tim Horton  <timothy_horton@apple.com>
3217
3218         On iOS, zooming in with a TileController-backed main frame makes hundreds of tiles
3219         https://bugs.webkit.org/show_bug.cgi?id=126531
3220         <rdar://problem/15745862>
3221
3222         Reviewed by Anders Carlsson.
3223
3224         * platform/graphics/ca/mac/TileController.h:
3225         * platform/graphics/ca/mac/TileController.mm:
3226         (WebCore::TileController::tilesWouldChangeForVisibleRect):
3227         (WebCore::TileController::scaledExposedRect):
3228         (WebCore::TileController::computeTileCoverageRect):
3229         (WebCore::TileController::revalidateTiles):
3230         (WebCore::TileController::updateTileCoverageMap):
3231         Scale the FrameView-space exposedRect into document space, to match the visibleRect.
3232
3233         Flipping on WKView's clipsToExposedRect now works correctly even in Safari
3234         or MiniBrowser with zooming.
3235
3236 2014-01-15  Sam Weinig  <sam@webkit.org>
3237
3238         TextBreakIterator's should support Latin-1 for all iterator types (Part 3)
3239         https://bugs.webkit.org/show_bug.cgi?id=126856
3240
3241         Reviewed by Ryosuke Niwa.
3242
3243         Change all the TextBreakIterator creation functions to take StringViews. Remove a few
3244         now unnecessary up-conversions to UTF-16 in the process.
3245
3246         * dom/CharacterData.cpp:
3247         * editing/TextCheckingHelper.cpp:
3248         * editing/VisibleUnits.cpp:
3249         * platform/graphics/StringTruncator.cpp:
3250         * platform/graphics/mac/ComplexTextController.cpp:
3251         * platform/text/TextBoundaries.cpp:
3252         * platform/text/TextBreakIterator.cpp:
3253         * platform/text/TextBreakIterator.h:
3254         * rendering/RenderText.cpp:
3255
3256 2014-01-16  Anders Carlsson  <andersca@apple.com>
3257
3258         Run clang-modernize and let it add a bunch of missing overrides.
3259
3260         Rubber-stamped by Sam Weinig.
3261
3262         * dom/BeforeLoadEvent.h:
3263         * dom/ClassNodeList.h:
3264         * dom/Comment.h:
3265         * dom/CompositionEvent.h:
3266         * dom/DecodedDataDocumentParser.h:
3267         * dom/DeviceMotionEvent.h:
3268         * dom/DeviceOrientationEvent.h:
3269         * dom/DocumentMarker.cpp:
3270         * dom/DocumentType.h:
3271         * dom/EntityReference.h:
3272         * dom/FocusEvent.h:
3273         * dom/HashChangeEvent.h:
3274         * dom/MessageEvent.h:
3275         * dom/MouseEvent.h:
3276         * dom/MouseRelatedEvent.h:
3277         * dom/MutationEvent.h:
3278         * dom/NameNodeList.h:
3279         * dom/Notation.h:
3280         * dom/OverflowEvent.h:
3281         * dom/PendingScript.h:
3282         * dom/PopStateEvent.h:
3283         * dom/ProcessingInstruction.h:
3284         * dom/ScriptElement.h:
3285         * dom/ScriptExecutionContext.cpp:
3286         * dom/ScriptableDocumentParser.h:
3287         * dom/ScriptedAnimationController.h:
3288         * dom/StringCallback.cpp:
3289         * dom/WheelEvent.h:
3290         * html/FTPDirectoryDocument.h:
3291         * html/FileInputType.cpp:
3292         * html/HTMLAppletElement.h:
3293         * html/HTMLBRElement.h:
3294         * html/HTMLBaseElement.h:
3295         * html/HTMLBodyElement.h:
3296         * html/HTMLButtonElement.h:
3297         * html/HTMLDocument.h:
3298         * html/HTMLEmbedElement.h:
3299         * html/HTMLFormControlsCollection.h:
3300         * html/HTMLFrameElement.h:
3301         * html/HTMLFrameSetElement.h:
3302         * html/HTMLHRElement.h:
3303         * html/HTMLIFrameElement.h:
3304         * html/HTMLKeygenElement.cpp:
3305         * html/HTMLKeygenElement.h:
3306         * html/HTMLLinkElement.h:
3307         * html/HTMLMarqueeElement.h:
3308         * html/HTMLObjectElement.h:
3309         * html/HTMLOutputElement.h:
3310         * html/HTMLParamElement.h:
3311         * html/HTMLScriptElement.h:
3312         * html/HTMLStyleElement.h:
3313         * html/HTMLSummaryElement.h:
3314         * html/HTMLTrackElement.h:
3315         * html/HTMLViewSourceDocument.h:
3316         * html/ImageDocument.cpp:
3317         * html/ImageDocument.h:
3318         * html/MediaDocument.cpp:
3319         * html/MediaDocument.h:
3320         * html/MediaKeyEvent.h:
3321         * html/PluginDocument.cpp:
3322         * html/RadioNodeList.h:
3323         * html/TextDocument.h:
3324         * html/canvas/EXTDrawBuffers.h:
3325         * html/canvas/EXTTextureFilterAnisotropic.h:
3326         * html/canvas/OESElementIndexUint.h:
3327         * html/canvas/OESStandardDerivatives.h:
3328         * html/canvas/OESTextureFloat.h:
3329         * html/canvas/OESTextureFloatLinear.h:
3330         * html/canvas/OESTextureHalfFloat.h:
3331         * html/canvas/OESTextureHalfFloatLinear.h:
3332         * html/canvas/OESVertexArrayObject.h:
3333         * html/canvas/WebGLBuffer.h:
3334         * html/canvas/WebGLCompressedTextureATC.h:
3335         * html/canvas/WebGLCompressedTexturePVRTC.h:
3336         * html/canvas/WebGLCompressedTextureS3TC.h:
3337         * html/canvas/WebGLContextEvent.h:
3338         * html/canvas/WebGLContextObject.h:
3339         * html/canvas/WebGLDebugRendererInfo.h:
3340         * html/canvas/WebGLDebugShaders.h:
3341         * html/canvas/WebGLDepthTexture.h:
3342         * html/canvas/WebGLFramebuffer.cpp:
3343         * html/canvas/WebGLFramebuffer.h:
3344         * html/canvas/WebGLLoseContext.h:
3345         * html/canvas/WebGLProgram.h:
3346         * html/canvas/WebGLRenderbuffer.h:
3347         * html/canvas/WebGLRenderingContext.cpp:
3348         * html/canvas/WebGLRenderingContext.h:
3349         * html/canvas/WebGLShader.h:
3350         * html/canvas/WebGLSharedObject.h:
3351         * html/canvas/WebGLTexture.h:
3352         * html/canvas/WebGLVertexArrayObjectOES.h:
3353         * html/parser/HTMLDocumentParser.h:
3354         * html/parser/HTMLViewSourceParser.h:
3355         * html/shadow/DetailsMarkerControl.h:
3356         * html/shadow/MediaControls.h:
3357         * html/shadow/MediaControlsApple.h:
3358         * html/shadow/MeterShadowElement.h:
3359         * html/shadow/ProgressShadowElement.h:
3360         * html/shadow/SliderThumbElement.h:
3361         * html/track/LoadableTextTrack.h:
3362         * html/track/TrackEvent.h:
3363         * svg/SVGAElement.h:
3364         * svg/SVGAnimateColorElement.h:
3365         * svg/SVGAnimateElement.h:
3366         * svg/SVGAnimateMotionElement.h:
3367         * svg/SVGAnimateTransformElement.h:
3368         * svg/SVGAnimationElement.h:
3369         * svg/SVGCircleElement.h:
3370         * svg/SVGClipPathElement.h:
3371         * svg/SVGComponentTransferFunctionElement.h:
3372         * svg/SVGCursorElement.h:
3373         * svg/SVGDefsElement.h:
3374         * svg/SVGDescElement.h:
3375         * svg/SVGEllipseElement.h:
3376         * svg/SVGFEBlendElement.h:
3377         * svg/SVGFEColorMatrixElement.h:
3378         * svg/SVGFEComponentTransferElement.h:
3379         * svg/SVGFECompositeElement.h:
3380         * svg/SVGFEConvolveMatrixElement.h:
3381         * svg/SVGFEDiffuseLightingElement.h:
3382         * svg/SVGFEDisplacementMapElement.h:
3383         * svg/SVGFEDistantLightElement.h:
3384         * svg/SVGFEDropShadowElement.h:
3385         * svg/SVGFEFloodElement.h:
3386         * svg/SVGFEGaussianBlurElement.h:
3387         * svg/SVGFEImageElement.h:
3388         * svg/SVGFELightElement.h:
3389         * svg/SVGFEMergeElement.h:
3390         * svg/SVGFEMergeNodeElement.h:
3391         * svg/SVGFEMorphologyElement.h:
3392         * svg/SVGFEOffsetElement.h:
3393         * svg/SVGFEPointLightElement.h:
3394         * svg/SVGFESpecularLightingElement.h:
3395         * svg/SVGFESpotLightElement.h:
3396         * svg/SVGFETileElement.h:
3397         * svg/SVGFETurbulenceElement.h:
3398         * svg/SVGFilterElement.h:
3399         * svg/SVGFilterPrimitiveStandardAttributes.h:
3400         * svg/SVGFontData.h:
3401         * svg/SVGForeignObjectElement.h:
3402         * svg/SVGGlyphElement.h:
3403         * svg/SVGGlyphRefElement.h:
3404         * svg/SVGGradientElement.h:
3405         * svg/SVGHKernElement.h:
3406         * svg/SVGImageElement.h:
3407         * svg/SVGImageLoader.h:
3408         * svg/SVGLineElement.h:
3409         * svg/SVGLinearGradientElement.h:
3410         * svg/SVGMPathElement.h:
3411         * svg/SVGMarkerElement.h:
3412         * svg/SVGMaskElement.h:
3413         * svg/SVGMissingGlyphElement.h:
3414         * svg/SVGPathBuilder.h:
3415         * svg/SVGPathByteStreamBuilder.h:
3416         * svg/SVGPathByteStreamSource.h:
3417         * svg/SVGPathElement.h:
3418         * svg/SVGPathSegArcAbs.h:
3419         * svg/SVGPathSegArcRel.h:
3420         * svg/SVGPathSegClosePath.h:
3421         * svg/SVGPathSegCurvetoCubicAbs.h:
3422         * svg/SVGPathSegCurvetoCubicRel.h:
3423         * svg/SVGPathSegCurvetoCubicSmoothAbs.h:
3424         * svg/SVGPathSegCurvetoCubicSmoothRel.h:
3425         * svg/SVGPathSegCurvetoQuadraticAbs.h:
3426         * svg/SVGPathSegCurvetoQuadraticRel.h:
3427         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.h:
3428         * svg/SVGPathSegCurvetoQuadraticSmoothRel.h:
3429         * svg/SVGPathSegLinetoAbs.h:
3430         * svg/SVGPathSegLinetoHorizontalAbs.h:
3431         * svg/SVGPathSegLinetoHorizontalRel.h:
3432         * svg/SVGPathSegLinetoRel.h:
3433         * svg/SVGPathSegLinetoVerticalAbs.h:
3434         * svg/SVGPathSegLinetoVerticalRel.h:
3435         * svg/SVGPathSegListBuilder.h:
3436         * svg/SVGPathSegListSource.h:
3437         * svg/SVGPathSegMovetoAbs.h:
3438         * svg/SVGPathSegMovetoRel.h:
3439         * svg/SVGPathStringSource.h:
3440         * svg/SVGPathTraversalStateBuilder.h:
3441         * svg/SVGPatternElement.h:
3442         * svg/SVGPolyElement.h:
3443         * svg/SVGRadialGradientElement.h:
3444         * svg/SVGRectElement.h:
3445         * svg/SVGSVGElement.h:
3446         * svg/SVGScriptElement.h:
3447         * svg/SVGStopElement.h:
3448         * svg/SVGStyleElement.h:
3449         * svg/SVGSwitchElement.h:
3450         * svg/SVGSymbolElement.h:
3451         * svg/SVGTRefElement.h:
3452         * svg/SVGTSpanElement.h:
3453         * svg/SVGTextContentElement.h:
3454         * svg/SVGTextElement.h:
3455         * svg/SVGTextPathElement.h:
3456         * svg/SVGTextPositioningElement.h:
3457         * svg/SVGTitleElement.h:
3458         * svg/SVGUseElement.h:
3459         * svg/SVGVKernElement.h:
3460         * svg/SVGViewElement.h:
3461         * svg/SVGZoomEvent.h:
3462         * svg/animation/SVGSMILElement.cpp:
3463         * svg/animation/SVGSMILElement.h:
3464         * svg/graphics/SVGImageChromeClient.h:
3465         * svg/graphics/filters/SVGFEImage.h:
3466         * svg/graphics/filters/SVGFilter.h:
3467         * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
3468         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
3469         * svg/properties/SVGPathSegListPropertyTearOff.h:
3470
3471 2014-01-16  Jer Noble  <jer.noble@apple.com>
3472
3473         REGRESSION(r162145): media/video-controls-visible-audio-only.html fails
3474         https://bugs.webkit.org/show_bug.cgi?id=127147
3475
3476         Reviewed by Eric Carlson.
3477
3478         Reset the MediaSessionManager's restrictions to their default values before
3479         each run.
3480
3481         Add a new virtual method "resetRestrictions()" so that each port-specific
3482         MediaSessionManager can reset the restrictions to their default values.
3483         Call this from Internals::resetToConsistentState() so that tests which change
3484         the restrictions don't affect later tests.
3485
3486         * platform/audio/MediaSessionManager.cpp:
3487         (WebCore::MediaSessionManager::MediaSessionManager):
3488         (WebCore::MediaSessionManager::resetRestrictions):
3489         * platform/audio/MediaSessionManager.h:
3490         (WebCore::MediaSessionManager::~MediaSessionManager):
3491         * platform/audio/ios/MediaSessionManagerIOS.h:
3492         * platform/audio/ios/MediaSessionManagerIOS.mm:
3493         (WebCore::MediaSessionManageriOS::resetRestrictions):
3494         * testing/Internals.cpp:
3495         (WebCore::Internals::resetToConsistentState):
3496
3497 2014-01-16  Alex Christensen  <achristensen@webkit.org>
3498
3499         Compile fix for WinCairo after r162138.
3500         https://bugs.webkit.org/show_bug.cgi?id=127140
3501
3502         Reviewed by Beth Dakin.
3503
3504         * page/FrameView.cpp:
3505         (WebCore::FrameView::extendedBackgroundRect):
3506         Use unscaledDocumentRect for extendedBackgroundRect without accelerated compositing.
3507
3508 2014-01-16  Brady Eidson  <beidson@apple.com>
3509
3510         IDB: delete object store support
3511         <rdar://problem/15779641> and https://bugs.webkit.org/show_bug.cgi?id=127123
3512
3513         Reviewed by Alexey Proskuryakov.
3514
3515         * Modules/indexeddb/IDBTransactionBackendOperations.h:
3516         (WebCore::DeleteObjectStoreOperation::transaction):
3517
3518 2014-01-16  Alexey Proskuryakov  <ap@apple.com>
3519
3520         More non-Mac build fix.
3521
3522         * platform/network/cf/CookieJarCFNet.cpp:
3523         (WebCore::copyCookiesForURLWithFirstPartyURL):
3524
3525 2014-01-16  Alexey Proskuryakov  <ap@apple.com>
3526
3527         Build fix.
3528
3529         * platform/network/cf/CookieJarCFNet.cpp: Remove a spurious semicolon.
3530
3531 2014-01-16  Andy Estes  <aestes@apple.com>
3532
3533         Another iOS build fix.
3534
3535         * platform/audio/ios/MediaSessionManagerIOS.mm:
3536         (WebCore::m_objcObserver):
3537
3538 2014-01-16  Alexey Proskuryakov  <ap@apple.com>
3539
3540         [Mac] [iOS] Add support for CFHTTPCookieStorageAcceptPolicyExclusivelyFromMainDocumentDomain
3541         https://bugs.webkit.org/show_bug.cgi?id=127139
3542
3543         Reviewed by Brady Eidson.
3544
3545         * platform/ios/WebCoreSystemInterfaceIOS.mm:
3546         * platform/mac/WebCoreSystemInterface.h:
3547         * platform/mac/WebCoreSystemInterface.mm:
3548         Pass first party URL down, because reading cookies depends on it when this policy
3549         in in action.
3550
3551         * platform/network/cf/CookieJarCFNet.cpp:
3552         (WebCore::copyCookiesForURLWithFirstPartyURL):
3553         (WebCore::cookiesForDOM):
3554         (WebCore::cookieRequestHeaderFieldValue):
3555         (WebCore::cookiesEnabled):
3556         (WebCore::getRawCookies):
3557         Use a new CFNetwork API that takes first party URL.
3558
3559         * platform/network/mac/CookieJarMac.mm:
3560         (WebCore::cookiesForDOM):
3561         (WebCore::cookieRequestHeaderFieldValue):
3562         (WebCore::cookiesEnabled):
3563         (WebCore::getRawCookies):
3564         (WebCore::deleteCookie):
3565         Pass first party URL (and null in deleteCookie, as there is none).
3566
3567         * platform/network/mac/ResourceHandleMac.mm:
3568         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
3569         Removed a call to shouldRelaxThirdPartyCookiePolicy(), which no longer exists
3570         in trunk.
3571
3572 2014-01-16  Andy Estes  <aestes@apple.com>
3573
3574         Fix the iOS build after r162150.
3575
3576         * platform/graphics/cg/GraphicsContextCG.cpp:
3577         (WebCore::GraphicsContext::platformInit):
3578
3579 2014-01-16  Dean Jackson  <dino@apple.com>
3580
3581         glReadPixels should use UNSIGNED_BYTE on iOS
3582         https://bugs.webkit.org/show_bug.cgi?id=127148
3583
3584         Reviewed by Benjamin Poulain.
3585
3586         We were incorrectly mapping GL_UNSIGNED_INT_8_8_8_8_REV to
3587         GL_RGBA on iOS. It's only used in glReadPixels, so should
3588         be GL_UNSIGNED_BYTE.
3589
3590         This is covered by lots of tests in the Khronos test suite,
3591         that now pass on iOS.
3592
3593         * platform/graphics/ios/GraphicsContext3DIOS.h:
3594
3595 2014-01-16  Anders Carlsson  <andersca@apple.com>
3596
3597         Change all uses of FINAL to final now that all our compilers support it
3598         https://bugs.webkit.org/show_bug.cgi?id=127142
3599
3600         Reviewed by Benjamin Poulain.
3601
3602         * Modules/encryptedmedia/MediaKeySession.h:
3603         * Modules/indexeddb/IDBCursorBackendOperations.h:
3604         * Modules/indexeddb/IDBDatabase.h:
3605         * Modules/indexeddb/IDBDatabaseCallbacksImpl.h:
3606         * Modules/indexeddb/IDBRequest.h:
3607         * Modules/indexeddb/IDBTransaction.h:
3608         * Modules/indexeddb/IDBTransactionBackendOperations.h:
3609         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
3610         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
3611         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
3612         * Modules/mediasource/MediaSource.h:
3613         * Modules/mediasource/MediaSourceRegistry.h:
3614         * Modules/mediasource/SourceBuffer.h:
3615         * Modules/mediasource/SourceBufferList.h:
3616         * Modules/mediastream/AudioStreamTrack.h:
3617         * Modules/mediastream/MediaStream.h:
3618         * Modules/mediastream/MediaStreamRegistry.h:
3619         * Modules/mediastream/MediaStreamTrack.h:
3620         * Modules/mediastream/RTCDTMFSender.h:
3621         * Modules/mediastream/RTCDataChannel.h:
3622         * Modules/mediastream/RTCPeerConnection.h:
3623         * Modules/mediastream/UserMediaRequest.h:
3624         * Modules/mediastream/VideoStreamTrack.h:
3625         * Modules/notifications/Notification.h:
3626         * Modules/speech/SpeechSynthesisUtterance.h:
3627         * Modules/webaudio/AudioContext.h:
3628         * Modules/webaudio/AudioNode.h:
3629         * Modules/websockets/WebSocket.h:
3630         * accessibility/AccessibilityList.h:
3631         * accessibility/AccessibilityListBoxOption.h:
3632         * accessibility/AccessibilityNodeObject.h:
3633         * accessibility/AccessibilitySearchFieldButtons.h:
3634         * accessibility/AccessibilitySlider.h:
3635         * bindings/js/JSCryptoAlgorithmBuilder.h:
3636         * bindings/js/JSCryptoKeySerializationJWK.h:
3637         * bindings/js/JSDOMGlobalObjectTask.cpp:
3638         * bindings/js/JSDOMGlobalObjectTask.h:
3639         * bindings/js/JSLazyEventListener.h:
3640         * bindings/js/ScriptDebugServer.h:
3641         * bindings/js/WorkerScriptDebugServer.h:
3642         * crypto/algorithms/CryptoAlgorithmAES_CBC.h:
3643         * crypto/algorithms/CryptoAlgorithmAES_KW.h:
3644         * crypto/algorithms/CryptoAlgorithmHMAC.h:
3645         * crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h:
3646         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
3647         * crypto/algorithms/CryptoAlgorithmRSA_OAEP.h:
3648         * crypto/algorithms/CryptoAlgorithmSHA1.h:
3649         * crypto/algorithms/CryptoAlgorithmSHA224.h:
3650         * crypto/algorithms/CryptoAlgorithmSHA256.h:
3651         * crypto/algorithms/CryptoAlgorithmSHA384.h:
3652         * crypto/algorithms/CryptoAlgorithmSHA512.h:
3653         * crypto/keys/CryptoKeyAES.h:
3654         * crypto/keys/CryptoKeyDataOctetSequence.h:
3655         * crypto/keys/CryptoKeyDataRSAComponents.h:
3656         * crypto/keys/CryptoKeyHMAC.h:
3657         * crypto/keys/CryptoKeyRSA.h:
3658         * crypto/keys/CryptoKeySerializationRaw.h:
3659         * crypto/parameters/CryptoAlgorithmAesCbcParams.h:
3660         * crypto/parameters/CryptoAlgorithmAesKeyGenParams.h:
3661         * crypto/parameters/CryptoAlgorithmHmacKeyParams.h:
3662         * crypto/parameters/CryptoAlgorithmHmacParams.h:
3663         * crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h:
3664         * crypto/parameters/CryptoAlgorithmRsaKeyParamsWithHash.h:
3665         * crypto/parameters/CryptoAlgorithmRsaOaepParams.h:
3666         * crypto/parameters/CryptoAlgorithmRsaSsaParams.h:
3667         * css/CSSCanvasValue.h:
3668         * css/CSSFontSelector.h:
3669         * css/CSSStyleSheet.h:
3670         * dom/Attr.h:
3671         * dom/BeforeUnloadEvent.h:
3672         * dom/CDATASection.h:
3673         * dom/CharacterData.h:
3674         * dom/ChildNodeList.h:
3675         * dom/Clipboard.cpp:
3676         * dom/Comment.h:
3677         * dom/DatasetDOMStringMap.h:
3678         * dom/Document.h:
3679         * dom/DocumentEventQueue.cpp:
3680         * dom/DocumentEventQueue.h:
3681         * dom/DocumentType.h:
3682         * dom/Element.h:
3683         * dom/EntityReference.h:
3684         * dom/EventContext.h:
3685         * dom/EventTarget.h:
3686         * dom/FocusEvent.h:
3687         * dom/LiveNodeList.h:
3688         * dom/MessagePort.h:
3689         * dom/MouseEvent.h:
3690         * dom/Node.h:
3691         * dom/Notation.h:
3692         * dom/ProcessingInstruction.h:
3693         * dom/PseudoElement.h:
3694         * dom/ShadowRoot.h:
3695         * dom/StaticNodeList.h:
3696         * dom/StyledElement.h:
3697         * dom/TemplateContentDocumentFragment.h:
3698         * dom/Text.h:
3699         * dom/WebKitNamedFlow.h:
3700         * editing/ios/EditorIOS.mm:
3701         * editing/mac/EditorMac.mm:
3702         * editing/markup.cpp:
3703         * fileapi/Blob.cpp:
3704         * fileapi/FileReader.h:
3705         * html/ClassList.h:
3706         * html/DOMSettableTokenList.h:
3707         * html/FTPDirectoryDocument.cpp:
3708         * html/FormAssociatedElement.cpp:
3709         * html/FormAssociatedElement.h:
3710         * html/HTMLAllCollection.h:
3711         * html/HTMLAnchorElement.h:
3712         * html/HTMLAppletElement.h:
3713         * html/HTMLAreaElement.h:
3714         * html/HTMLAudioElement.h:
3715         * html/HTMLBDIElement.h:
3716         * html/HTMLBRElement.h:
3717         * html/HTMLBaseElement.h:
3718         * html/HTMLBaseFontElement.h:
3719         * html/HTMLBodyElement.h:
3720         * html/HTMLButtonElement.h:
3721         * html/HTMLCanvasElement.h:
3722         * html/HTMLDListElement.h:
3723         * html/HTMLDataListElement.h:
3724         * html/HTMLDetailsElement.h:
3725         * html/HTMLDirectoryElement.h:
3726         * html/HTMLDocument.h:
3727         * html/HTMLElement.h:
3728         * html/HTMLEmbedElement.h:
3729         * html/HTMLFieldSetElement.h:
3730         * html/HTMLFontElement.h:
3731         * html/HTMLFormControlElement.h:
3732         * html/HTMLFormElement.h:
3733         * html/HTMLFrameElement.h:
3734         * html/HTMLFrameSetElement.h:
3735         * html/HTMLHRElement.h:
3736         * html/HTMLHeadElement.h:
3737         * html/HTMLHeadingElement.h:
3738         * html/HTMLHtmlElement.h:
3739         * html/HTMLIFrameElement.h:
3740         * html/HTMLImageElement.h:
3741         * html/HTMLInputElement.h:
3742         * html/HTMLKeygenElement.cpp:
3743         * html/HTMLKeygenElement.h:
3744         * html/HTMLLIElement.h:
3745         * html/HTMLLabelElement.h:
3746         * html/HTMLLegendElement.h:
3747         * html/HTMLLinkElement.h:
3748         * html/HTMLMapElement.h:
3749         * html/HTMLMarqueeElement.h:
3750         * html/HTMLMenuElement.h:
3751         * html/HTMLMetaElement.h:
3752         * html/HTMLMeterElement.h:
3753         * html/HTMLModElement.h:
3754         * html/HTMLNameCollection.h:
3755         * html/HTMLOListElement.h:
3756         * html/HTMLObjectElement.h:
3757         * html/HTMLOptGroupElement.h:
3758         * html/HTMLOptionElement.h:
3759         * html/HTMLOptionsCollection.h:
3760         * html/HTMLOutputElement.h:
3761         * html/HTMLParagraphElement.h:
3762         * html/HTMLParamElement.h:
3763         * html/HTMLPlugInElement.h:
3764         * html/HTMLPreElement.h:
3765         * html/HTMLProgressElement.h:
3766         * html/HTMLQuoteElement.h:
3767         * html/HTMLScriptElement.h:
3768         * html/HTMLSelectElement.h:
3769         * html/HTMLSourceElement.h:
3770         * html/HTMLStyleElement.h:
3771         * html/HTMLSummaryElement.h:
3772         * html/HTMLTableCaptionElement.h:
3773         * html/HTMLTableCellElement.h:
3774         * html/HTMLTableColElement.h:
3775         * html/HTMLTableElement.h:
3776         * html/HTMLTableRowElement.h:
3777         * html/HTMLTableRowsCollection.h:
3778         * html/HTMLTableSectionElement.h:
3779         * html/HTMLTemplateElement.h:
3780         * html/HTMLTextAreaElement.h:
3781         * html/HTMLTextFormControlElement.h:
3782         * html/HTMLTitleElement.h:
3783         * html/HTMLTrackElement.h:
3784         * html/HTMLUListElement.h:
3785         * html/HTMLUnknownElement.h:
3786         * html/HTMLVideoElement.h:
3787         * html/HTMLViewSourceDocument.h:
3788         * html/ImageDocument.cpp:
3789         * html/ImageDocument.h:
3790         * html/LabelableElement.h:
3791         * html/LabelsNodeList.h:
3792         * html/MediaController.h:
3793         * html/MediaDocument.cpp:
3794         * html/MediaDocument.h:
3795         * html/MediaFragmentURIParser.h:
3796         * html/PluginDocument.cpp:
3797         * html/PluginDocument.h:
3798         * html/RangeInputType.h:
3799         * html/TextDocument.h:
3800         * html/parser/TextDocumentParser.h:
3801         * html/parser/TextViewSourceParser.h:
3802         * html/shadow/DetailsMarkerControl.h:
3803         * html/shadow/MediaControlElementTypes.h:
3804         * html/shadow/MediaControlElements.h:
3805         * html/shadow/MeterShadowElement.h:
3806         * html/shadow/ProgressShadowElement.h:
3807         * html/shadow/SliderThumbElement.h:
3808         * html/shadow/SpinButtonElement.h:
3809         * html/shadow/TextControlInnerElements.h:
3810         * html/shadow/YouTubeEmbedShadowElement.h:
3811         * html/track/TextTrack.h:
3812         * html/track/TextTrackCue.h:
3813         * html/track/TextTrackCueGeneric.cpp:
3814         * html/track/TextTrackCueGeneric.h:
3815         * html/track/TrackListBase.h:
3816         * html/track/WebVTTElement.h:
3817         * inspector/CommandLineAPIModule.h:
3818         * inspector/InjectedScriptCanvasModule.h:
3819         * inspector/InspectorConsoleAgent.cpp:
3820         * inspector/InspectorController.h:
3821         * inspector/InspectorDebuggerAgent.h:
3822         * inspector/PageConsoleAgent.cpp:
3823         * inspector/PageInjectedScriptHost.h:
3824         * inspector/PageInjectedScriptManager.h:
3825         * inspector/WorkerInspectorController.h:
3826         * loader/SinkDocument.cpp:
3827         * loader/SinkDocument.h:
3828         * loader/appcache/DOMApplicationCache.h:
3829         * loader/cache/CachedCSSStyleSheet.h:
3830         * loader/cache/CachedFont.h:
3831         * loader/cache/CachedRawResource.h:
3832         * loader/cache/CachedSVGDocument.h:
3833         * loader/cache/CachedScript.h:
3834         * loader/cache/CachedShader.h:
3835         * loader/cache/CachedTextTrack.h:
3836         * loader/cache/CachedXSLStyleSheet.h:
3837         * loader/icon/IconLoader.h:
3838         * mathml/MathMLSelectElement.h:
3839         * page/DOMTimer.h:
3840         * page/DOMWindow.h:
3841         * page/EventSource.h:
3842         * page/Frame.h:
3843         * page/FrameView.h:
3844         * page/MainFrame.h:
3845         * page/PageDebuggable.h:
3846         * page/PageSerializer.cpp:
3847         * page/Performance.h:
3848         * page/SuspendableTimer.h:
3849         * page/animation/KeyframeAnimation.h:
3850         * page/scrolling/ScrollingStateFixedNode.h:
3851         * page/scrolling/ScrollingStateScrollingNode.h:
3852         * page/scrolling/ScrollingStateStickyNode.h:
3853         * platform/ClockGeneric.h:
3854         * platform/efl/ScrollbarThemeEfl.h:
3855         * platform/graphics/BitmapImage.h:
3856         * platform/graphics/CrossfadeGeneratedImage.h:
3857         * platform/graphics/GradientImage.h:
3858         * platform/graphics/SimpleFontData.h:
3859         * platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.h:
3860         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
3861         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
3862         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
3863         * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.h:
3864         * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.h:
3865         * platform/graphics/ca/mac/PlatformCALayerMac.h:
3866         * platform/graphics/ca/win/PlatformCALayerWin.h:
3867         * platform/graphics/cg/PDFDocumentImage.h:
3868         * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h:
3869         * platform/graphics/gstreamer/MediaSourceGStreamer.h:
3870         * platform/graphics/gstreamer/SourceBufferPrivateGStreamer.h:
3871         * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h:
3872         * platform/ios/WebSafeGCActivityCallbackIOS.h:
3873         * platform/ios/WebSafeIncrementalSweeperIOS.h:
3874         * platform/mac/PlatformClockCA.h:
3875         * platform/mac/PlatformClockCM.h:
3876         * platform/mac/ScrollAnimatorMac.h:
3877         * platform/mediastream/MediaStreamTrackPrivate.h:
3878         * platform/mediastream/mac/MediaStreamCenterMac.h:
3879         * platform/mock/MockMediaStreamCenter.h:
3880         * platform/mock/RTCDataChannelHandlerMock.h:
3881         * platform/mock/RTCPeerConnectionHandlerMock.h:
3882         * platform/mock/mediasource/MockBox.h:
3883         * platform/mock/mediasource/MockMediaSourcePrivate.h:
3884         * platform/mock/mediasource/MockSourceBufferPrivate.cpp:
3885         * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h:
3886         * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h:
3887         * platform/text/LocaleNone.cpp:
3888         * platform/text/PlatformLocale.cpp:
3889         * rendering/EllipsisBox.h:
3890         * rendering/FilterEffectRenderer.h:
3891         * rendering/InlineElementBox.h:
3892         * rendering/InlineFlowBox.h:
3893         * rendering/InlineTextBox.h:
3894         * rendering/RenderBlock.h:
3895         * rendering/RenderBlockFlow.h:
3896         * rendering/RenderBox.cpp:
3897         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
3898         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
3899         * rendering/RenderBox.h:
3900         * rendering/RenderButton.h:
3901         * rendering/RenderCombineText.h:
3902         * rendering/RenderCounter.h:
3903         * rendering/RenderDeprecatedFlexibleBox.h:
3904         * rendering/RenderDetailsMarker.h:
3905         * rendering/RenderElement.h:
3906         * rendering/RenderEmbeddedObject.h:
3907         * rendering/RenderFieldset.h:
3908         * rendering/RenderFileUploadControl.h:
3909         * rendering/RenderFlexibleBox.h:
3910         * rendering/RenderFlowThread.h:
3911         * rendering/RenderFrame.h:
3912         * rendering/RenderFrameSet.h:
3913         * rendering/RenderFullScreen.cpp:
3914         * rendering/RenderFullScreen.h:
3915         * rendering/RenderGrid.h:
3916         * rendering/RenderHTMLCanvas.h:
3917         * rendering/RenderIFrame.h:
3918         * rendering/RenderImage.h:
3919         * rendering/RenderInline.h:
3920         * rendering/RenderLayer.h:
3921         * rendering/RenderLayerFilterInfo.h:
3922         * rendering/RenderLineBreak.h:
3923         * rendering/RenderListBox.h:
3924         * rendering/RenderListItem.h:
3925         * rendering/RenderListMarker.h:
3926         * rendering/RenderMedia.h:
3927         * rendering/RenderMediaControlElements.h:
3928         * rendering/RenderMenuList.h:
3929         * rendering/RenderMeter.h:
3930         * rendering/RenderMultiColumnBlock.h:
3931         * rendering/RenderMultiColumnFlowThread.h:
3932         * rendering/RenderMultiColumnSet.h:
3933         * rendering/RenderNamedFlowFragment.h:
3934         * rendering/RenderNamedFlowThread.h:
3935         * rendering/RenderProgress.h:
3936         * rendering/RenderQuote.h:
3937         * rendering/RenderRegion.h:
3938         * rendering/RenderRegionSet.h:
3939         * rendering/RenderReplaced.h:
3940         * rendering/RenderReplica.h:
3941         * rendering/RenderRuby.h:
3942         * rendering/RenderRubyBase.h:
3943         * rendering/RenderRubyRun.h:
3944         * rendering/RenderRubyText.h:
3945         * rendering/RenderScrollbar.h:
3946         * rendering/RenderScrollbarPart.h:
3947         * rendering/RenderSearchField.h:
3948         * rendering/RenderSlider.h:
3949         * rendering/RenderSnapshottedPlugIn.h:
3950         * rendering/RenderTable.h:
3951         * rendering/RenderTableCaption.h:
3952         * rendering/RenderTableCell.h:
3953         * rendering/RenderTableCol.h:
3954         * rendering/RenderTableRow.h:
3955         * rendering/RenderTableSection.h:
3956         * rendering/RenderText.h:
3957         * rendering/RenderTextControl.h:
3958         * rendering/RenderTextControlMultiLine.h:
3959         * rendering/RenderTextControlSingleLine.h:
3960         * rendering/RenderTextFragment.h:
3961         * rendering/RenderTextTrackCue.h:
3962         * rendering/RenderVideo.h:
3963         * rendering/RenderView.h:
3964         * rendering/RenderWidget.h:
3965         * rendering/RootInlineBox.h:
3966         * rendering/TrailingFloatsRootInlineBox.h:
3967         * rendering/mathml/RenderMathMLBlock.h:
3968         * rendering/mathml/RenderMathMLFenced.h:
3969         * rendering/mathml/RenderMathMLFraction.h:
3970         * rendering/mathml/RenderMathMLMath.h:
3971         * rendering/mathml/RenderMathMLOperator.h:
3972         * rendering/mathml/RenderMathMLRoot.h:
3973         * rendering/mathml/RenderMathMLRow.h:
3974         * rendering/mathml/RenderMathMLScripts.h:
3975         * rendering/mathml/RenderMathMLSpace.h:
3976         * rendering/mathml/RenderMathMLSquareRoot.h:
3977         * rendering/shapes/ShapeInsideInfo.h:
3978         * rendering/shapes/ShapeOutsideInfo.h:
3979         * rendering/style/ContentData.h:
3980         * rendering/style/StyleCachedImage.h:
3981         * rendering/style/StyleCachedImageSet.h:
3982         * rendering/style/StyleGeneratedImage.h:
3983         * rendering/svg/RenderSVGBlock.h:
3984         * rendering/svg/RenderSVGContainer.h:
3985         * rendering/svg/RenderSVGEllipse.h:
3986         * rendering/svg/RenderSVGForeignObject.h:
3987         * rendering/svg/RenderSVGGradientStop.h:
3988         * rendering/svg/RenderSVGHiddenContainer.h:
3989         * rendering/svg/RenderSVGImage.h:
3990         * rendering/svg/RenderSVGInline.h:
3991         * rendering/svg/RenderSVGInlineText.h:
3992         * rendering/svg/RenderSVGModelObject.h:
3993         * rendering/svg/RenderSVGPath.h:
3994         * rendering/svg/RenderSVGRect.h:
3995         * rendering/svg/RenderSVGResourceClipper.h:
3996         * rendering/svg/RenderSVGResourceContainer.h:
3997         * rendering/svg/RenderSVGResourceFilter.h:
3998         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
3999         * rendering/svg/RenderSVGResourceGradient.h:
4000         * rendering/svg/RenderSVGResourceLinearGradient.h:
4001         * rendering/svg/RenderSVGResourceMarker.h:
4002         * rendering/svg/RenderSVGResourceMasker.h:
4003         * rendering/svg/RenderSVGResourcePattern.h:
4004         * rendering/svg/RenderSVGResourceRadialGradient.h:
4005         * rendering/svg/RenderSVGRoot.h:
4006         * rendering/svg/RenderSVGShape.cpp:
4007         * rendering/svg/RenderSVGShape.h:
4008         * rendering/svg/RenderSVGTSpan.h:
4009         * rendering/svg/RenderSVGText.h:
4010         * rendering/svg/RenderSVGTextPath.h:
4011         * rendering/svg/RenderSVGTransformableContainer.h:
4012         * rendering/svg/RenderSVGViewportContainer.h:
4013         * rendering/svg/SVGInlineFlowBox.h:
4014         * rendering/svg/SVGInlineTextBox.h:
4015         * rendering/svg/SVGRootInlineBox.h:
4016         * rendering/svg/SVGTextRunRenderingContext.h:
4017         * svg/SVGAElement.h:
4018         * svg/SVGAltGlyphDefElement.h:
4019         * svg/SVGAltGlyphElement.h:
4020         * svg/SVGAltGlyphItemElement.h:
4021         * svg/SVGAnimateColorElement.h:
4022         * svg/SVGAnimateMotionElement.h:
4023         * svg/SVGAnimateTransformElement.h:
4024         * svg/SVGAnimatedAngle.h:
4025         * svg/SVGAnimatedBoolean.h:
4026         * svg/SVGAnimatedColor.h:
4027         * svg/SVGAnimatedEnumeration.h:
4028         * svg/SVGAnimatedInteger.h:
4029         * svg/SVGAnimatedIntegerOptionalInteger.h:
4030         * svg/SVGAnimatedLength.h:
4031         * svg/SVGAnimatedLengthList.h:
4032         * svg/SVGAnimatedNumber.h:
4033         * svg/SVGAnimatedNumberList.h:
4034         * svg/SVGAnimatedNumberOptionalNumber.h:
4035         * svg/SVGAnimatedPath.h:
4036         * svg/SVGAnimatedPointList.h:
4037         * svg/SVGAnimatedPreserveAspectRatio.h:
4038         * svg/SVGAnimatedRect.h:
4039         * svg/SVGAnimatedString.h:
4040         * svg/SVGAnimatedTransformList.h:
4041         * svg/SVGCircleElement.h:
4042         * svg/SVGClipPathElement.h:
4043         * svg/SVGCursorElement.h:
4044         * svg/SVGDefsElement.h:
4045         * svg/SVGDescElement.h:
4046         * svg/SVGDocument.h:
4047         * svg/SVGElement.h:
4048         * svg/SVGEllipseElement.h:
4049         * svg/SVGFEBlendElement.h:
4050         * svg/SVGFEColorMatrixElement.h:
4051         * svg/SVGFEComponentTransferElement.h:
4052         * svg/SVGFECompositeElement.h:
4053         * svg/SVGFEConvolveMatrixElement.h:
4054         * svg/SVGFEDiffuseLightingElement.h:
4055         * svg/SVGFEDisplacementMapElement.h:
4056         * svg/SVGFEDistantLightElement.h:
4057         * svg/SVGFEDropShadowElement.h:
4058         * svg/SVGFEFloodElement.h:
4059         * svg/SVGFEFuncAElement.h:
4060         * svg/SVGFEFuncBElement.h:
4061         * svg/SVGFEFuncGElement.h:
4062         * svg/SVGFEFuncRElement.h:
4063         * svg/SVGFEGaussianBlurElement.h:
4064         * svg/SVGFEImageElement.h:
4065         * svg/SVGFEMergeElement.h:
4066         * svg/SVGFEMergeNodeElement.h:
4067         * svg/SVGFEMorphologyElement.h:
4068         * svg/SVGFEOffsetElement.h:
4069         * svg/SVGFEPointLightElement.h:
4070         * svg/SVGFESpecularLightingElement.h:
4071         * svg/SVGFESpotLightElement.h:
4072         * svg/SVGFETileElement.h:
4073         * svg/SVGFETurbulenceElement.h:
4074         * svg/SVGFilterElement.h:
4075         * svg/SVGFontElement.h:
4076         * svg/SVGFontFaceElement.h:
4077         * svg/SVGFontFaceFormatElement.h:
4078         * svg/SVGFontFaceNameElement.h:
4079         * svg/SVGFontFaceSrcElement.h:
4080         * svg/SVGFontFaceUriElement.h:
4081         * svg/SVGForeignObjectElement.h:
4082         * svg/SVGGElement.h:
4083         * svg/SVGGlyphElement.h: